-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5. #53239
Conversation
This hack was removed in rust-lang#50949, but without it I found that building `std` with full debuginfo would print many LLVM `DW_OP_LLVM_fragment` errors, then die `LLVM ERROR: Failed to strip malformed debug info`. It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack just for older LLVM. This reverts commit da579ef. Fixes rust-lang#53204. r? @eddyb
@bors r+ This sucks, but maybe LLVM 5.x won't stay too long with us. |
📌 Commit 763e721 has been approved by |
As soon as RHEL starts shipping with LLVM6 (or newer) I'll open a new issue to update the minimum rust LLVM version to LLVM 6 |
Base RHEL doesn't really ship a usable LLVM at all, but I can put a newer version in EPEL7 for Rust when needed, and our toolset SCLs have their own. The more immediate problem for me is that Fedora 27 only has LLVM 5 and will be more annoying to update, but that will go out of support shortly after F29 is released, probably in December. |
I'm nominating this for beta too, because it's a regression in stable, and would be nice to have fixed in 1.29. I can just patch our builds if that's not accepted though, as I have for 1.28. |
rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5. This hack was removed in rust-lang#50949, but without it I found that building `std` with full debuginfo would print many LLVM `DW_OP_LLVM_fragment` errors, then die `LLVM ERROR: Failed to strip malformed debug info`. It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack just for older LLVM. This reverts commit da579ef. Fixes rust-lang#53204. r? @eddyb
rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5. This hack was removed in rust-lang#50949, but without it I found that building `std` with full debuginfo would print many LLVM `DW_OP_LLVM_fragment` errors, then die `LLVM ERROR: Failed to strip malformed debug info`. It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack just for older LLVM. This reverts commit da579ef. Fixes rust-lang#53204. r? @eddyb
Rollup of 11 pull requests Successful merges: - #53112 (pretty print BTreeSet) - #53208 (Don't panic on std::env::vars() when env is null.) - #53226 (driver: set the syntax edition in phase 1) - #53229 (Make sure rlimit is only ever increased) - #53233 (targets: aarch64: Add bare-metal aarch64 target) - #53239 (rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5.) - #53246 (A few cleanups) - #53257 (Idiomatic improvements to IP method) - #53274 (Remove statics field from CodegenCx) - #53290 (Make LLVM emit assembly comments with -Z asm-comments) - #53317 (Mark prior failure to avoid ICE)
Accepting for beta (cc @rust-lang/compiler) -- restoring previous code so ought to be ok, fixes regression. |
[beta] Rollup backports Merged and approved: * #53559: add macro check for lint * #53509: resolve: Reject some inaccessible candidates sooner during import resolution * #53239: rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5. * #53235: Feature gate where clauses on associated type impls * #53516: resolve: Continue search in outer scopes after applying derive resolution fallback r? @ghost
This hack was removed in #50949, but without it I found that building
std
with full debuginfo would print many LLVMDW_OP_LLVM_fragment
errors, then die
LLVM ERROR: Failed to strip malformed debug info
.It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack
just for older LLVM.
This reverts commit da579ef.
Fixes #53204.
r? @eddyb