This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [PATCH v2 0/8] Support for AArch64 Pointer Authentication


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)
> 


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