[RFC 05/28] [SFrame-V3] sframe: gas: bfd: ld: format bump to version 3

Jens Remus jremus@linux.ibm.com
Wed Jan 7 15:52:36 GMT 2026


On 12/22/2025 3:01 PM, Jan Beulich wrote:
> On 09.12.2025 10:07, Indu Bhagat via Binutils wrote:
>> Bump version to SFRAME_VERSION_3.  Introduce a new definition of SFrame
>> FDE for version 3, which is a duplicate of SFrame FDE in V2, for now.
>> In other words, no changes to the format specification yet.
> 
> IOW between here and when v3 support is complete, bogus data will be
> emitted that no consumer should be really happy with. Odd.
> 
>> GNU as emits SFrame V3 by default.  SFrame encoder (ld) emits SFrame V3
>> sections.  In a later commit, we will add a new command line option to
>> gas: --gsframe-3 which will bind the implementation in gas to emit
>> SFrame V3.
> 
> Why would another command line option be needed when gas will emit v3
> only anyway, at the end (as said in patch 1)?

Not sure if Indu answered elsewhere.  It enables users to select a
specific version of SFrame and eases testing for GNU assembler SFrame
support of a specific version.  Following are two use cases I see:

Linux Kernel:
The Linux Kernel deferred stack tracer of user space might support
SFrame V3 in the future. [1]  It would therefore also make sense to
build the Linux Kernel vDSO with SFrame V3.  Given the Kernel has a
minimum binutils 2.30 requirement [2] it would be useless if the vDSO
was built with SFrame V2 when using an old binutils.  Likewise it would
be counterproductive if the vDSO was built with a future SFrame version,
not yet supported by the Kernel stack tracer.

Glibc:
The Glibc backtrace() implementation optionally supports SFrame.  [3]
For that purpose it makes sense if the Glibc is built with a version of
SFrame that is supported by its backtrace() implementation, which could
be a backlevel version (in the future), if support for other stack
tracers would matter.

[1]: Linux Kernel patch series "[PATCH v12 00/13] unwind_deferred:
     Implement sframe handling",
     https://lore.kernel.org/all/20251119132323.1281768-1-jremus@linux.ibm.com/
[2]: Minimal requirements to compile the Kernel,
     https://www.kernel.org/doc/html/latest/process/changes.html
[3]: Glibc patch series "[PATCH v8 0/6] glibc: Add SFrame support for
     stack backtracing",
     https://inbox.sourceware.org/libc-alpha/20250714075926.34870-1-claudiu.zissulescu-ianculescu@oracle.com/

Regards,
Jens
-- 
Jens Remus
Linux on Z Development (D3303)
jremus@de.ibm.com / jremus@linux.ibm.com

IBM Deutschland Research & Development GmbH; Vorsitzender des Aufsichtsrats: Wolfgang Wendt; Geschäftsführung: David Faller; Sitz der Gesellschaft: Ehningen; Registergericht: Amtsgericht Stuttgart, HRB 243294
IBM Data Privacy Statement: https://www.ibm.com/privacy/



More information about the Binutils mailing list