Re: [tip: x86/asm] x86/asm: Make ASM_CALL_CONSTRAINT conditional on frame pointers
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Re: [tip: x86/asm] x86/asm: Make ASM_CALL_CONSTRAINT conditional on frame pointers
- From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
- Date: Mon, 3 Mar 2025 14:45:48 -0800
- Cc: linux-kernel@xxxxxxxxxxxxxxx, tip-bot2 for Josh Poimboeuf <tip-bot2@xxxxxxxxxxxxx>, linux-tip-commits@xxxxxxxxxxxxxxx, Ingo Molnar <mingo@xxxxxxxxxx>, "Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Brian Gerst <brgerst@xxxxxxxxx>, x86@xxxxxxxxxx
- In-reply-to: <C77024F6-3087-40A3-8AFB-A642EECAFF4E@zytor.com>
- References: <174099976188.10177.7153571701278544000.tip-bot2@tip-bot2> <C77024F6-3087-40A3-8AFB-A642EECAFF4E@zytor.com>
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):
https://lore.kernel.org/dbea2ae2fb39bece21013f939ddeb15507baa7d3.1740964309.git.jpoimboe@xxxxxxxxxx
--
Josh
[Index of Archives]
[Linux Stable Commits]
[Linux Stable Kernel]
[Linux Kernel]
[Linux USB Devel]
[Linux Video &Media]
[Linux Audio Users]
[Yosemite News]
[Linux SCSI]