[AArch64][3/6] DWARF unwinder support for signed return address
Jiong Wang
jiong.wang@foss.arm.com
Thu Aug 10 13:35:00 GMT 2017
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
More information about the Gdb-patches
mailing list