Add support for generating DWARF-5 format directory and file name tables from the...
authorNick Clifton <nickc@redhat.com>
Wed, 11 Mar 2020 10:17:14 +0000 (10:17 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 11 Mar 2020 10:17:14 +0000 (10:17 +0000)
commit5496f3c635dce3e12348d6e81c3f74815fdfe7b5
tree656a7d7904a075b22d0bf20de5ec02c81f9a9964
parentb76f3a42371cb0d83a1128a434852447da76b5e9
Add support for generating DWARF-5 format directory and file name tables from the assembler.

PR 25611
PR 25614
* dwarf.h (DWARF2_Internal_LineInfo): Add li_address_size and
li_segment_size fields.
* dwarf.c (read_debug_line_header): Record the address size and
segment selector size values (if present) in the lineinfo
structure.
(display_formatted_table): Warn if the format count is empty but
the table itself is not empty.
Display the format count and entry count at the start of the table
dump.
(display_debug_lines_raw): Display the address size and segement
selector size fields, if present.
* testsuite/binutils-all/dw5.W: Update expected output.

gas * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
(DWARF2_FILE_SIZE_NAME): Default to -1.
(DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
whichever is higher.
(DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
(NUM_MD5_BYTES): Define.
(struct file entry): Add md5 field.
(get_filenum): Delete and replace with...
(get_basename): New function.
(get_directory_table_entry): New function.
(allocate_filenum): New function.
(allocate_filename_to_slot): New function.
(dwarf2_where): Use new functions.
(dwarf2_directive_filename): Add support for extended .file
pseudo-op.
(dwarf2_directive_loc): Allow the use of file number zero with
DWARF 5 or higher.
(out_file_list): Rename to...
(out_dir_and_file_list): Add DWARF 5 support.
(out_debug_line): Emit extra values into the section header for
DWARF 5.
(out_debug_str): Allow for file 0 to be used with DWARF 5.
* doc/as.texi (.file): Update the description of this pseudo-op.
* testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
* testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
* testsuite/gas/lns/lns-diag-1.l: Update expected error message.
* NEWS: Mention the new feature.
binutils/ChangeLog
binutils/dwarf.c
binutils/dwarf.h
binutils/testsuite/binutils-all/dw5.W
gas/ChangeLog
gas/NEWS
gas/doc/as.texi
gas/dwarf2dbg.c
gas/testsuite/gas/elf/dwarf-5-file0.d
gas/testsuite/gas/elf/dwarf-5-file0.s
gas/testsuite/gas/lns/lns-diag-1.l