Apply path remapping to DW_AT_GNU_dwo_name

This commit is contained in:
Andy Wang 2021-12-05 20:49:23 +00:00
parent efec545293
commit e5796c46de
No known key found for this signature in database
GPG Key ID: 181B49F9F38F3374
2 changed files with 16 additions and 4 deletions

View File

@ -1057,9 +1057,12 @@ pub fn compile_unit_metadata(
let output_filenames = tcx.output_filenames(());
let out_dir = &output_filenames.out_directory;
let split_name = if tcx.sess.target_can_use_split_dwarf() {
output_filenames
.split_dwarf_path(tcx.sess.split_debuginfo(), Some(codegen_unit_name))
.map(|f| out_dir.join(f))
output_filenames.split_dwarf_path(tcx.sess.split_debuginfo(), Some(codegen_unit_name)).map(
|f| {
let joined = out_dir.join(f);
tcx.sess.source_map().path_mapping().map_prefix(joined).0
},
)
} else {
None
}

View File

@ -2,7 +2,16 @@
# only-linux
all:
all: packed remapped
remapped:
$(RUSTC) -Z unstable-options -C split-debuginfo=packed -C debuginfo=2 --remap-path-prefix $$PWD= foo.rs -g
objdump -Wi $(TMPDIR)/foo | grep $$PWD && exit 1 || exit 0
$(RUSTC) -Z unstable-options -C split-debuginfo=unpacked -C debuginfo=2 --remap-path-prefix $$PWD= foo.rs -g
objdump -Wi $(TMPDIR)/foo | grep $$PWD && exit 1 || exit 0
packed:
$(RUSTC) -Z unstable-options -C split-debuginfo=packed -C debuginfo=2 foo.rs -g
rm $(TMPDIR)/foo.dwp
rm $(TMPDIR)/$(call BIN,foo)