aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/dwarf2read.c3
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)