PR gdb/1658
authorDaniel Jacobowitz <drow@false.org>
Wed, 16 Jun 2004 17:16:15 +0000 (17:16 +0000)
committerDaniel Jacobowitz <drow@false.org>
Wed, 16 Jun 2004 17:16:15 +0000 (17:16 +0000)
* dwarf2read.c (dwarf_decode_lines): Read the length of the extended
operation as a uleb128.  Found by Michael Coulter.

gdb/ChangeLog
gdb/dwarf2read.c

index 8d304f9bd9cbe598dbed47f3ed129c1a2cb4b53d..47f5e9326a61e25c81280b021e879f8b1585e888 100644 (file)
@@ -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
index 632ae4a2bceb9fad20c207b94fe08545e0ac1961..b07d07c9baae074398933346ba067faa88772452 100644 (file)
@@ -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)