From c47190a2c3b105ca5348a1634f79d9bad8088c8d Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Thu, 8 Oct 2020 14:06:35 -0300 Subject: [PATCH] [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. --- gdb/dwarf2/frame.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index 0b7ed2c63fd..4fdea6d3967 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -97,6 +97,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; @@ -1841,6 +1844,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 -- 2.47.2