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 b6c90e5006e4..119d1885a3c0 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -40,7 +40,7 @@ AS            += -EL
 LD             += -EL
-CHECKFLAGS     += -D__aarch64__
+CHECKFLAGS     += -D__aarch64__ -m64
 ifeq ($(CONFIG_ARM64_ERRATUM_843419), y)
 KBUILD_CFLAGS_MODULE   += -mcmodel=large

Reply via email to