On Fri, Feb 06, 2026 at 03:56:59PM -0800, H. Peter Anvin wrote: > 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.
+1 -- Josh
