Skip to content

Conversation

@finagolfin
Copy link
Member

@finagolfin finagolfin commented Jan 9, 2025

Explanation: Android before API 29 and a few other platforms don't support native TLS, so fall back to LLVM's emulated TLS there, just like clang does. Also, make sure -Xcc -f{no-,}emulated-tls flags passed in are applied to control what the Swift compiler does.

Scope: Has no effect by default, except on Android API 28 or older, OpenBSD, and a couple other platforms Swift doesn't support

Issue: None

Original PR: #77883

Risk: very low

Testing: Passed all CI on trunk and now on my Android CI running at API 24, when built with the latest Jan. 10 trunk snapshot tag containing this commit

Reviewer: @compnerd

This will allow Foundation in my Android SDK bundle and native toolchain for Android to support APIs 24-28 again, finagolfin/swift-android-sdk#175.

Android before API 29 and a few other platforms don't support native TLS, so
fall back to LLVM's emulated TLS there, just like clang does. Also, make sure
`-Xcc -f{no-,}emulated-tls` flags passed in are applied to control what the
Swift compiler does.
@finagolfin finagolfin requested a review from a team as a code owner January 9, 2025 10:50
@finagolfin
Copy link
Member Author

@swift-ci please test

@finagolfin finagolfin added the 🍒 release cherry pick Flag: Release branch cherry picks label Jan 11, 2025
@finagolfin
Copy link
Member Author

@DougGregor, this is in trunk and 6.0 now, should get it in 6.1 also.

@finagolfin finagolfin merged commit 88c0a5d into swiftlang:release/6.1 Jan 15, 2025
5 checks passed
@finagolfin finagolfin deleted the droid branch January 15, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🍒 release cherry pick Flag: Release branch cherry picks swift 6.1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants