diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2018-05-30 22:48:38 +0200 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-06-01 04:36:58 +0200 |
commit | 1f2f01b122d7c78a9e842a126ef168afb279552b (patch) | |
tree | 1b1732ed86d8ff44efe1ee7812b26ee1741939b3 /Makefile | |
parent | kbuild: add endianness flag to CHEKCFLAGS (diff) | |
download | linux-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-- | Makefile | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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 |