Re: [PATCH v7 6/6] x86/vdso: Enable sframe generation in VDSO

From: Jens Remus

Date: Fri Feb 06 2026 - 12:51:49 EST


On 2/4/2026 1:49 AM, H. Peter Anvin wrote:
> On 2026-02-03 09:19, Jens Remus wrote:
>> -
>> +#if defined(__x86_64__) && defined(CONFIG_AS_SFRAME)

My understanding is that you would like above changed to:

#ifdef CONFIG_AS_SFRAME

>> + .cfi_sections .eh_frame, .debug_frame, .sframe
>> +#else
>> .cfi_sections .eh_frame, .debug_frame
>> +#endif
>>
>
> It would be better to:
>
> #undef CONFIG_AS_SFRAME /* i386 doesn't support .sframe */
>
> in fake_32bit_build.h.
Due to (binutils 2.46 pre-release) GNU assembler supporting --gsframe-3,
but only for x86-64 not for x86-32 (nor x32) CONFIG_AS_SFRAME is enabled
even for my i386 cross build attempt. This then wrongly causes the
.cfi_sections with .sframe to be selected (verified by adding an #error
for testing).

IIUC the .cfi_sections is there to have DWARF in both .eh_frame and
.debug_frame. For .sframe it basically has the same effect as
specifying the common assembler option --gsframe. Given the more
specific option --gsframe-3 is explicitly specified I think it would
be better to drop the changes to both dwarf2.h and fake_32bit_build.h
and solely rely on --gsframe-3.

Josh, Indu, do you agree?

Thanks and rRegards,
Jens
--
Jens Remus
Linux on Z Development (D3303)
jremus@xxxxxxxxxx / jremus@xxxxxxxxxxxxx

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/