From: Mark Kettenis Date: Sat, 20 Nov 2004 09:42:18 +0000 (+0000) Subject: * dwarf2-frame.c (decode_frame_entry_1): Correctly skip X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97e59c7af4d3cc51bcbe009daf5bf6da3f46cff1;p=thirdparty%2Fbinutils-gdb.git * dwarf2-frame.c (decode_frame_entry_1): Correctly skip personality routine in a CIE augmentation. Avoid indirection. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8e5b2c0e6b7..71dced248f4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2004-11-20 Mark Kettenis + + * dwarf2-frame.c (decode_frame_entry_1): Correctly skip + personality routine in a CIE augmentation. Avoid indirection. + 2004-11-12 Kei Sakamoto * Makefile.in (m32r-linux-tdep.o): Update dependencies. diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index a13e8a14a13..1403740b853 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -1355,8 +1355,10 @@ 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. */ - buf += size_of_encoded_value (*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++; }