[1/5][AArch64] Return address protection on AArch64

Jiong Wang jiong.wang@foss.arm.com
Fri Jan 20 18:49:00 GMT 2017


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.wang@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.wang@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.




More information about the Gcc-patches mailing list