From: <srinath.parvathaneni@arm.com>
To: <gdb-patches@sourceware.org>
Cc: <thiago.bauermann@linaro.org>, <luis.machado.foss@gmail.com>,
<guinevere@redhat.com>, <Ezra.Sitorus@arm.com>,
<Matthieu.Longo@arm.com>,
Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Subject: [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature
Date: Fri, 26 Jun 2026 18:08:14 +0000 [thread overview]
Message-ID: <20260626180821.376406-1-srinath.parvathaneni@arm.com> (raw)
From: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Thanks Matthieu, Ezra and Luis for the reviews.
Changes v1 -> v2:
* Rebased the SIGSEGV diagnostic support on Matthieu Longo's generic
"siginfo_t" changes, using the new "_._addr_pkey.si_pkey" layout
instead of introducing a target-specific "siginfo_t" extension.
* Split the original series into smaller, subsystem-specific patches:
* GDB register support
* POR_EL0 pretty printing
* SIGSEGV diagnostics
* gdbserver support
* BFD/readelf core file support
* GDB core file support
* Testsuite
* Separated BFD/readelf and GDB core file support into independent
patches.
* Retained FEAT_S1POE expansion as "Permission Overlay Extension" after internal discussion.
* Removed the POR_EL0 permission decoding string (e.g. `por_el0[pkey=<value>] = rwx`) from
SIGSEGV diagnostics, as displaying permissions without also showing base and effective
permissions can be misleading to users.
* Rebased the series onto current upstream master + Matthieu's patch
"gdb: align siginfo_t with the Linux kernel definition"
----------------
Hi,
This series adds support for the AArch64 Permission Overlay Extension
(FEAT_S1POE) in GDB, gdbserver, BFD and the testsuite.
The series introduces support for the POR_EL0 register, allowing GDB to
read and write the register using the Linux "NT_ARM_POE" regset. It also
improves SIGSEGV diagnostics for Permission Overlay violations and
extends gdbserver and core file handling to preserve POR_EL0 during
remote debugging and core file analysis.
The series consists of the following patches:
[1/7] gdb/aarch64: Add POR_EL0 register support
Add POR_EL0 to the AArch64 register set and support reading and
writing the register using the Linux "NT_ARM_POE" regset.
[2/7] gdb/aarch64: Add custom printing for POR_EL0
Add custom printing support for the POR_EL0 register.
[3/7] gdb: Improve SIGSEGV diagnostics for POE faults
Report the faulting address together with the associated
protection key for Permission Overlay violations.
[4/7] gdbserver/aarch64: Add POR_EL0 register support
Transfer POR_EL0 through the Linux "NT_ARM_POE" regset during
remote debugging.
[5/7] bfd/readelf: Add core file support for FEAT_S1POE
Add support for the "NT_ARM_POE" core file note.
[6/7] gdb/aarch64: Add core file support for FEAT_S1POE
Restore POR_EL0 from core files.
[7/7] gdb/testsuite: Add FEAT_S1POE testcases
Add tests covering register access, SIGSEGV diagnostics,
fix-and-continue, and core file support.
The series has been tested natively and using gdbserver with
remote GDB on an FVP built using shrinkwrap with a Linux kernel
configured with "CONFIG_ARM64_POE=y" and a glibc version
providing userspace POE support.
Regression tested on aarch64-none-linux-gnu with no regressions.
Ok for Binutils-GDB ?
Regards,
Srinath
Srinath Parvathaneni (7):
gdb/aarch64: Add POR_EL0 register support for FEAT_S1POE
gdb/aarch64: Add custom printing for POR_EL0
gdb: Improve SIGSEGV diagnostics for POE faults
gdbserver/aarch64: Add POR_EL0 register support
bfd/readelf: Add core file support for FEAT_S1POE
gdb/aarch64: Add core file support for FEAT_S1POE
gdb/testsuite: Add FEAT_S1POE testcases
bfd/elf.c | 25 +++++
binutils/readelf.c | 2 +
gdb/Makefile.in | 2 +
gdb/aarch64-linux-nat.c | 66 +++++++++++
gdb/aarch64-linux-tdep.c | 72 +++++++++++-
gdb/aarch64-tdep.c | 104 ++++++++++++++++++
gdb/aarch64-tdep.h | 11 +-
gdb/arch/aarch64-poe-linux.h | 29 +++++
gdb/arch/aarch64.c | 4 +
gdb/arch/aarch64.h | 7 +-
gdb/features/Makefile | 1 +
gdb/features/aarch64-poe.c | 14 +++
gdb/features/aarch64-poe.xml | 12 ++
gdb/nat/aarch64-poe-linux.h | 28 +++++
gdb/testsuite/gdb.arch/aarch64-poe-core.exp | 102 +++++++++++++++++
gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c | 52 +++++++++
.../gdb.arch/aarch64-poe-sigsegv.exp | 60 ++++++++++
gdb/testsuite/gdb.arch/aarch64-poe.c | 29 +++++
gdb/testsuite/gdb.arch/aarch64-poe.exp | 44 ++++++++
gdb/testsuite/lib/gdb.exp | 55 +++++++++
gdbserver/linux-aarch64-low.cc | 30 +++++
include/elf/common.h | 2 +
22 files changed, 746 insertions(+), 5 deletions(-)
create mode 100644 gdb/arch/aarch64-poe-linux.h
create mode 100644 gdb/features/aarch64-poe.c
create mode 100644 gdb/features/aarch64-poe.xml
create mode 100644 gdb/nat/aarch64-poe-linux.h
create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-core.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe-sigsegv.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-poe.exp
--
2.43.0
next reply other threads:[~2026-06-26 18:10 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-26 18:08 srinath.parvathaneni [this message]
2026-06-26 18:08 ` [PATCH v2 1/7] gdb/aarch64: Add POR_EL0 register support for FEAT_S1POE srinath.parvathaneni
2026-06-27 6:06 ` Thiago Jung Bauermann
2026-06-29 10:44 ` Srinath Parvathaneni
2026-07-01 5:16 ` Thiago Jung Bauermann
2026-07-01 14:45 ` Marc Zyngier
2026-06-26 18:08 ` [PATCH v2 2/7] gdb/aarch64: Add custom printing for POR_EL0 srinath.parvathaneni
2026-06-27 7:03 ` Thiago Jung Bauermann
2026-06-29 7:02 ` Srinath Parvathaneni
2026-06-29 15:58 ` Ezra Sitorus
2026-06-26 18:08 ` [PATCH v2 3/7] gdb: Improve SIGSEGV diagnostics for POE faults srinath.parvathaneni
2026-06-29 2:42 ` Thiago Jung Bauermann
2026-06-26 18:08 ` [PATCH v2 4/7] gdbserver/aarch64: Add POR_EL0 register support srinath.parvathaneni
2026-06-29 2:43 ` Thiago Jung Bauermann
2026-06-26 18:08 ` [PATCH v2 5/7] bfd/readelf: Add core file support for FEAT_S1POE srinath.parvathaneni
2026-06-29 2:43 ` Thiago Jung Bauermann
2026-06-26 18:08 ` [PATCH v2 6/7] gdb/aarch64: " srinath.parvathaneni
2026-06-29 2:44 ` Thiago Jung Bauermann
2026-06-26 18:08 ` [PATCH v2 7/7] gdb/testsuite: Add FEAT_S1POE testcases srinath.parvathaneni
2026-07-01 5:12 ` Thiago Jung Bauermann
2026-06-29 12:18 ` [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature Guinevere Larsen
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=20260626180821.376406-1-srinath.parvathaneni@arm.com \
--to=srinath.parvathaneni@arm.com \
--cc=Ezra.Sitorus@arm.com \
--cc=Matthieu.Longo@arm.com \
--cc=gdb-patches@sourceware.org \
--cc=guinevere@redhat.com \
--cc=luis.machado.foss@gmail.com \
--cc=thiago.bauermann@linaro.org \
/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