tile: pass machine size to sparse
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
Tue, 31 Oct 2017 17:22:23 +0000 (18:22 +0100)
committerChris Metcalf <cmetcalf@mellanox.com>
Tue, 31 Oct 2017 20:54:03 +0000 (16:54 -0400)
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: 'constant ... is so big it is unsigned long long'
or 'shift too big (32) for type unsigned long' when the architecture
is 64bit while sparse was compiled on a 32bit machine, or worse,
to not emit legitimate warnings in the reverse situation.

Fix this by passing to sparse the appropriate -m32/-m64 flag.

To: Chris Metcalf <cmetcalf@mellanox.com>
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
arch/tile/Makefile

index 4dc380a519d48ad2180279c38d64892cf662139b..8fa0befba32b42d8ab438af8f942bb0bb3f4e9d5 100644 (file)
@@ -51,6 +51,8 @@ else
 BITS := 32
 endif
 
+CHECKFLAGS     += -m$(BITS)
+
 head-y         := arch/tile/kernel/head_$(BITS).o
 
 libs-y         += arch/tile/lib/