On 20/01/17 18:23, Jiong Wang wrote:
OK, the attached patch disable the building of pointer signing code in
libgcc
on ILP32 mode, except the macro bit RA_A_SIGNED_BIT is still defined as I
want to book this bit for ILP32 as LP64 in case we later enable ILP32
support.
All pauth builtins are not registered as well for ILP32 mode as these
builtins
are supposed to be used by libgcc unwinder code only.
I also gated the three new testcases for return address signing using the
following directive and verified it works under my dejagnu environment.
{ dg-require-effective-target lp64 }
multilib cross build finished (lp64, ilp32), OK for trunk?
BTW, the mode fix patch doesn't have conflict with this patch, we may
still need it if we want to enable ILP32 support later.
Thanks.
gcc/
2017-01-20 Jiong Wang <jiong.w...@arm.com>
* config/aarch64/aarch64-builtins.c (aarch64_init_builtins):
Don't
register pauth builtins for ILP32.
libgcc/
* config/aarch64/aarch64-unwind.h: Restrict this file on LP64
only.
* unwind-dw2.c (execute_cfa_program): Only multiplexing
DW_CFA_GNU_window_save for AArch64 LP64.
Missing testcase change in Changelog, added:
gcc/
2017-01-20 Jiong Wang <jiong.w...@arm.com>
* config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
register pauth builtins for LP64 only.
* testsuite/gcc.target/aarch64/return_address_sign_1.c: Enable on LP64
only.
* testsuite/gcc.target/aarch64/return_address_sign_2.c: Likewise.
* testsuite/gcc.target/aarch64/return_address_sign_3.c: Likewise.
libgcc/
* config/aarch64/aarch64-unwind.h: Empty this file on ILP32.
* unwind-dw2.c (execute_cfa_program): Only multiplexing
DW_CFA_GNU_window_save for AArch64 and LP64.