crashpad/compat/mac/AvailabilityVersions.h
Mark Mentovai 9a5a789123 mac: Fix MacOSVersionNumber for 10.12.0 < version < 10.13.4
In 5412beb63386, I asserted (via my code) that the kern.osproductversion
sysctl was introduced in 10.12.0, but this was utterly wrong. It’s not
available until 10.13.4. Compare 10.13.3
xnu-4570.41.2/bsd/kern/kern_sysctl.c to 10.13.4
xnu-4570.51.1/bsd/kern/kern_sysctl.c, look for osproductversion.

https://pbs.twimg.com/media/EU0GDTVU4AY73KC.jpg

Failures appeared starting at
https://ci.chromium.org/p/chromium/builders/ci/Mac10.12%20Tests/37499
(https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8869605548532164608/+/steps/crashpad_tests_on_Intel_GPU_on_Mac_on_Mac-10.12.6/0/stdout).

This fixes expectations to not require kern.osproductversion to exist
until 10.13.4.

VM-tested on 10.12.6, 10.13.3, 10.13.4, and 10.14.0.

Bug: crashpad:347
Test: crashpad_util_test MacUtil.MacOSVersionNumber
Change-Id: Ic58d8ca8f04394d41c691dd2d946c59497ee71d5
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2402248
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
2020-09-10 13:53:29 +00:00

91 lines
1.6 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
#endif // CRASHPAD_COMPAT_MAC_AVAILABILITYVERSIONS_H_