Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature
@ 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
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: srinath.parvathaneni @ 2026-06-26 18:08 UTC (permalink / raw)
  To: gdb-patches
  Cc: thiago.bauermann, luis.machado.foss, guinevere, Ezra.Sitorus,
	Matthieu.Longo, Srinath Parvathaneni

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


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-07-01 14:46 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-26 18:08 [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature 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 ` [PATCH v2 0/7] gdb/aarch64: Add support for FEAT_S1POE feature Guinevere Larsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox