Skip to content

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.

3 participants