From: Guinevere Larsen <guinevere@redhat.com>
To: srinath.parvathaneni@arm.com, gdb-patches@sourceware.org
Cc: thiago.bauermann@linaro.org, luis.machado.foss@gmail.com,
Ezra.Sitorus@arm.com, Matthieu.Longo@arm.com
Subject: Re: [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature
Date: Mon, 29 Jun 2026 09:18:51 -0300 [thread overview]
Message-ID: <addfd1b7-94d2-40d0-89f8-efe684689753@redhat.com> (raw)
In-Reply-To: <20260626180821.376406-1-srinath.parvathaneni@arm.com>
On 6/26/26 3:08 PM, srinath.parvathaneni@arm.com wrote:
> 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.
Hi Srinath!
I don't know much about the arm architecture or this extension in
specific, but it seems that it at least adds new registers so this seems
like a valid question: Do these impact recording of ARM instructions
with the record-full subsystem at all?
It would be nice to have a gdb.reverse test that exercises some (ideally
all) new instructions if there are any, and some other instructions that
manipulate those new registers, if needed.
This isn't required to get this series merged, of course, but it would
be very nice to have it.
--
Cheers,
Guinevere Larsen
it/its
she/her (deprecated)
>
> 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
>
prev parent reply other threads:[~2026-06-29 12:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-26 18:08 srinath.parvathaneni
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 ` Guinevere Larsen [this message]
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=addfd1b7-94d2-40d0-89f8-efe684689753@redhat.com \
--to=guinevere@redhat.com \
--cc=Ezra.Sitorus@arm.com \
--cc=Matthieu.Longo@arm.com \
--cc=gdb-patches@sourceware.org \
--cc=luis.machado.foss@gmail.com \
--cc=srinath.parvathaneni@arm.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