diff options
| author | Andy Wang <cbeuw.andy@gmail.com> | 2021-12-05 20:49:23 +0000 |
|---|---|---|
| committer | Andy Wang <cbeuw.andy@gmail.com> | 2021-12-05 20:49:23 +0000 |
| commit | e5796c46de20856f2eee0d8651572343d4fea9db (patch) | |
| tree | 4ebf751e5541b0d3c225b5b17140bf5bc6a23078 | |
| parent | efec545293b9263be9edfb283a7aa66350b3acbf (diff) | |
| download | rust-e5796c46de20856f2eee0d8651572343d4fea9db.tar.gz rust-e5796c46de20856f2eee0d8651572343d4fea9db.zip | |
Apply path remapping to DW_AT_GNU_dwo_name
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs | 9 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/split-dwarf/Makefile | 11 |
2 files changed, 16 insertions, 4 deletions
diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs index 10c7bb2eaea..f15f81a83b0 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs @@ -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 } diff --git a/src/test/run-make-fulldeps/split-dwarf/Makefile b/src/test/run-make-fulldeps/split-dwarf/Makefile index ef61ff04501..5fef8eac352 100644 --- a/src/test/run-make-fulldeps/split-dwarf/Makefile +++ b/src/test/run-make-fulldeps/split-dwarf/Makefile @@ -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) |
