From 1234d96073c4cee0a9f1b02c4c6ea3f6610d6bb9 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Fri, 5 Nov 2004 22:35:22 +0000 Subject: [PATCH] * dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when skipping a personality routine in a CIE augmentation. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2-frame.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cd8aac4bffa..8db2abad30f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2004-11-05 Mark Kettenis + + * dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when + skipping a personality routine in a CIE augmentation. + 2004-11-05 Jeff Johnston * defs.h (fatal, vfatal): New function prototypes. 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++; -- 2.30.2