aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-11-05 22:35:22 +0000
committerMark Kettenis <kettenis@gnu.org>2004-11-05 22:35:22 +0000
commit1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9 (patch)
treefb3c2fb5511175554ee2c5306d75a29acc0930b1 /gdb
parentd75e3c94b3e236ab6aadcad497264f32b48c921e (diff)
downloadfsf-binutils-gdb-1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9.zip
fsf-binutils-gdb-1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9.tar.gz
fsf-binutils-gdb-1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9.tar.bz2
* dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when
skipping a personality routine in a CIE augmentation.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2-frame.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index cd8aac4..8db2aba 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index 39722cc..b5737d2 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -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++;