[PATCH v3 0/3] sframe: Disable by default and support SFRAME_F_FDE_FUNC_START_PCREL

Andreas K. Huettel dilfridge@gentoo.org
Thu Jul 24 15:58:00 GMT 2025


Am Mittwoch, 23. Juli 2025, 15:47:22 Mitteleuropäische Sommerzeit schrieb Adhemerval Zanella:
> The SFrame prior binutils 2.45 is unstable on multiple architectures,
> so upcoming binutils 2.45 should be considered the minimum required
> version for SFrame backtracing. This version also includes an erratum,
> SFRAME_F_FDE_FUNC_START_PCREL, which is not currently supported on
> glibc. SFrame with this flag is currently ignored by glibc SFrame
> handling.
> 
> Due to the experimental nature, the first patch disables SFrame by
> default, adds extra checks to enable iff the architecture's explicit
> enablement is on glibc, and fixes some other build issues.
> 
> The second patch adds support for the SFRAME_F_FDE_FUNC_START_PCREL
> erratum, which adds SFrame support for binaries built with binutils
> 2.45.

OK so I gave patch 1 another read and tested...

* x86-64, binutils pre-2.45: 
   - no configure parameter, builds and tests fine with no indications of sframe
   - --enable-sframe, builds and tests fine with appropriate bits in the logs

* armv4tl, binutils 2.44: 
   - no configure parameter, builds and tests (mostly, nspawn) fine
   - --enable-sframe, errors out with architecture not supported (good)

* aarch64, binutils 2.44:
   - no configure parameter, builds and tests fine
   - --enable-sframe, errors out with too old binutils (good)

Let's push it.

This is hopefully the last real patch, I'll start with the release
afterwards.

> Changes from v3:
> * Fix configure check when trying to enable SFrame with old
>   toolchains.
> * Keep PT_GNU_SFRAME support on _dl-find_object.
> * Fixed wording on INSTALL.
> 
> Changes from v2:
> * Fixed STRIP value if not defined.
> * Fixed configure check if libc_cv_support_sframe is not set.
> * Added SFrame checks on tst-dl_find_object.c
> 
> Adhemerval Zanella (2):
>   Disable SFrame support by default
>   elf: Check SFrame on tst-dl_find_object.c
> 
> Claudiu Zissulescu (1):
>   sframe: Add support for SFRAME_F_FDE_FUNC_START_PCREL flag
> 
>  INSTALL                                     |   9 +-
>  NEWS                                        |   7 +-
>  aclocal.m4                                  |   4 +
>  config.h.in                                 |   3 +
>  config.make.in                              |   2 +-
>  configure                                   | 100 ++++++++-------
>  configure.ac                                |  60 ++++-----
>  debug/Makefile                              |  16 ++-
>  debug/backtrace.c                           |   6 +
>  {sysdeps/pthread => debug}/tst-backtrace1.c |   0
>  elf/tst-dl_find_object.c                    |  14 +++
>  manual/install.texi                         |  11 +-
>  sysdeps/aarch64/configure                   |   2 +
>  sysdeps/aarch64/configure.ac                |   2 +
>  sysdeps/generic/Makefile                    |   2 +
>  sysdeps/generic/sframe-read.c               | 128 +++++++++++++++-----
>  sysdeps/generic/sframe-read.h               |   6 +
>  sysdeps/generic/sframe.h                    |  15 ++-
>  sysdeps/pthread/Makefile                    |   1 -
>  sysdeps/x86_64/configure                    |   2 +
>  sysdeps/x86_64/configure.ac                 |   2 +
>  21 files changed, 273 insertions(+), 119 deletions(-)
>  rename {sysdeps/pthread => debug}/tst-backtrace1.c (100%)
> 
> 


-- 
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 981 bytes
Desc: This is a digitally signed message part.
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20250724/e3b22e5b/attachment.sig>


More information about the Libc-alpha mailing list