[PATCH][gas] Implement .cfi_negate_ra_state directive

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Thu Dec 5 10:59:00 GMT 2019


Hi all,

This patch implements the .cfi_negate_ra_state to be consistent with
LLVM (https://reviews.llvm.org/D50136). The relevant DWARF code 
DW_CFA_AARCH64_negate_ra_state
is multiplexed on top of DW_CFA_GNU_window_save, as per
https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00753.html

I believe this is the simplest patch implementing this and is needed to
allow users to build, for example, the Linux kernel with Armv8.3-A
pointer authentication support with Clang while using gas as the
assembler, which is a common usecase.

Tested gas aarch64-none-elf.
Ok for master and the release branches?

Thanks,
Kyrill

gas/
2019-12-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * dw2gencfi.c (cfi_pseudo_table): Add cfi_negate_ra_state.
     * testsuite/gas/aarch64/pac_negate_ra_state.s: New file.
     * testsuite/gas/aarch64/pac_negate_ra_state.d: Likewise.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas-negate.patch
Type: text/x-patch
Size: 2325 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20191205/8c03ee04/attachment.bin>


More information about the Gcc-patches mailing list