]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Add support for DWARF-5 and experimental two-level line number tables.
authorCary Coutant <ccoutant@google.com>
Wed, 7 Jan 2015 00:56:43 +0000 (16:56 -0800)
committerCary Coutant <ccoutant@google.com>
Wed, 7 Jan 2015 00:56:43 +0000 (16:56 -0800)
commitaf9adba57ae3e14f945c89d0a27791b620592ce3
treeaf472621d83f1d83f5b829d025706ac52c6bf406
parentc85ff1442754273a15104789a31de6c6b4008d66
Add support for DWARF-5 and experimental two-level line number tables.

http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables

2015-01-06  Cary Coutant  <ccoutant@google.com>

binutils/
* dwarf.c (struct State_Machine_Registers): Add discriminator,
context, and subprogram.
(reset_state_machine): Likewise.
(logicals_table, logicals_allocated, logicals_count): New variables.
(free_logicals): New function.
(append_logical): New function.
(process_extended_line_op): Add is_logical parameter.
(fetch_indirect_line_string): New function.
(DWARF2_LINE_EXPERIMENTAL_VERSION): New macro.
(read_debug_line_header): Add pinitial_length_size, poffset_size
parameters.  Update all callers.  Check for new line table versions.
(display_directory_table_v4): New function, factored out from
display_debug_lines_raw.
(display_file_name_table_v4): Likewise.
(display_dir_file_table_v5): New function.
(display_line_program): New function, factored out from
display_debug_lines_raw.
(display_debug_lines_raw): Support new line table versions.
(display_debug_lines_decoded): Add missing newline to warning.
(display_debug_lines): Load .debug_line_str section.
(debug_displays): Add .debug_line_str section.
* dwarf.h (DWARF2_Internal_LineInfo): Add li_actuals_table_offset field.
(dwarf_section_display_enum): Add line_str.
* readelf.c (process_section_headers): Add .debug_line_str.
binutils/dwarf.c
binutils/dwarf.h
binutils/readelf.c