summaryrefslogtreecommitdiff
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
commit44cbeaed0c5d4e5da60c5e31329448d4f8da16cf (patch)
tree2e1f23f898a4db369be496fb3fefe9359a407f50 /gdb/dwarf2-frame.c
parente4d83efadaed7e45cdb72f0f542f376ea245ef13 (diff)
downloadgdb-44cbeaed0c5d4e5da60c5e31329448d4f8da16cf.tar.gz
* 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 39722cc1bc0..b5737d25a6c 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++;