aboutsummaryrefslogtreecommitdiff
path: root/gas/ChangeLog
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2021-11-15 12:50:51 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2021-11-15 12:56:10 +0100
commitf9402ccaa9fac7858713a7672fae5760ae3d5ce7 (patch)
tree120dc7c0bafe4ff49b5b8e6022db155264abd330 /gas/ChangeLog
parente6c46d077240565fac4d70066719a8bbe2c212d1 (diff)
downloadgdb-f9402ccaa9fac7858713a7672fae5760ae3d5ce7.zip
gdb-f9402ccaa9fac7858713a7672fae5760ae3d5ce7.tar.gz
gdb-f9402ccaa9fac7858713a7672fae5760ae3d5ce7.tar.bz2
Deal with full path in .file 0 directive
Gas uses the directory part, if present, of the .file 0 directive to set entry 0 of the directory table in DWARF 5, which represents the "current directory". Now Gas also uses the file part of the same directive to set entry 0 of the file table, which represents the "current compilation file". But the latter need not be located in the former so GCC will use a full path in the file part when it is passed a full path: gcc -c /full/path/test.c -save-temps yields: .file 0 "/current/directory" "/full/path/test.c" in the assembly file and: The Directory Table (offset 0x22, lines 2, columns 1): Entry Name 0 (indirect line string, offset: 0x25): /current/directory 1 (indirect line string, offset: 0x38): /full/path The File Name Table (offset 0x30, lines 2, columns 2): Entry Dir Name 0 0 (indirect line string, offset: 0x43): /full/path/test.c in the object file. Note the full path and the questionable Dir value in the 0 entry of the file table.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r--gas/ChangeLog13
1 files changed, 13 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1133847..e9761e9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,16 @@
+2021-11-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/as.texi (File): Update description of .file 0 directive.
+ * dwarf2dbg.c (get_directory_table_entry): Remove obsolete comment
+ and pass file0_dirname in recursive call.
+ (allocate_filename_to_slot): Deal with a full path in the file name
+ if the index number is 0.
+ * testsuite/gas/elf/dwarf-5-file0.d: Fix pasto.
+ * testsuite/gas/elf/dwarf-5-file0-2.d: Likewise.
+ * testsuite/gas/elf/dwarf-5-file0-3.d: New file.
+ * testsuite/gas/elf/dwarf-5-file0-3.s: Likewise.
+ * testsuite/gas/elf/elf.exp: Run dwarf-5-file0-3.
+
2021-10-28 Markus Klein <markus.klein@sma.de>
PR 28436