Add -Z embed-source
(DWARFv5 source code embedding extension)
#764
Labels
major-change
A proposal to make a major change to rustc
major-change-accepted
A major change proposal that was accepted
T-compiler
Add this label so rfcbot knows to poll the compiler team
to-announce
Announce this issue on triage meeting
Proposal
DWARFv5 has an extension for embedding program source code directly into the debug info sections: https://dwarfstd.org/issues/180201.1.html
LLVM implements this extension, though it currently uses a custom pre-standardization attribute opcode.
Clang supports it through a -gembed-source flag but Rust does not expose this feature at the moment.
Implementing this seems straight-forward (rust-lang/rust#126985) but I'm not entirely sure how to deal with unsupported platforms.
-Z embed-source=yes
fail the build on non-DWARF or non-LLVM platforms?-Z embed-source=yes
automatically bump the DWARF version to v5 or should it require an explicit-Z dwarf-version=5
? Clang currently defaults to v4 and requires setting the DWARF version explicitly.-Z embed-source=yes
fail the build if-g
was not provided?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: