On February 6, 2026 9:48:24 AM PST, Jens Remus <[email protected]> wrote:
>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

Seems a lot cleaner to me, too, assuming it actually works.

Reply via email to