-
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
Preserve split DWARF files when building archives. #106904
Conversation
This comment has been minimized.
This comment has been minimized.
The optimization that removes artifacts when building libraries is correct from the compiler's perspective but not from a debugger's perspective. Unpacked split debuginfo is referred to by filename and debuggers need the artifact that contains debuginfo to continue to exist at that path. Ironically the test expects the correct behavior but it was not running.
d4025ad
to
2b99b9f
Compare
@bors r+ |
…, r=davidtwco Preserve split DWARF files when building archives. r? `@davidtwco`
…, r=davidtwco Preserve split DWARF files when building archives. r? ``@davidtwco``
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#106904 (Preserve split DWARF files when building archives.) - rust-lang#106971 (Handle diagnostics customization on the fluent side (for one specific diagnostic)) - rust-lang#106978 (Migrate mir_build's borrow conflicts) - rust-lang#107150 (`ty::tls` cleanups) - rust-lang#107168 (Use a type-alias-impl-trait in `ObligationForest`) - rust-lang#107189 (Encode info for Adt in a single place.) - rust-lang#107322 (Custom mir: Add support for some remaining, easy to support constructs) - rust-lang#107323 (Disable ConstGoto opt in cleanup blocks) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Can you say more about what kinds of issues this was causing? On macOS, I haven't noticed any problems with lldb finding debuginfo for rlib dependencies. |
With |
Yes, but how does that manifest as a problem? Does a debugger stepping into a dependency just show assembly output? Why would macOS be different here? My understanding is that macOS just dumps a bunch of |
It shows as there being no debugging information for the relevant crate, no source, no function names, etc. Are you using split debuginfo on Mac? You haven't stated anything about your configuration yet. |
I'm using all defaults with Cargo, whose default is |
Ok, then cargo should take the
branch in order to leave the object files on the file system where the debugger can find them. |
Sorry, I'm not sure I follow. The debugger was finding the debuginfo fine before this PR. Historically, This PR changed it so that rlibs also leave |
I don't know, but I don't see how things would have worked on Mac before this change. |
r? @davidtwco