@@ -104,7 +104,7 @@ packed-lto-single:
104104 ls $(TMPDIR ) /* .dwp && exit 1 || exit 0
105105 rm $(TMPDIR ) /libbaz.rlib
106106
107- packed-remapped : packed-remapped-split packed-remapped-single
107+ packed-remapped : packed-remapped-split packed-remapped-single packed-remapped-scope packed-remapped-wrong-scope
108108
109109# - Debuginfo in `.dwo` files
110110# - `.o` and binary refer to remapped `.dwo` paths which do not exist
@@ -134,6 +134,36 @@ packed-remapped-single:
134134 rm $(TMPDIR ) /foo.dwp
135135 rm $(TMPDIR ) /$(call BIN,foo)
136136
137+ # - Debuginfo in `.o` files
138+ # - `.o` and binary refer to remapped `.o` paths which do not exist
139+ # - `.o` deleted
140+ # - `.dwo` never created
141+ # - `.dwp` present
142+ packed-remapped-scope :
143+ $(RUSTC ) $(UNSTABLEOPTS ) -C split-debuginfo=packed -C debuginfo=2 \
144+ -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR ) =/a \
145+ -Z remap-path-scope=split-debuginfo-path foo.rs -g
146+ objdump -Wi $(TMPDIR ) /foo | grep DW_AT_GNU_dwo_name | (! grep $( TMPDIR) ) || exit 1
147+ ls $(TMPDIR ) /* .o && exit 1 || exit 0
148+ ls $(TMPDIR ) /* .dwo && exit 1 || exit 0
149+ rm $(TMPDIR ) /foo.dwp
150+ rm $(TMPDIR ) /$(call BIN,foo)
151+
152+ # - Debuginfo in `.o` files
153+ # - `.o` and binary refer to remapped `.o` paths which do not exist
154+ # - `.o` deleted
155+ # - `.dwo` never created
156+ # - `.dwp` present
157+ packed-remapped-wrong-scope :
158+ $(RUSTC ) $(UNSTABLEOPTS ) -C split-debuginfo=packed -C debuginfo=2 \
159+ -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR ) =/a \
160+ -Z remap-path-scope=macro foo.rs -g
161+ objdump -Wi $(TMPDIR ) /foo | grep DW_AT_GNU_dwo_name | (grep $( TMPDIR) ) || exit 1
162+ ls $(TMPDIR ) /* .o && exit 1 || exit 0
163+ ls $(TMPDIR ) /* .dwo && exit 1 || exit 0
164+ rm $(TMPDIR ) /foo.dwp
165+ rm $(TMPDIR ) /$(call BIN,foo)
166+
137167packed-crosscrate : packed-crosscrate-split packed-crosscrate-single
138168
139169# - Debuginfo in `.dwo` files
@@ -230,7 +260,7 @@ unpacked-lto-single:
230260 ls $(TMPDIR ) /* .dwp && exit 1 || exit 0
231261 rm $(TMPDIR ) /libbaz.rlib
232262
233- unpacked-remapped : unpacked-remapped-split unpacked-remapped-single
263+ unpacked-remapped : unpacked-remapped-split unpacked-remapped-single unpacked-remapped-scope unpacked-remapped-wrong-scope
234264
235265# - Debuginfo in `.dwo` files
236266# - `.o` and binary refer to remapped `.dwo` paths which do not exist
@@ -260,6 +290,36 @@ unpacked-remapped-single:
260290 ls $(TMPDIR ) /* .dwp && exit 1 || exit 0
261291 rm $(TMPDIR ) /$(call BIN,foo)
262292
293+ # - Debuginfo in `.o` files
294+ # - `.o` and binary refer to remapped `.o` paths which do not exist
295+ # - `.o` present
296+ # - `.dwo` never created
297+ # - `.dwp` never created
298+ unpacked-remapped-scope :
299+ $(RUSTC ) $(UNSTABLEOPTS ) -C split-debuginfo=unpacked -C debuginfo=2 \
300+ -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR ) =/a \
301+ -Z remap-path-scope=split-debuginfo-path foo.rs -g
302+ objdump -Wi $(TMPDIR ) /foo | grep DW_AT_GNU_dwo_name | (! grep $( TMPDIR) ) || exit 1
303+ rm $(TMPDIR ) /* .o
304+ ls $(TMPDIR ) /* .dwo && exit 1 || exit 0
305+ ls $(TMPDIR ) /* .dwp && exit 1 || exit 0
306+ rm $(TMPDIR ) /$(call BIN,foo)
307+
308+ # - Debuginfo in `.o` files
309+ # - `.o` and binary refer to remapped `.o` paths which do not exist
310+ # - `.o` present
311+ # - `.dwo` never created
312+ # - `.dwp` never created
313+ unpacked-remapped-wrong-scope :
314+ $(RUSTC ) $(UNSTABLEOPTS ) -C split-debuginfo=unpacked -C debuginfo=2 \
315+ -Z split-dwarf-kind=single --remap-path-prefix $(TMPDIR ) =/a \
316+ -Z remap-path-scope=macro foo.rs -g
317+ objdump -Wi $(TMPDIR ) /foo | grep DW_AT_GNU_dwo_name | (grep $( TMPDIR) ) || exit 1
318+ rm $(TMPDIR ) /* .o
319+ ls $(TMPDIR ) /* .dwo && exit 1 || exit 0
320+ ls $(TMPDIR ) /* .dwp && exit 1 || exit 0
321+ rm $(TMPDIR ) /$(call BIN,foo)
322+
263323unpacked-crosscrate : unpacked-crosscrate-split unpacked-crosscrate-single
264324
265325# - Debuginfo in `.dwo` files
0 commit comments