mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 02:24:17 +08:00
[gas] Fix file 0 dir with -gdwarf-5
In out_dir_and_file_list, if file 0 is copied from file 1, only the filename is copied, and the dir and md5 fields are left to their default values. Fix this by adding the copy of the dir and md5 fields. gas/ChangeLog: 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.
This commit is contained in:
@ -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>
|
2021-11-18 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* as.c (parse_args): Add support for --multibyte-handling.
|
* as.c (parse_args): Add support for --multibyte-handling.
|
||||||
|
@ -2123,7 +2123,7 @@ out_dir_and_file_list (segT line_seg, int sizeof_offset)
|
|||||||
size_t size;
|
size_t size;
|
||||||
const char *dir;
|
const char *dir;
|
||||||
char *cp;
|
char *cp;
|
||||||
unsigned int i;
|
unsigned int i, j;
|
||||||
bool emit_md5 = false;
|
bool emit_md5 = false;
|
||||||
bool emit_timestamps = true;
|
bool emit_timestamps = true;
|
||||||
bool emit_filesize = 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,
|
.file 0 directive. If that isn't used, but file 1 is,
|
||||||
then use that as main file name. */
|
then use that as main file name. */
|
||||||
if (DWARF2_LINE_VERSION >= 5 && i == 0 && files_in_use >= 1 && files[0].filename == NULL)
|
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
|
else
|
||||||
files[i].filename = "";
|
files[i].filename = "";
|
||||||
if (DWARF2_LINE_VERSION < 5 || i != 0)
|
if (DWARF2_LINE_VERSION < 5 || i != 0)
|
||||||
|
@ -38,7 +38,7 @@ Raw dump of debug contents of section \.z?debug_line:
|
|||||||
|
|
||||||
The File Name Table \(offset 0x.*, lines 2, columns 2\):
|
The File Name Table \(offset 0x.*, lines 2, columns 2\):
|
||||||
Entry Dir Name
|
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
|
1 1 \(indirect line string, offset: 0x.*\): dwarf5-line-4.s
|
||||||
|
|
||||||
Line Number Statements:
|
Line Number Statements:
|
||||||
|
Reference in New Issue
Block a user