Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Alan Hayward <Alan.Hayward@arm.com>
To: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Cc: nd <nd@arm.com>, Alan Hayward <Alan.Hayward@arm.com>
Subject: [PATCH v2 0/8] Support for AArch64 Pointer Authentication
Date: Wed, 06 Mar 2019 13:33:00 -0000	[thread overview]
Message-ID: <20190306133325.2531-1-alan.hayward@arm.com> (raw)

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)


             reply	other threads:[~2019-03-06 13:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-06 13:33 Alan Hayward [this message]
2019-03-06 13:33 ` [PATCH v2 2/8] AArch64: Use HWCAP to detect pauth feature Alan Hayward
2019-03-21 20:51   ` Simon Marchi
2019-03-22 12:06     ` Alan Hayward
2019-03-06 13:33 ` [PATCH v2 5/8] AArch64: Add pauth DWARF registers Alan Hayward
2019-03-06 13:33 ` [PATCH v2 7/8] AArch64: Prologue scan unwinder support for signed return addresses Alan Hayward
2019-03-06 13:33 ` [PATCH v2 6/8] AArch64: DWARF " Alan Hayward
2019-03-06 13:33 ` [PATCH v2 1/8] AArch64: Add pointer authentication feature Alan Hayward
2019-03-06 15:36   ` Eli Zaretskii
2019-03-06 13:33 ` [PATCH v2 4/8] AArch64: gdbserver: read pauth registers Alan Hayward
2019-03-21 21:03   ` Simon Marchi
2019-03-06 13:33 ` [PATCH v2 3/8] AArch64: Read " Alan Hayward
2019-03-21 20:56   ` Simon Marchi
2019-03-06 13:33 ` [PATCH v2 8/8] AArch64: Read pauth section from core files Alan Hayward
2019-03-14 12:34 ` [PATCH v2 0/8] Support for AArch64 Pointer Authentication Alan Hayward
2019-03-21 21:29   ` Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190306133325.2531-1-alan.hayward@arm.com \
    --to=alan.hayward@arm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox