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.
This commit is contained in:
Cary Coutant
2018-02-02 17:44:27 -08:00
parent d73daf84d6
commit c833445823
3 changed files with 20 additions and 1 deletions

View File

@@ -1667,6 +1667,17 @@ Sized_dwarf_line_info<size, big_endian>::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;