Skip to content

Commit 80b772c

Browse files
committed
Auto merge of rust-lang#104385 - BlackHoleFox:apple-minimum-bumps, r=petrochenkov
Raise minimum supported Apple OS versions This implements the proposal to raise the minimum supported Apple OS versions as laid out in the now-completed MCP (rust-lang/compiler-team#556). As of this PR, rustc and the stdlib now support these versions as the baseline: - macOS: 10.12 Sierra - iOS: 10 - tvOS: 10 - watchOS: 5 (Unchanged) In addition to everything this breaks indirectly, these changes also erase the `armv7-apple-ios` target (currently tier 3) because the oldest supported iOS device now uses ARMv7s. Not sure what the policy around tier3 target removal is but shimming it is not an option due to the linker refusing. [Per comment](rust-lang/compiler-team#556 (comment)), this requires a FCP to merge. cc `@wesleywiser.`
2 parents a72ce78 + 3a283e4 commit 80b772c

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

std/src/sys/unix/thread_local_dtor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern "C" fn(*mut u8)) {
4848
// workaround below is to register, via _tlv_atexit, a custom DTOR list once per
4949
// thread. thread_local dtors are pushed to the DTOR list without calling
5050
// _tlv_atexit.
51-
#[cfg(target_os = "macos")]
51+
#[cfg(any(target_os = "macos", target_os = "ios", target_os = "watchos"))]
5252
pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern "C" fn(*mut u8)) {
5353
use crate::cell::Cell;
5454
use crate::mem;

std/src/sys/unix/thread_parking/darwin.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
//!
33
//! Darwin actually has futex syscalls (`__ulock_wait`/`__ulock_wake`), but they
44
//! cannot be used in `std` because they are non-public (their use will lead to
5-
//! rejection from the App Store) and because they are only available starting
6-
//! with macOS version 10.12, even though the minimum target version is 10.7.
5+
//! rejection from the App Store).
76
//!
87
//! Therefore, we need to look for other synchronization primitives. Luckily, Darwin
98
//! supports semaphores, which allow us to implement the behaviour we need with

0 commit comments

Comments
 (0)