-
Notifications
You must be signed in to change notification settings - Fork 13.3k
LTO, alloc and debug compilation problem #109934
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Labels
A-LLVM
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
Initial reduction for |
Filed llvm/llvm-project#61932. |
In https://reviews.llvm.org/D147620, dblaikie suggests that @rustbot claim |
This was referenced May 3, 2023
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
May 6, 2023
…michaelwoerister debuginfo: split method declaration and definition When we're adding a method to a type DIE, we only want a DW_AT_declaration there, because LLVM LTO can't unify type definitions when a child DIE is a full subprogram definition. Now the subprogram definition gets added at the CU level with a specification link back to the abstract declaration. Both GCC and Clang write debuginfo this way for C++ class methods. Fixes rust-lang#109730. Fixes rust-lang#109934.
ia0
referenced
this issue
in google/OpenSK
Sep 18, 2023
* Removes redundant entries from Cargo.toml This also fixes a compilation problem we have in debug mode with LTO enabled. * fix output-path triple dash
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Labels
A-LLVM
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
If you combine LTO, anything that uses alloc and debug compilation mode, the compiler fails.
The minimum example to reproduce is this
src/lib.rs
:With this
Cargo.toml
:To reproduce, run (or just use
+nightly
):You should see this error:
The above error does not reproduce for other compiler versions or options, all of the below work:
I found #109730 reporting something similar, but for them
--release
is throwing the error, so I opened a new issue instead.The text was updated successfully, but these errors were encountered: