[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