aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/Makefile
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-06-24 17:42:11 +0200
committerWill Deacon <will.deacon@arm.com>2017-06-26 10:15:06 +0100
commitbcde519e8c325f3cc1fcf443eb6466e6bb3a3aca (patch)
tree1306a5c2a912dfac4b043d8e80bef8ce55ce226e /arch/arm64/Makefile
parentarm64: ftrace: fix !CONFIG_ARM64_MODULE_PLTS kernels (diff)
downloadlinux-dev-bcde519e8c325f3cc1fcf443eb6466e6bb3a3aca.tar.xz
linux-dev-bcde519e8c325f3cc1fcf443eb6466e6bb3a3aca.zip
arm64: pass endianness info to sparse
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> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/Makefile')
-rw-r--r--arch/arm64/Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index fdb0133142ff..9b41f1e3b1a0 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