[PATCH] gas: Use the directory name in .file 0
Alan Modra
amodra@gmail.com
Fri Sep 10 08:39:03 GMT 2021
On Fri, Sep 10, 2021 at 11:24:52AM +0930, Alan Modra wrote:
> On Thu, Sep 09, 2021 at 09:28:00AM -0700, H.J. Lu wrote:
> > DWARF5 allows .file 0 to take an optional directory name. Set the entry
> > 0 of the directory table to the directory name in .file 0.
> >
> > PR gas/28266
> > * dwarf2dbg.c (get_directory_table_entry): Add an argument for
> > the directory name in .file 0 and use it, instead of PWD.
> > (allocate_filenum): Pass NULL to get_directory_table_entry.
> > (allocate_filename_to_slot): Pass the incoming dirname to
> > get_directory_table_entry.
> > * testsuite/gas/elf/dwarf-5-file0-2.d: New file.
> > * testsuite/gas/elf/dwarf-5-file0-2.s: Likewise.
> > * testsuite/gas/elf/elf.exp: Run dwarf-5-file0-2.
HJ, new testcases need testing on more targets.
alpha-linux +FAIL: DWARF5 .file 0 dir file
alpha-netbsd +FAIL: DWARF5 .file 0 dir file
alpha-unknown-freebsd4.7 +FAIL: DWARF5 .file 0 dir file
armeb-linuxeabi +FAIL: DWARF5 .file 0 dir file
arm-elf +FAIL: DWARF5 .file 0 dir file
arm-linuxeabi +FAIL: DWARF5 .file 0 dir file
arm-nacl +FAIL: DWARF5 .file 0 dir file
arm-netbsdelf +FAIL: DWARF5 .file 0 dir file
arm-nto +FAIL: DWARF5 .file 0 dir file
hppa64-hp-hpux11.23 +FAIL: DWARF5 .file 0 dir file
hppa64-linux +FAIL: DWARF5 .file 0 dir file
hppa-linux +FAIL: DWARF5 .file 0 dir file
ia64-elf +FAIL: DWARF5 .file 0 dir file
ia64-freebsd5 +FAIL: DWARF5 .file 0 dir file
ia64-hpux +FAIL: DWARF5 .file 0 dir file
ia64-linux +FAIL: DWARF5 .file 0 dir file
ia64-netbsd +FAIL: DWARF5 .file 0 dir file
mips64el-openbsd +FAIL: DWARF5 .file 0 dir file
mips64-linux +FAIL: DWARF5 .file 0 dir file
mips64-openbsd +FAIL: DWARF5 .file 0 dir file
mipsel-linux-gnu +FAIL: DWARF5 .file 0 dir file
mipsisa32el-linux +FAIL: DWARF5 .file 0 dir file
mipsisa32r2el-elf +FAIL: DWARF5 .file 0 dir file
mips-linux +FAIL: DWARF5 .file 0 dir file
mips-sgi-irix6 +FAIL: DWARF5 .file 0 dir file
mipstx39-elf +FAIL: DWARF5 .file 0 dir file
nios2-linux +FAIL: DWARF5 .file 0 dir file
shle-unknown-netbsdelf +FAIL: DWARF5 .file 0 dir file
sh-linux +FAIL: DWARF5 .file 0 dir file
sh-nto +FAIL: DWARF5 .file 0 dir file
sh-rtems +FAIL: DWARF5 .file 0 dir file
Fixed with the following.
PR gas/28266
* testsuite/gas/elf/dwarf-5-file0-2.s: Use %object rather than
@object, .4byte instead of .long, and .asciz instead of .string.
diff --git a/gas/testsuite/gas/elf/dwarf-5-file0-2.s b/gas/testsuite/gas/elf/dwarf-5-file0-2.s
index 135a03bf493..bab4a16b56b 100644
--- a/gas/testsuite/gas/elf/dwarf-5-file0-2.s
+++ b/gas/testsuite/gas/elf/dwarf-5-file0-2.s
@@ -5,7 +5,7 @@
.globl x
.section .bss
.balign 4
- .type x, @object
+ .type x, %object
.size x, 4
x:
.zero 4
@@ -14,30 +14,30 @@ x:
.file 1 "test.c"
.section .debug_info,"",%progbits
.Ldebug_info0:
- .long 0x32
+ .4byte 0x32
.2byte 0x5
.byte 0x1
.byte 0x4
- .long .Ldebug_abbrev0
+ .4byte .Ldebug_abbrev0
.uleb128 0x1
- .long .LASF2
+ .4byte .LASF2
.byte 0x1d
- .long .LASF0
- .long .LASF1
- .long .Ldebug_line0
+ .4byte .LASF0
+ .4byte .LASF1
+ .4byte .Ldebug_line0
.uleb128 0x2
- .string "x"
+ .asciz "x"
.byte 0x1
.byte 0x1
.byte 0x5
- .long 0x2e
+ .4byte 0x2e
.uleb128 0x5
.byte 0x3
- .long x
+ .4byte x
.uleb128 0x3
.byte 0x4
.byte 0x5
- .string "int"
+ .asciz "int"
.byte 0
.section .debug_abbrev,"",%progbits
.Ldebug_abbrev0:
@@ -88,24 +88,24 @@ x:
.byte 0
.byte 0
.section .debug_aranges,"",%progbits
- .long 0x14
+ .4byte 0x14
.2byte 0x2
- .long .Ldebug_info0
+ .4byte .Ldebug_info0
.byte 0x4
.byte 0
.2byte 0
.2byte 0
- .long 0
- .long 0
+ .4byte 0
+ .4byte 0
.section .debug_line,"",%progbits
.Ldebug_line0:
.section .debug_str,"MS",%progbits,1
.LASF2:
- .string "GNU C17 11.2.1 -g"
+ .asciz "GNU C17 11.2.1 -g"
.section .debug_line_str,"MS",%progbits,1
.LASF1:
- .string "/example"
+ .asciz "/example"
.LASF0:
- .string "test.c"
+ .asciz "test.c"
.ident "GCC: (GNU) 11.2.1"
.section .note.GNU-stack,"",%progbits
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list