From: Luis Machado Date: Thu, 8 Oct 2020 17:06:35 +0000 (-0300) Subject: [Morello] Add 'C' augmentation character support X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b34767fcc8909619e080c7879631df62138efccf;p=thirdparty%2Fbinutils-gdb.git [Morello] Add 'C' augmentation character support Handle the Morello 'C' augmentation character. It is not used yet, but it is acknowledged. gdb/ChangeLog: 2020-10-20 Luis Machado * dwarf2/frame.c (struct dwarf2_cie) : New field. (decode_frame_entry_1): Handle the 'C' augmentation character. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a85c361f820..f15af2c4552 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-10-20 Luis Machado + + * dwarf2/frame.c (struct dwarf2_cie) : New field. + (decode_frame_entry_1): Handle the 'C' augmentation character. + 2020-10-20 Luis Machado * aarch64-tdep.c (aarch64_register_has_tag, aarch64_register_tag): New diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index a8748e4d7d3..0b2b8eeb9be 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -96,6 +96,9 @@ struct dwarf2_cie /* True if an 'S' augmentation existed. */ unsigned char signal_frame; + /* True if a 'C' augmentation was specified. */ + unsigned char pure_cap; + /* The version recorded in the CIE. */ unsigned char version; @@ -1943,6 +1946,15 @@ decode_frame_entry_1 (struct gdbarch *gdbarch, augmentation++; } + /* "C" indicates that the default unwind rules for this CIE should be + initialized in accordance with the pure capability procedure call + standard. */ + else if (*augmentation == 'C') + { + cie->pure_cap = 1; + augmentation++; + } + /* Otherwise we have an unknown augmentation. Assume that either there is no augmentation data, or we saw a 'z' prefix. */ else