On Thu, Jan 12, 2017 at 06:10:36PM +0000, Jiong Wang wrote: > On 06/01/17 11:47, Jiong Wang wrote: > >This is the update on libgcc unwinder support according to new > >DWARF proposal. > > > >As Joseph commented, duplication of unwind-dw2.c is not encouraged > >in libgcc, > >But from this patch, you can see there are a few places we need to > >modify for > >AArch64 in unwind-aarch64.c, so the file duplication approach is > >acceptable? > > > > > >libgcc/ > > > >2017-01-06 Jiong Wang <jiong.w...@arm.com> > > > > * config/aarch64/unwind-aarch64.c (DWARF_REGNUM_AARCH64_RA_STATE, > > RA_A_SIGNED_BIT): New macros. > > (execute_cfa_program): Multiplex DW_CFA_GNU_window_save on > >AArch64. > > (uw_frame_state_for): Clear bit[0] of > >DWARF_REGNUM_AARCH64_RA_STATE. > > (uw_update_context): Authenticate return address according to > > DWARF_REGNUM_AARCH64_RA_STATE. > > (uw_init_context_1): Strip signature of seed address. > > (uw_install_context): Re-authenticate EH handler's address. > > > Ping~ > > For comparision, I have also attached the patch using the target macros.
Personally, I much prefer this approach. I haven't looked at your patch in detail, I'll leave that for after a libgcc maintainer has commented on whether these macros would be acceptable. Thanks, James