arm: Replace ASSEMBLY with ASSEMBLER in uapi headers
PATCH 1/1 arm: Replace ASSEMBLY with ASSEMBLER in uapi headers
ASSEMBLY is defined only by the kernel Makefile and thus not suitable for uapi headers unless userspace Makefiles also define it. Switch to ASSEMBLER, which the compiler sets automatically when compiling assembly. Reference: commit 639f08fc20c92c2cc373b2b4d065185daa9633e3
--- arch/arm/include/uapi/asm/ptrace.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/include/uapi/asm/ptrace.h +2 -2
@@ -119,7 +119,7 @@#define PT_DATA_ADDR 0x10004#define PT_TEXT_END_ADDR 0x10008 -#ifndef __ASSEMBLY__ +#ifndef __ASSEMBLER__/* * This struct defines the way the registers are stored on the
@@ -158,6 +158,6 @@ struct pt_regs { #define ARM_VFPREGS_SIZE ( 32 * 8 /*fpregs*/ + 4 /*fpscr*/ ) -#endif /* __ASSEMBLY__ */ +#endif /* __ASSEMBLER__ */ #endif /* _UAPI__ASM_ARM_PTRACE_H */
Signature · 1 line
2.43.0
Quoted 4 lines · Nick Huang
ASSEMBLY is defined only by the kernel
Makefileand thus not suitable for uapi headers unless userspace Makefiles also define it. Switch to ASSEMBLER, which the compiler sets automatically when compiling assembly. Reference: commit639f08fc20c92c2cc373b2b4d065185daa9633e3
While not a regression, as this used not to work anyway with ASSEMBLY,
the use of ASSEMBLER requires sufficiently new a compiler and in principle the userland may have old tools installed for whatever reason. So perhaps #error is in order if the compiler is not recent enough, for a complete fix?
FWIW GCC 2.95.x didn't yet have it, it landed ultimately with GCC 3.0.
Do we care? For instance the GNU C library still does for its installed headers.
Maciej
Re: [PATCH] arm: Replace __ASSEMBLY__ with __ASSEMBLER__ in uapi headers
Quoted 11 lines
While not a regression, as this used not to work anyway with ASSEMBLY,
the use of ASSEMBLER requires sufficiently new a compiler and in principle the userland may have old tools installed for whatever reason. So perhaps #error is in order if the compiler is not recent enough, for a complete fix?FWIW GCC 2.95.x didn't yet have it, it landed ultimately with GCC 3.0. Do we care? For instance the GNU C library still does for its installed
headers.Maciej
Thanks, Maciej — good point about older toolchains. I'll send v2 of the patch that adds a compile-time check and an #error when the
compiler is too old to provide ASSEMBLER, making the failure explicit.
--
Regards,
Nick Huang