This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [AArch64][3/6] DWARF unwinder support for signed return address
On 10/08/17 12:08, Pedro Alves wrote:
On 08/09/2017 01:17 PM, Jiong Wang wrote:
+
+ /* Only DW_CFA_GNU_window_save is expected on AArch64. */
+ if (op != DW_CFA_GNU_window_save)
+ return false;
+
Was there any progress in giving this an Aarch64-specific name
to avoid confusion? FYI, I was confused by this again for a couple
minutes when I read it, until I remembered the previous discussions.
Hi Pedro,
Yes, We can add DW_CFA_AARCH64_negate_ra_state to dwarf2.def, with the same
number of DW_CFA_GNU_window_save, then need to introduce a new DW_CFA_DUP
to avoid duplicated case value trouble when auto-generate switch/case for
returning CFA name. Will post patch to GCC then can be synced to binutils-gdb
onced approved.
+/* Implement the execute_dwarf_cfa_vendor_op method. */
+
+static bool
+aarch64_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch, gdb_byte op,
+ struct dwarf2_frame_state *fs)
+{
+ struct dwarf2_frame_state_reg *ra_state_column;
+ static unsigned char exp_0 = 0x30; /* DW_OP_lit0. */
+ static unsigned char exp_1 = 0x31; /* DW_OP_lit1. */
Can these be static const? (likewise elsewhere in the patch.)
Also, gdb_byte.
Will fix in the next update.
Thanks.
Regards,
Jiong