From: Luc Van Oostenryck <>

[ Upstream commit f5d284900c0f960e318a063f4c40826b6e3aa6a8 ]

When using sparse on the arm64 tree we get many thousands of
warnings like 'constant ... is so big it is unsigned long long'
or 'shift too big (32) for type unsigned long'. This happens
because by default sparse considers the machine as 32bit and
defines the size of the types accordingly.

Fix this by passing the '-m64' flag to sparse so that
sparse can correctly define longs as being 64bit.

CC: Catalin Marinas <>
CC: Will Deacon <>
Signed-off-by: Luc Van Oostenryck <>
Signed-off-by: Will Deacon <>
Signed-off-by: Sasha Levin <>
 arch/arm64/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index 92110c2c6c59..bc66f4b6a1cb 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -58,7 +58,7 @@ LD            += -EL
 UTS_MACHINE    := aarch64
-CHECKFLAGS     += -D__aarch64__
+CHECKFLAGS     += -D__aarch64__ -m64
 KBUILD_CFLAGS_MODULE   += -mcmodel=large

Reply via email to