diff options
author | Tristan Gingold <gingold@adacore.com> | 2012-05-03 12:49:21 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2012-05-03 12:49:21 +0000 |
commit | d2ed484e3c1b10f3ab4ed7f0095ec10b01ff3113 (patch) | |
tree | 77e932e0fcf5fd065878c974c9e89c08c79c6d88 /bfd/dwarf2.c | |
parent | dda2fc62dce1d451ae6b98237cad5a8a71cea374 (diff) | |
download | binutils-redhat-d2ed484e3c1b10f3ab4ed7f0095ec10b01ff3113.tar.gz |
2012-05-03 Tristan Gingold <gingold@adacore.com>
* dwarf2.c (decode_line_info): Ignore
DW_LNE_HP_source_file_correlation.
Diffstat (limited to 'bfd/dwarf2.c')
-rw-r--r-- | bfd/dwarf2.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 51e27b448c..f7d5d4a113 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); |