This series lets elfutils unwind on alpha, from core files
(eu-stack --core), from stopped threads (eu-stack -p) and from perf
samples (eu-stackprof).

Patch 1 fixes the prstatus layout, which had pc and unique one slot too
far. Patch 2 adds the ABI CFI and patch 3 reads the registers of a
stopped thread with ptrace. Patch 4 unwinds from perf samples.

Since Linux 7.1 the kernel returns a peeked value in [-4095, -1] as an
error, which breaks patch 3 for threads with such a register value (seen
with run-backtrace-native.sh). "alpha: enable GENERIC_ENTRY", queued in
the alpha tree, fixes that.

Patch 4 depends on the proposed kernel support for perf register
sampling on alpha, which also provides <asm/perf_regs.h>:

https://lore.kernel.org/r/[email protected]

Patch 2 is also what perf record --call-graph dwarf needs from libdw on
alpha. The perf tool side is posted as:

https://lore.kernel.org/r/[email protected]

Signed-off-by: Matt Turner <[email protected]>
---
Matt Turner (4):
      backends: Fix alpha prstatus pc and unique register offsets
      backends: Add alpha abi_cfi
      backends: Add alpha set_initial_registers_tid
      backends, libdwfl_stacktrace: Add alpha perf sample unwinding

 NEWS                                     |  4 ++
 backends/Makefile.am                     |  3 +-
 backends/alpha_cfi.c                     | 69 ++++++++++++++++++++++++++++++
 backends/alpha_corenote.c                |  5 ++-
 backends/alpha_init.c                    | 11 +++++
 backends/alpha_initreg.c                 | 72 +++++++++++++++++++++++++++++++
 backends/alpha_initreg_sample.c          | 73 ++++++++++++++++++++++++++++++++
 backends/libebl_PERF_FLAGS.h             | 16 +++++++
 configure.ac                             |  6 ++-
 libdwfl_stacktrace/dwflst_sample_frame.c | 10 +++++
 10 files changed, 265 insertions(+), 4 deletions(-)
---
base-commit: 7b675cbdb0d1f216938b4b33aea30fd35fb1ae0a
change-id: 20261001-alpha-39931d3286bb

Best regards,
-- 
Matt Turner <[email protected]>

Reply via email to