diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/dwarf2read.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8d304f9..47f5e93 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2004-06-16 Daniel Jacobowitz <dan@debian.org> + + PR gdb/1658 + * dwarf2read.c (dwarf_decode_lines): Read the length of the extended + operation as a uleb128. Found by Michael Coulter. + 2004-06-16 Paul N. Hilfinger <Hilfinger@gnat.com> * ada-tasks.c: Rename build_task_list to ada_build_task_list, and diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 632ae4a..b07d07c 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -5986,7 +5986,8 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd, else switch (op_code) { case DW_LNS_extended_op: - line_ptr += 1; /* ignore length */ + read_unsigned_leb128 (abfd, line_ptr, &bytes_read); + line_ptr += bytes_read; extended_op = read_1_byte (abfd, line_ptr); line_ptr += 1; switch (extended_op) |