aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2-frame.c
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/dwarf2-frame.c
parentd75e3c94b3e236ab6aadcad497264f32b48c921e (diff)
downloadgdb-1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9.zip
gdb-1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9.tar.gz
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/dwarf2-frame.c')
-rw-r--r--gdb/dwarf2-frame.c4
1 files changed, 2 insertions, 2 deletions
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++;