[PATCH v2 0/8] Support for AArch64 Pointer Authentication

Alan Hayward Alan.Hayward@arm.com
Thu Mar 14 12:34:00 GMT 2019


Ping for this.
Hopefully most of this is just standard boiler plate code, with detailed
bits in the two unwinder patches, and some common code changes in the
gdbserver patch.


Alan.


> On 6 Mar 2019, at 13:33, Alan Hayward <Alan.Hayward@arm.com> wrote:
> 
> Pointer Authentication is a new feature in AArch64 v8.3-a. When enabled in
> the compiler, function return addresses will be mangled by the kernel. This
> set of patches adds support to add the new registers and umangle addresses
> to allow the unwinder to work.
> 
> Linux Kernel support is in Linux 5.0, and was added here:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04ca3204fa09f5f55c8f113b0072004a7b364ff4
> 
> Binutils support was added earlier this year:
> https://www.sourceware.org/ml/binutils/2019-02/msg00069.html
> 
> GCC support is in GCC 7.1.1 and is enabled by default when building for
> 8.3-a, originally added here:
> https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00376.html
> Additional support is in progress, see:
> https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00697.html
> 
> 
> This patch series has been tested on an 8.3 Fast Model running head Linux,
> using both head GCC and GCC patched with the additional support.
> 
> This series is a reworking of the series originally posted by Jiong:
> https://sourceware.org/ml/gdb-patches/2017-08/msg00170.html
> 
> Patches 1-5 add the new feature, register support and feature detection.
> Patches 6 and 7 add the address unmangling.
> Patch 8 adds core file support.
> 
> 
> Alan Hayward (8):
>  AArch64: Add pointer authentication feature
>  AArch64: Use HWCAP to detect pauth feature
>  AArch64: Read pauth registers
>  AArch64: gdbserver: read pauth registers
>  AArch64: Add pauth DWARF registers
>  AArch64: DWARF unwinder support for signed return addresses
>  AArch64: Prologue scan unwinder support for signed return addresses
>  AArch64: Read pauth section from core files
> 
> gdb/aarch64-linux-nat.c                      |  41 ++-
> gdb/aarch64-linux-tdep.c                     |  36 +-
> gdb/aarch64-linux-tdep.h                     |   9 +
> gdb/aarch64-tdep.c                           | 325 ++++++++++++++++---
> gdb/aarch64-tdep.h                           |  14 +-
> gdb/arch/aarch64.c                           |   6 +-
> gdb/arch/aarch64.h                           |   9 +-
> gdb/doc/gdb.texinfo                          |   3 +
> gdb/features/Makefile                        |   1 +
> gdb/features/aarch64-pauth.c                 |  16 +
> gdb/features/aarch64-pauth.xml               |  13 +
> gdb/gdbserver/linux-aarch64-ipa.c            |   8 +-
> gdb/gdbserver/linux-aarch64-low.c            |  55 +++-
> gdb/gdbserver/linux-aarch64-tdesc-selftest.c |   2 +-
> gdb/gdbserver/linux-aarch64-tdesc.c          |  10 +-
> gdb/gdbserver/linux-aarch64-tdesc.h          |   2 +-
> gdb/gdbserver/linux-low.c                    |  14 +-
> gdb/gdbserver/linux-low.h                    |   1 +
> 18 files changed, 491 insertions(+), 74 deletions(-)
> create mode 100644 gdb/features/aarch64-pauth.c
> create mode 100644 gdb/features/aarch64-pauth.xml
> 
> -- 
> 2.17.2 (Apple Git-113)
> 



More information about the Gdb-patches mailing list