OSDN Git Service

* dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when
authorMark Kettenis <kettenis@gnu.org>
Fri, 5 Nov 2004 22:35:22 +0000 (22:35 +0000)
committerMark Kettenis <kettenis@gnu.org>
Fri, 5 Nov 2004 22:35:22 +0000 (22:35 +0000)
skipping a personality routine in a CIE augmentation.

gdb/ChangeLog
gdb/dwarf2-frame.c

index cd8aac4..8db2aba 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-05  Mark Kettenis  <kettenis@gnu.org>
+
+       * dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when
+       skipping a personality routine in a CIE augmentation.
+
 2004-11-05  Jeff Johnston  <jjohnstn@redhat.com>
 
        * defs.h (fatal, vfatal): New function prototypes.
index 39722cc..b5737d2 100644 (file)
@@ -1380,8 +1380,8 @@ decode_frame_entry_1 (struct comp_unit *unit, char *start, int eh_frame_p)
          /* "P" indicates a personality routine in the CIE augmentation.  */
          else if (*augmentation == 'P')
            {
-             /* Skip.  */
-             unsigned char encoding = *buf++;
+             /* Skip.  Avoid indirection since we throw away the result.  */
+             unsigned char encoding = (*buf++) & ~DW_EH_PE_indirect;
              read_encoded_value (unit, encoding, buf, &bytes_read);
              buf += bytes_read;
              augmentation++;