Add support for specifying split-debuginfo=unpacked output directory #871
Labels
major-change
A proposal to make a major change to rustc
T-compiler
Add this label so rfcbot knows to poll the compiler team
Proposal
We've encountered users that depend on
.dwo
objects being directly-loadable by their debugger, rather than relying on the merged.dwp
file at the end of the build of the binary or test. A complicating factor is that we're using bazel with remote execution exclusively, so we have to be able to list either exact filenames or directories of a single type before executing any tools[0]. Originally we were using a helper binary that wrappedrustc
to move the.dwo
files to a known-upfront directory, but this breaks debugging (experimentallylldb
will print lots of warnings upon not finding thedwo
file,gdb
will just crash). As a result, we'd like a flag to control where the.dwo
files get written - in my draft patch I used-Zsplit-dwarf-out-dir=
but that's obviously open to revision.I'm not sure if we should land this now: one immediate concern I have is that we haven't yet done FDO/PGO work in bazel, and that seems like it might have similar interactions with the compiler. Semi-related past work: rust-lang/rust@aa91871 where we added support for writing summary bitcode for distributed ThinLTO.
0: bazel calls this the analysis phase - as contrasted with the execution phase. It's a hard constraint in bazel's design that all artifacts it will collect be listed out by name before the execution phase starts.
Mentors or Reviewers
The actual patches are simple enough I can probably self-mentor? Not sure who should review.
Process
The main points of the Major Change Process are as follows:
@rustbot second
.-C flag
, then full team check-off is required.@rfcbot fcp merge
on either the MCP or the PR.You can read more about Major Change Proposals on forge.
The text was updated successfully, but these errors were encountered: