From c83344582375e65643c5efe68b3739e87db482f3 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Fri, 2 Feb 2018 17:44:27 -0800 Subject: Add support for DWARF-4 line number tables. Reads the maximum_operations_per_instruction field, added in DWARF-4 to the line number program header. gold/ * PR gold/22776 * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): Add support for DWARF-4 line number tables. * dwarf_reader.h (Sized_dwarf_line_info::max_ops_per_insn): New field. --- gold/dwarf_reader.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gold/dwarf_reader.cc') diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc index 6350247..5cdb0b2 100644 --- a/gold/dwarf_reader.cc +++ b/gold/dwarf_reader.cc @@ -1667,6 +1667,17 @@ Sized_dwarf_line_info::read_header_prolog( header_.min_insn_length = *lineptr; lineptr += 1; + if (header_.version < 4) + header_.max_ops_per_insn = 1; + else + { + // DWARF 4 added the maximum_operations_per_instruction field. + header_.max_ops_per_insn = *lineptr; + lineptr += 1; + // TODO: Add support for values other than 1. + gold_assert(header_.max_ops_per_insn == 1); + } + header_.default_is_stmt = *lineptr; lineptr += 1; -- cgit v1.1