Skip to content

[5.5] Link the concurrency runtime against libatomic on Linux and Android #38523

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

rjmccall
Copy link
Contributor

@rjmccall rjmccall commented Jul 20, 2021

5.5 version of #38501 and #38508. Hopefully unblocks daily toolchains.

Fixes rdar://80799993.

rjmccall added 2 commits July 20, 2021 19:17
We mostly get away without this because we're fairly disciplined
about using constant memory orderings, and apparently that's
usually good enough to get inline accesses and avoid needing to
link atomic.  However, we have a few places with the task status
atomic that use a non-constant load ordering with load and
compare_exchange_weak, and my recent change to make that atomic
a double-word was apparently sufficient on some (but not all)
Linux distributions to get the compiler to call the runtime
function.  Regardless, we shouldn't be playing around in the
margins here: Linux requires us to link libatomic, so we should.
@rjmccall rjmccall requested a review from a team as a code owner July 20, 2021 23:19
@rjmccall
Copy link
Contributor Author

@swift-ci Please test

@rjmccall rjmccall requested a review from compnerd July 20, 2021 23:20
@rjmccall
Copy link
Contributor Author

Windows failure is unrelated

@DougGregor DougGregor merged commit 13da0b6 into swiftlang:release/5.5 Jul 21, 2021
@rjmccall rjmccall deleted the link-libatomic-concurrency-5.5 branch July 21, 2021 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants