summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-05-30 22:48:38 +0200
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-06-01 04:36:58 +0200
commit1f2f01b122d7c78a9e842a126ef168afb279552b (patch)
tree1b1732ed86d8ff44efe1ee7812b26ee1741939b3 /Makefile
parentkbuild: add endianness flag to CHEKCFLAGS (diff)
downloadlinux-1f2f01b122d7c78a9e842a126ef168afb279552b.tar.xz
linux-1f2f01b122d7c78a9e842a126ef168afb279552b.zip
kbuild: add machine size to CHECKFLAGS
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 for the other archs, like issuing false warnings ('shift too big (32) for type unsigned long'), or worse, failing to emit legitimate warnings. Fix this by adding the -m32/-m64 flag, depending on CONFIG_64BIT, to CHECKFLAGS in the main Makefile (and so for all archs). Also, remove the now unneeded -m32/-m64 in arch specific Makefiles. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 68982ba7bc2f..2626de329e5f 100644
--- a/Makefile
+++ b/Makefile
@@ -877,6 +877,9 @@ endif
# insure the checker run with the right endianness
CHECKFLAGS += $(if $(CONFIG_CPU_BIG_ENDIAN),-mbig-endian,-mlittle-endian)
+# the checker needs the correct machine size
+CHECKFLAGS += $(if $(CONFIG_64BIT),-m64,-m32)
+
# Default kernel image to build when no specific target is given.
# KBUILD_IMAGE may be overruled on the command line or
# set in the environment