The following commit has been merged into the x86/asm branch of tip: Commit-ID: e5ff90b179d45df71373cf79f99d20c9abe229cb Gitweb: https://git.kernel.org/tip/e5ff90b179d45df71373cf79f99d20c9abe229cb Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> AuthorDate: Sun, 02 Mar 2025 17:21:03 -08:00 Committer: Ingo Molnar <mingo@xxxxxxxxxx> CommitterDate: Mon, 03 Mar 2025 11:39:54 +01:00 x86/asm: Make ASM_CALL_CONSTRAINT conditional on frame pointers With frame pointers enabled, ASM_CALL_CONSTRAINT is used in an inline asm statement with a call instruction to force the compiler to set up the frame pointer before doing the call. Without frame pointers, no such constraint is needed. Make it conditional on frame pointers. Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx --- arch/x86/include/asm/asm.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h index 0d268e6..f1db9e8 100644 --- a/arch/x86/include/asm/asm.h +++ b/arch/x86/include/asm/asm.h @@ -232,7 +232,11 @@ register unsigned long current_stack_pointer asm(_ASM_SP); * gets set up by the containing function. If you forget to do this, objtool * may print a "call without frame pointer save/setup" warning. */ +#ifdef CONFIG_UNWINDER_FRAME_POINTER #define ASM_CALL_CONSTRAINT "r" (__builtin_frame_address(0)) +#else +#define ASM_CALL_CONSTRAINT +#endif #endif /* __ASSEMBLY__ */
![]() |