* Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi all, > > After merging the tip tree, today's linux-next build (x86_64 allmodconfig) > failed like this: > > In file included from tools/arch/x86/include/asm/nops.h:5, > from arch/x86/decode.c:15: > tools/arch/x86/include/asm/asm.h:185:24: error: invalid register name for 'current_stack_pointer' > 185 | register unsigned long current_stack_pointer asm(_ASM_SP); > | ^~~~~~~~~~~~~~~~~~~~~ > > Caused by commit > > eef23e72b78b ("x86/asm: Use _ASM_BYTES() in <asm/nops.h>") > > I have used the tip tree from next-20210512 for today. Hm, this must be some cross-build artifact or toolchain version dependency - as plain native build of x86-64 allmodconfig builds just fine: CC arch/x86/decode.o LD arch/x86/objtool-in.o I tried with gcc-8, but that didn't trigger it. I suppose the workaround below would make it build - but that's not a real solution. hpa, any ideas? Thanks, Ingo diff --git a/tools/arch/x86/include/asm/asm.h b/tools/arch/x86/include/asm/asm.h index 507a37a46027..ada5482c024a 100644 --- a/tools/arch/x86/include/asm/asm.h +++ b/tools/arch/x86/include/asm/asm.h @@ -176,14 +176,6 @@ /* For C file, we already have NOKPROBE_SYMBOL macro */ -/* - * This output constraint should be used for any inline asm which has a "call" - * instruction. Otherwise the asm may be inserted before the frame pointer - * gets set up by the containing function. If you forget to do this, objtool - * may print a "call without frame pointer save/setup" warning. - */ -register unsigned long current_stack_pointer asm(_ASM_SP); -#define ASM_CALL_CONSTRAINT "+r" (current_stack_pointer) #endif /* __ASSEMBLY__ */ #endif /* _ASM_X86_ASM_H */