The following commit has been merged into the x86/asm branch of tip: Commit-ID: 05844663b4fcf22bb3a1494615ae3f25852c9abc Gitweb: https://git.kernel.org/tip/05844663b4fcf22bb3a1494615ae3f25852c9abc Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> AuthorDate: Sun, 02 Mar 2025 17:21:03 -08:00 Committer: Ingo Molnar <mingo@xxxxxxxxxx> CommitterDate: Tue, 04 Mar 2025 11:21:40 +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__ */
![]() |