Skip to content

SwiftAsync: use runtime-provided flag for extended frame if back-deploying #3191

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
merged 2 commits into from
Sep 3, 2021

Conversation

TNorthover
Copy link

When back-deploying Swift async code we can't always toggle the flag showing an
extended frame is present because it will confuse unwinders on systems released
before this feature. So in cases where the code might run there, we or in a
mask provided by the runtime (as an absolute symbol) telling us whether the
unwinders can cope.

When deploying only for newer OSs, we can still hard-code the bit-set for
greater efficiency.

@TNorthover
Copy link
Author

@swift-ci please test

@TNorthover
Copy link
Author

@llvm-ci please test

@TNorthover
Copy link
Author

@swift-ci please test

TNorthover and others added 2 commits September 3, 2021 09:22
…oying

When back-deploying Swift async code we can't always toggle the flag showing an
extended frame is present because it will confuse unwinders on systems released
before this feature. So in cases where the code might run there, we `or` in a
mask provided by the runtime (as an absolute symbol) telling us whether the
unwinders can cope.

When deploying only for newer OSs, we can still hard-code the bit-set for
greater efficiency.

rdar://79357449
Since Xcode 13, ld64 requires linking libSystem for all the executable.
Fix the tests that needs to run ld64 by linking libSystem from sysroot.

rdar://77332728

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D104332
@TNorthover
Copy link
Author

@swift-ci please test

@TNorthover TNorthover merged commit bbc7b69 into apple/stable/20210107 Sep 3, 2021
aschwaighofer pushed a commit that referenced this pull request Sep 10, 2021
SwiftAsync: use runtime-provided flag for extended frame if back-deploying
aschwaighofer pushed a commit to aschwaighofer/llvm-project that referenced this pull request Sep 10, 2021
SwiftAsync: use runtime-provided flag for extended frame if back-deploying
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