From fec1623758b5b14d80c4a61e82568c65b71aa6d7 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 3 May 2012 12:49:22 +0000 Subject: 2012-05-03 Tristan Gingold * dwarf2.c (decode_line_info): Ignore DW_LNE_HP_source_file_correlation. --- bfd/dwarf2.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bfd/dwarf2.c') diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 51e27b448cd..f7d5d4a1132 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -1401,6 +1401,7 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) unsigned int i, bytes_read, offset_size; char *cur_file, *cur_dir; unsigned char op_code, extended_op, adj_opcode; + unsigned int exop_len; bfd_size_type amt; if (! read_section (abfd, &stash->debug_sections[debug_line], @@ -1604,8 +1605,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) else switch (op_code) { case DW_LNS_extended_op: - /* Ignore length. */ - line_ptr += 1; + exop_len = read_unsigned_leb128 (abfd, line_ptr, &bytes_read); + line_ptr += bytes_read; extended_op = read_1_byte (abfd, line_ptr); line_ptr += 1; @@ -1658,6 +1659,9 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) (void) read_unsigned_leb128 (abfd, line_ptr, &bytes_read); line_ptr += bytes_read; break; + case DW_LNE_HP_source_file_correlation: + line_ptr += exop_len - 1; + break; default: (*_bfd_error_handler) (_("Dwarf Error: mangled line number section.")); bfd_set_error (bfd_error_bad_value); -- cgit v1.2.3-65-gdbad