[RFC PATCH v4 0/3] s390x: Add support for SFrame stack backtracing
Jens Remus
jremus@linux.ibm.com
Fri Jul 25 16:32:24 GMT 2025
Changes in RFC v4 (see individual patch notes for further details):
- SFrame represents RA undefined as SFrame FRE without any offsets
instead of SFrame FDE without any FREs and a RA undefined flag set.
This aligns more closely to DWARF and spares one FDE info word flag.
Changes in RFC v3 (see individual patch notes for further details):
- Rebase on top of Adhemerval's series "[PATCH v2 0/2] sframe: Disable
by default and support SFRAME_F_FDE_FUNC_START_PCREL".
- New patch to support RA undefined as indication for outermost frame
in SFrame.
- Remove MD_DETECT_OUTERMOST_FRAME, as the s390x ELF ABI does not
provide any mean to detect an outermost frame. (Stefan)
Instead rely on SFrame enhancement to represent RA undefined.
- Sync sframe.h to latest Binutils s390 SFrame support patch series.
This patch series adds s390 64-bit (s390x) support for SFrame. It is
RFC, as it depends on the upcoming Binutils 2.45, which provides
s390x SFrame support, and an on-top Binutils patch series to represent
RA undefined as SFrame FRE without any offsets:
It is based on top of Adhemerval Zanella's Glibc patch series
"[PATCH v2 0/2] sframe: Disable by default and support
SFRAME_F_FDE_FUNC_START_PCREL":
https://inbox.sourceware.org/libc-alpha/20250721234236.1434590-1-adhemerval.zanella@linaro.org/
It depends on my Binutils patch series "[PATCH v4 0/3] sframe:
Represent .cfi_undefined RA", which enables SFrame to represent
RA undefined as SFrame FRE without any offsets:
https://inbox.sourceware.org/binutils/20250725162333.2545584-1-jremus@linux.ibm.com/
Thanks and regards,
Jens
Jens Remus (3):
sframe: Support for RA undefined as indication for outermost frame
sframe: Start stack trace from PC and CFA
s390: Add SFrame support for s390 64-bit (s390x) architecture
debug/backtrace.c | 9 +-
sysdeps/generic/sframe-read.c | 14 +++
sysdeps/generic/sframe-read.h | 5 ++
sysdeps/generic/sframe.c | 88 ++++++++++++++-----
sysdeps/generic/sframe.h | 65 ++++++++++++--
sysdeps/s390/configure | 0
sysdeps/s390/s390-64/configure | 4 +
sysdeps/s390/s390-64/configure.ac | 4 +
sysdeps/s390/s390-64/sframe.h | 50 +++++++++++
.../sysv/linux/s390/s390-64/uw-sigframe.h | 86 ++++++++++++++++++
10 files changed, 294 insertions(+), 31 deletions(-)
mode change 100644 => 100755 sysdeps/s390/configure
mode change 100644 => 100755 sysdeps/s390/s390-64/configure
create mode 100644 sysdeps/s390/s390-64/sframe.h
create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/uw-sigframe.h
--
2.48.1
More information about the Libc-alpha
mailing list