This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]