crashpad/compat/mac/AvailabilityVersions.h
Robert Sesek 10e82d5318 mac: Make crashpad build with the 12.0 SDK
The size of dyld_all_image_infos didn't change, but the last 128 bit
of `reserved` moved out of `reserved` and got names.

On 64-bit, that's straightforward -- just move two uint64s out of the
array into fields.

On 32-bit, it's fairly awkward: It's 4 of the uintptr_t `reserved`
array, which means `UIntPtr, reserved, [4]` would have to diverge
between 32-bit and 64-bit, and also shared_cache_fs_obj_id would
straddle the `end_v14` boundary. Since macOS 12.0 doesn't support
32-bit builds, just punt on this for 32-bit. (This might possibly
mean that crashpad-on-apple-watch might not compile, but that's
a build configuration that doesn't exist.)

See comment 9 and 6 on the bug.

Bug: crashpad:375, chromium:1265179
Change-Id: I221af20c59c30a8176d5685d3f5e84aaf3de9afe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3253742
Commit-Queue: Nico Weber <thakis@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Message-Id: Merged from chromium 83a01b8e2cd2d4d96b0e298d012bb3a2bd93c64f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3293642
Commit-Queue: Robert Sesek <rsesek@chromium.org>
2021-11-19 21:22:55 +00:00

97 lines
1.7 KiB
C

// Copyright 2020 The Crashpad Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef CRASHPAD_COMPAT_MAC_AVAILABILITYVERSIONS_H_
#define CRASHPAD_COMPAT_MAC_AVAILABILITYVERSIONS_H_
#if __has_include_next(<AvailabilityVersions.h>)
#include_next <AvailabilityVersions.h>
#endif
// 10.7 SDK
#ifndef __MAC_10_7
#define __MAC_10_7 1070
#endif
// 10.8 SDK
#ifndef __MAC_10_8
#define __MAC_10_8 1080
#endif
// 10.9 SDK
#ifndef __MAC_10_9
#define __MAC_10_9 1090
#endif
// 10.10 SDK
#ifndef __MAC_10_10
#define __MAC_10_10 101000
#endif
// 10.11 SDK
#ifndef __MAC_10_11
#define __MAC_10_11 101100
#endif
// 10.12 SDK
#ifndef __MAC_10_12
#define __MAC_10_12 101200
#endif
// 10.13 SDK
#ifndef __MAC_10_13
#define __MAC_10_13 101300
#endif
#ifndef __MAC_10_13_4
#define __MAC_10_13_4 101304
#endif
// 10.14 SDK
#ifndef __MAC_10_14
#define __MAC_10_14 101400
#endif
// 10.15 SDK
#ifndef __MAC_10_15
#define __MAC_10_15 101500
#endif
// 11.0 SDK
#ifndef __MAC_10_16
#define __MAC_10_16 101600
#endif
#ifndef __MAC_11_0
#define __MAC_11_0 110000
#endif
// 12.0 SDK
#ifndef __MAC_12_0
#define __MAC_12_0 120000
#endif
#endif // CRASHPAD_COMPAT_MAC_AVAILABILITYVERSIONS_H_