By default, sparse assumes a 64bit machine when compiled on x86-64 and 32bit when compiled on anything else.
This can of course create all sort of problems, like issuing false warnings like: 'shift too big (32) for type unsigned long', or worse, to not emit legitimate warnings. Fix this by passing to sparse the appropriate -m32/-m64 flag Signed-off-by: Luc Van Oostenryck <luc.vanoostenr...@gmail.com> --- arch/sh/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 65300193b..3a195c9d5 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile @@ -206,6 +206,8 @@ ifeq ($(CONFIG_DWARF_UNWINDER),y) KBUILD_CFLAGS += -fasynchronous-unwind-tables endif +CHECKFLAGS += -m$(BITS) + libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) -- 2.17.0