diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/dwarf2dbg.c | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/dwarf5-line-4.d | 2 |
3 files changed, 16 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 8732088..c2886ee 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2021-11-26 Tom de Vries <tdevries@suse.de> + + PR 28629 + * dwarf2dbg.c (out_dir_and_file_list): When copying file 1 to file 0, + also copy dir and md5 fields. + * testsuite/gas/i386/dwarf5-line-4.d: Adjust expected output. + 2021-11-18 Nick Clifton <nickc@redhat.com> * as.c (parse_args): Add support for --multibyte-handling. diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c index 256412f..7300bfe 100644 --- a/gas/dwarf2dbg.c +++ b/gas/dwarf2dbg.c @@ -2123,7 +2123,7 @@ out_dir_and_file_list (segT line_seg, int sizeof_offset) size_t size; const char *dir; char *cp; - unsigned int i; + unsigned int i, j; bool emit_md5 = false; bool emit_timestamps = true; bool emit_filesize = true; @@ -2275,7 +2275,13 @@ out_dir_and_file_list (segT line_seg, int sizeof_offset) .file 0 directive. If that isn't used, but file 1 is, then use that as main file name. */ if (DWARF2_LINE_VERSION >= 5 && i == 0 && files_in_use >= 1 && files[0].filename == NULL) - files[0].filename = files[1].filename; + { + files[0].filename = files[1].filename; + files[0].dir = files[1].dir; + if (emit_md5) + for (j = 0; i < NUM_MD5_BYTES; ++j) + files[0].md5[j] = files[1].md5[j]; + } else files[i].filename = ""; if (DWARF2_LINE_VERSION < 5 || i != 0) diff --git a/gas/testsuite/gas/i386/dwarf5-line-4.d b/gas/testsuite/gas/i386/dwarf5-line-4.d index 30e1bb2..a3af48e 100644 --- a/gas/testsuite/gas/i386/dwarf5-line-4.d +++ b/gas/testsuite/gas/i386/dwarf5-line-4.d @@ -38,7 +38,7 @@ Raw dump of debug contents of section \.z?debug_line: The File Name Table \(offset 0x.*, lines 2, columns 2\): Entry Dir Name - 0 0 \(indirect line string, offset: 0x.*\): dwarf5-line-4.s + 0 1 \(indirect line string, offset: 0x.*\): dwarf5-line-4.s 1 1 \(indirect line string, offset: 0x.*\): dwarf5-line-4.s Line Number Statements: |