Message ID | 20170624154211.61472-1-luc.vanoostenryck@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Jun 24, 2017 at 05:42:11PM +0200, Luc Van Oostenryck wrote: > ARM64 depends on the macro __AARCH64EB__ being defined or not > to correctly select or define endian-specific macros, structures > or pieces of code. > > This macro is predefined by the compiler but sparse knows nothing > about it and thus may pre-process files differently from what > gcc would. > > Fix this by passing '-D__AARCH64EL__' or '-D__AARCH64EB__' to > sparse depending of the endianness of the kernel, like defined > by GCC. > > Note: In most case it won't change anything since most arm64 use > little-endian (but an allyesconfig would use big-endian!). > > CC: Catalin Marinas <catalin.marinas@arm.com> > CC: Will Deacon <will.deacon@arm.com> > CC: linux-arm-kernel@lists.infradead.org > Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> > --- > arch/arm64/Makefile | 2 ++ > 1 file changed, 2 insertions(+) Thanks, I'll pick this up. Will
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index 15d6c1476..8ed11b94a 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -52,11 +52,13 @@ KBUILD_AFLAGS += $(lseinstr) $(brokengasinst) ifeq ($(CONFIG_CPU_BIG_ENDIAN), y) KBUILD_CPPFLAGS += -mbig-endian +CHECKFLAGS += -D__AARCH64EB__ AS += -EB LD += -EB UTS_MACHINE := aarch64_be else KBUILD_CPPFLAGS += -mlittle-endian +CHECKFLAGS += -D__AARCH64EL__ AS += -EL LD += -EL UTS_MACHINE := aarch64
ARM64 depends on the macro __AARCH64EB__ being defined or not to correctly select or define endian-specific macros, structures or pieces of code. This macro is predefined by the compiler but sparse knows nothing about it and thus may pre-process files differently from what gcc would. Fix this by passing '-D__AARCH64EL__' or '-D__AARCH64EB__' to sparse depending of the endianness of the kernel, like defined by GCC. Note: In most case it won't change anything since most arm64 use little-endian (but an allyesconfig would use big-endian!). CC: Catalin Marinas <catalin.marinas@arm.com> CC: Will Deacon <will.deacon@arm.com> CC: linux-arm-kernel@lists.infradead.org Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> --- arch/arm64/Makefile | 2 ++ 1 file changed, 2 insertions(+)