]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Add gold support for two-level line tables.
authorCary Coutant <ccoutant@google.com>
Fri, 30 Jan 2015 12:22:19 +0000 (04:22 -0800)
committerCary Coutant <ccoutant@google.com>
Mon, 23 Feb 2015 07:43:57 +0000 (23:43 -0800)
commitf0c3f9ad7bd53affee7fc222efed007f2d02ac8f
tree33322d6d3fa9a644ba22d730d1adc6700186e0ad
parent589778e030658d5aa1a90623f72728b875d1cd3c
Add gold support for two-level line tables.

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

elfcpp/
* dwarf.h (enum DW_LNS): Add experimental two-level line table opcodes.
(enum DW_LNCT): New enum for DWARF-5.

gold/
* debug.h (DEBUG_LOCATION): New constant.
(debug_string_to_enum): Add DEBUG_LOCATION.
* dwarf_reader.cc (struct LineStateMachine): Add context field.
(ResetLineStateMachine): Likewise.
(Sized_dwarf_line_info::Sized_dwarf_line_info): Add support for
two-level line tables.
(Sized_dwarf_line_info::read_header_prolog): Likewise. Also add
support for DWARF-3+ line tables.
(Sized_dwarf_line_info::read_header_tables_v5): New method.
(Sized_dwarf_line_info::process_one_opcode): Add support for two-level
line tables.
(Sized_dwarf_line_info::read_lines): Likewise.
(Sized_dwarf_line_info::read_line_mappings): Likewise.
(Sized_dwarf_line_info::do_addr2line): Add debug output.
* dwarf_reader.h (Sized_dwarf_line_info::~Sized_dwarf_line_info):
Delete str_buffer_start_.
(DWARF5_EXPERIMENTAL_LINE_TABLE): New constant.
(Sized_dwarf_line_info::read_header_tables_v5): New method.
(Sized_dwarf_line_info::read_lines): Update prototype.
(Sized_dwarf_line_info::process_one_opcode): Likewise.
(Sized_dwarf_line_info::max_ops_per_insn): New data member.
(Sized_dwarf_line_info::str_buffer_): New data member.
(Sized_dwarf_line_info::str_buffer_end_): New data member.
(Sized_dwarf_line_info::str_buffer_start_): New data member.
(Sized_dwarf_line_info::end_of_header_length_): New data member.
(Sized_dwarf_line_info::logicals_start_): New data member.
(Sized_dwarf_line_info::actuals_start_): New data member.
(Sized_dwarf_line_info::end_of_unit_): New data member.
elfcpp/dwarf.h
gold/debug.h
gold/dwarf_reader.cc
gold/dwarf_reader.h