On Mon, 3 Mar 2025 at 01:02, tip-bot2 for Josh Poimboeuf <tip-bot2@xxxxxxxxxxxxx> wrote: > > 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. Can we please explain *why* this is done? It may not be required, but it makes the source code uglier and adds a conditional. What's the advantage of adding this extra logic? I'm sure there is some reason for this change, but that reason should be explained. Because "we don't need it" cuts both ways. Maybe we don't need the ASM_CALL_CONSTRAINT, but it also didn't use to hurt us. The problems seems entirely caused by the change to use a strictly inferior version of ASM_CALL_CONSTRAINT. Is there really no better option? Because the new ASM_CALL_CONSTRAINT seems actively horrendous. Linus
![]() |