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