On March 3, 2025 2:47:58 PM PST, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: >On Mon, Mar 03, 2025 at 02:45:50PM -0800, Josh Poimboeuf wrote: >> On Mon, Mar 03, 2025 at 02:31:50PM -0800, H. Peter Anvin wrote: >> > >+#ifdef CONFIG_UNWINDER_FRAME_POINTER >> > > #define ASM_CALL_CONSTRAINT "r" (__builtin_frame_address(0)) >> > >+#else >> > >+#define ASM_CALL_CONSTRAINT >> > >+#endif >> > > >> > > #endif /* __ASSEMBLY__ */ >> > > >> > >> > Wait, why was this changed? I actually tested this form at least once >> > and found that it didn't work under all circumstances... >> >> Do you have any more details about where this didn't work? I tested >> with several configs and it seems to work fine. Objtool will complain >> if it doesn't work. >> >> See here for the justification (the previous version was producing crap >> code in Clang): > >Gah, that link doesn't work because I forgot to cc lkml. > >Here's the tip bot link: > > https://lore.kernel.org/all/174099976253.10177.12542657892256193630.tip-bot2@tip-bot2/ > One more thing: if we remove ASM_CALL_CONSTRAINTS, we will not be able to use the redzone in future FRED only kernel builds.
![]() |