Message ID | 20180528164018.16064-1-luc.vanoostenryck@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 05/28/2018 11:40 AM, Luc Van Oostenryck wrote: > 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 $ ${CROSS_COMPILE}gcc -E -dM - < /dev/null | grep __SIZEOF_LONG__ #define __SIZEOF_LONG__ 8 You can ask the compiler, you don't need to redundantly add this to every architecture's Makefile. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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)
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.vanoostenryck@gmail.com> --- arch/sh/Makefile | 2 ++ 1 file changed, 2 insertions(+)