-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Make llvm-libunwind a per-target option #93604
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
cc @12101111 |
config.toml.example
Outdated
# means static link to the in-tree build of llvm libunwind, and 'system' means | ||
# static link to `libunwind.a` provided by system. Due to the limitation of glibc, | ||
# it must link to `libgcc_eh.a` to get a working output, and this option have no effect. | ||
# Global default for llvm-libunwind for all targets. Overrides target default. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not expect this to override the target default? Unless I'm misunderstanding, I would expect us to have:
- target.llvm-libunwind (if set)
- (global) llvm-libunwind (if set)
- target.llvm-libunwind (default)
- (global) llvm-unwind (default)
as the rough order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe just essentially inlining my list as-is? Maybe saying something like "Note that the target-specific option llvm-libunwind will override this if set" would work too. "Overrides target default" to me feels a little unclear -- I think it can only mean one thing on a second reading, but the initial implication seems confusing, maybe because it is saying something that sounds obviously true to me :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Went with your second suggestion, is this more clear?
1e70caa
to
42624ba
Compare
Yes, seems great. @bors r+ rollup |
📌 Commit 42624ba has been approved by |
…r=Mark-Simulacrum Use in-tree libunwind by default on Fuchsia Fuchsia doesn't ship libunwind in its SDK, so we must provide it statically.
…r=Mark-Simulacrum Use in-tree libunwind by default on Fuchsia Fuchsia doesn't ship libunwind in its SDK, so we must provide it statically.
☔ The latest upstream changes (presumably #94916) made this pull request unmergeable. Please resolve the merge conflicts. |
42624ba
to
9d857d9
Compare
9d857d9
to
f1e3d40
Compare
Since this hit a snag building llvm-libunwind in Rust CI, I've taken out the Fuchsia-specific code from this PR so we can land the per-target logic. |
@bors r=Mark-Simulacrum |
📌 Commit f1e3d40 has been approved by |
Rollup of 5 pull requests Successful merges: - rust-lang#93604 (Make llvm-libunwind a per-target option) - rust-lang#97026 (Change orderings of `Debug` for the Atomic types to `Relaxed`.) - rust-lang#97105 (Add tests for lint on type dependent on consts) - rust-lang#97323 (Introduce stricter checks for might_permit_raw_init under a debug flag ) - rust-lang#97379 (Add aliases for `current_dir`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
…, r=tmandry Use llvm-libunwind="in-tree" for Fuchsia targets With updates to Fuchsia CI's Zircon libraries rust-lang#99833, we can introduce `llvm-libunwind="in-tree"` for Fuchsia targets. This PR restores functionality removed from rust-lang#93604 (comment). cc `@tmandry` `@djkoloski`
Fuchsia doesn't ship libunwind in its SDK, so we must provide it statically.