dwarf_next_cfi.c: Fix version 4 return_address_register decoding.
authorRoland McGrath <roland@redhat.com>
Wed, 16 Jun 2010 23:35:10 +0000 (16:35 -0700)
committerRoland McGrath <roland@redhat.com>
Wed, 16 Jun 2010 23:35:10 +0000 (16:35 -0700)
libdw/ChangeLog
libdw/dwarf_next_cfi.c

index 7a10789..5672082 100644 (file)
@@ -1,5 +1,7 @@
 2010-06-16  Roland McGrath  <roland@redhat.com>
 
+       * dwarf_next_cfi.c: Fix version 4 return_address_register decoding.
+
        * fde.c (fde_by_offset): Renamed to ...
        (__libdw_fde_by_offset): ... this, made global and internal_function.
        Don't take ADDRESS argument.
index fa7d09a..0e90457 100644 (file)
@@ -194,7 +194,7 @@ dwarf_next_cfi (e_ident, data, eh_frame_p, off, next_off, entry)
       get_uleb128 (entry->cie.code_alignment_factor, bytes);
       get_sleb128 (entry->cie.data_alignment_factor, bytes);
 
-      if (version == 3)                /* DWARF 3 */
+      if (version >= 3)                /* DWARF 3+ */
        get_uleb128 (entry->cie.return_address_register, bytes);
       else                     /* DWARF 2 */
        entry->cie.return_address_register = *bytes++;