Skip to content

Introduce fake symbols that were present with the old concurrency ABI. #38088

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

DougGregor
Copy link
Member

Explanation: Introduce some fake symbols that were present in the older concurrency ABI but are gone now, to prevent load-time failures for code that doesn't use concurrency but nonetheless still needs to run.
Scope: Only affects binaries build against older _Concurrency modules
Radar/SR Issue: rdar://79315034
Risk: Low.
Testing: PR testing and CI on main to avoid regressions for normal configurations; extensive testing of mismatched SDKs/compilers for the problem this is trying to solve.
Original PR: #38075, but that's not intended to be merged to main because this is a short-term hack.

The concurrency ABI has shifted considerably, including renaming many
symbols. However, there remain some existing libraries that link
against these symbols and aren't necessarily immediately rebuilt. Add
some "fake" symbols for the ones that we need, so those existing
libraries can link against a new `_Concurrency` library... even though
the resulting binary would not be able to execute. This is a grotesque
hack and a stop-gap.

Speculative fix for rdar://79298287.
@DougGregor DougGregor requested a review from a team as a code owner June 24, 2021 20:30
@DougGregor
Copy link
Member Author

@swift-ci please test

@DougGregor
Copy link
Member Author

@swift-ci please nominate

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 477849f

@DougGregor
Copy link
Member Author

@swift-ci please test Linux

@tkremenek tkremenek merged commit 25a545c into swiftlang:release/5.5 Jun 25, 2021
@DougGregor DougGregor deleted the concurrency-link-compatibility-5.5 branch June 25, 2021 17:11
@AnthonyLatsis AnthonyLatsis added 🍒 release cherry pick Flag: Release branch cherry picks swift 5.5 labels Jan 8, 2023
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 5.5
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants