summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2019-09-06Linux 4.9.191v4.9.191Greg Kroah-Hartman1-1/+1
2019-08-25Linux 4.9.190v4.9.190Greg Kroah-Hartman1-1/+1
2019-08-11Linux 4.9.189v4.9.189Greg Kroah-Hartman1-1/+1
2019-08-06Linux 4.9.188v4.9.188Greg Kroah-Hartman1-1/+1
2019-08-06kbuild: initialize CLANG_FLAGS correctly in the top MakefileMasahiro Yamada1-1/+2
commit 5241ab4cf42d3a93b933b55d3d53f43049081fa1 upstream. CLANG_FLAGS is initialized by the following line: CLANG_FLAGS := --target=$(notdir $(CROSS_COMPILE:%-=%)) ..., which is run only when CROSS_COMPILE is set. Some build targets (bindeb-pkg etc.) recurse to the top Makefile. When you build the kernel with Clang but without CROSS_COMPILE, the same compiler flags such as -no-integrated-as are accumulated into CLANG_FLAGS. If you run 'make CC=clang' and then 'make CC=clang bindeb-pkg', Kbuild will recompile everything needlessly due to the build command change. Fix this by correctly initializing CLANG_FLAGS. Fixes: 238bcbc4e07f ("kbuild: consolidate Clang compiler flags") Cc: <stable@vger.kernel.org> # v5.0+ Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Acked-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-04Linux 4.9.187v4.9.187Greg Kroah-Hartman1-1/+1
2019-08-04kbuild: Add -Werror=unknown-warning-option to CLANG_FLAGSNathan Chancellor1-0/+1
[ Upstream commit 589834b3a0097a4908f4112eac0ca2feb486fa32 ] In commit ebcc5928c5d9 ("arm64: Silence gcc warnings about arch ABI drift"), the arm64 Makefile added -Wno-psabi to KBUILD_CFLAGS, which is a GCC only option so clang rightfully complains: warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option] https://clang.llvm.org/docs/DiagnosticsReference.html#wunknown-warning-option However, by default, this is merely a warning so the build happily goes on with a slew of these warnings in the process. Commit c3f0d0bc5b01 ("kbuild, LLVMLinux: Add -Werror to cc-option to support clang") worked around this behavior in cc-option by adding -Werror so that unknown flags cause an error. However, this all happens silently and when an unknown flag is added to the build unconditionally like -Wno-psabi, cc-option will always fail because there is always an unknown flag in the list of flags. This manifested as link time failures in the arm64 libstub because -fno-stack-protector didn't get added to KBUILD_CFLAGS. To avoid these weird cryptic failures in the future, make clang behave like gcc and immediately error when it encounters an unknown flag by adding -Werror=unknown-warning-option to CLANG_FLAGS. This can be added unconditionally for clang because it is supported by at least 3.0.0, according to godbolt [1] and 4.0.0, according to its documentation [2], which is far earlier than we typically support. [1]: https://godbolt.org/z/7F7rm3 [2]: https://releases.llvm.org/4.0.0/tools/clang/docs/DiagnosticsReference.html#wunknown-warning-option Link: https://github.com/ClangBuiltLinux/linux/issues/511 Link: https://github.com/ClangBuiltLinux/linux/issues/517 Suggested-by: Peter Smith <peter.smith@linaro.org> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-07-21Linux 4.9.186v4.9.186Greg Kroah-Hartman1-1/+1
2019-07-10Linux 4.9.185v4.9.185Greg Kroah-Hartman1-1/+1
2019-07-10gcc-9: silence 'address-of-packed-member' warningLinus Torvalds1-1/+1
commit 6f303d60534c46aa1a239f29c321f95c83dda748 upstream. We already did this for clang, but now gcc has that warning too. Yes, yes, the address may be unaligned. And that's kind of the point. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-27Linux 4.9.184v4.9.184Greg Kroah-Hartman1-1/+1
2019-06-22Linux 4.9.183v4.9.183Greg Kroah-Hartman1-1/+1
2019-06-17Linux 4.9.182v4.9.182Greg Kroah-Hartman1-1/+1
2019-06-11Linux 4.9.181v4.9.181Greg Kroah-Hartman1-1/+1
2019-05-31Linux 4.9.180v4.9.180Greg Kroah-Hartman1-1/+1
2019-05-25Linux 4.9.179v4.9.179Greg Kroah-Hartman1-1/+1
2019-05-21Linux 4.9.178v4.9.178Greg Kroah-Hartman1-1/+1
2019-05-16Linux 4.9.177v4.9.177Greg Kroah-Hartman1-1/+1
2019-05-14Linux 4.9.176v4.9.176Greg Kroah-Hartman1-1/+1
2019-05-10Linux 4.9.175v4.9.175Greg Kroah-Hartman1-1/+1
2019-05-08Linux 4.9.174v4.9.174Greg Kroah-Hartman1-1/+1
2019-05-04Linux 4.9.173v4.9.173Greg Kroah-Hartman1-1/+1
2019-05-02Linux 4.9.172v4.9.172Greg Kroah-Hartman1-1/+1
2019-04-27Linux 4.9.171v4.9.171Greg Kroah-Hartman1-1/+1
2019-04-27Revert "kbuild: use -Oz instead of -Os when using clang"Matthias Kaehlcke1-2/+1
commit a75bb4eb9e565b9f5115e2e8c07377ce32cbe69a upstream. The clang option -Oz enables *aggressive* optimization for size, which doesn't necessarily result in smaller images, but can have negative impact on performance. Switch back to the less aggressive -Os. This reverts commit 6748cb3c299de1ffbe56733647b01dbcc398c419. Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-20Linux 4.9.170v4.9.170Greg Kroah-Hartman1-1/+1
2019-04-17Linux 4.9.169v4.9.169Greg Kroah-Hartman1-1/+1
2019-04-17kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LDNick Desaulniers1-1/+1
commit ad15006cc78459d059af56729c4d9bed7c7fd860 upstream. This causes an issue when trying to build with `make LD=ld.lld` if ld.lld and the rest of your cross tools aren't in the same directory (ex. /usr/local/bin) (as is the case for Android's build system), as the GCC_TOOLCHAIN_DIR then gets set based on `which $(LD)` which will point where LLVM tools are, not GCC/binutils tools are located. Instead, select the GCC_TOOLCHAIN_DIR based on another tool provided by binutils for which LLVM does not provide a substitute for, such as elfedit. Fixes: 785f11aa595b ("kbuild: Add better clang cross build support") Link: https://github.com/ClangBuiltLinux/linux/issues/341 Suggested-by: Nathan Chancellor <natechancellor@gmail.com> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Tested-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-05Linux 4.9.168v4.9.168Greg Kroah-Hartman1-1/+1
2019-04-03Linux 4.9.167v4.9.167Greg Kroah-Hartman1-1/+1
2019-03-27Linux 4.9.166v4.9.166Greg Kroah-Hartman1-1/+1
2019-03-23Linux 4.9.165v4.9.165Greg Kroah-Hartman1-1/+1
2019-03-19Linux 4.9.164v4.9.164Greg Kroah-Hartman1-1/+1
2019-03-14Linux 4.9.163v4.9.163Greg Kroah-Hartman1-1/+1
2019-03-05Linux 4.9.162v4.9.162Greg Kroah-Hartman1-1/+1
2019-02-27Linux 4.9.161v4.9.161Greg Kroah-Hartman1-1/+1
2019-02-27kbuild: consolidate Clang compiler flagsMasahiro Yamada1-7/+6
commit 238bcbc4e07fad2fff99c5b157d0c37ccd4d093c upstream. Collect basic Clang options such as --target, --prefix, --gcc-toolchain, -no-integrated-as into a single variable CLANG_FLAGS so that it can be easily reused in other parts of Makefile. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Acked-by: Greg Hackmann <ghackmann@google.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27kbuild: add -no-integrated-as Clang option unconditionallyMasahiro Yamada1-2/+2
commit dbe27a002ef8573168cb64e181458ea23a74e2b6 upstream. We are still a way off the Clang's integrated assembler support for the kernel. Hence, -no-integrated-as is mandatory to build the kernel with Clang. If you had an ancient version of Clang that does not recognize this option, you would not be able to compile the kernel anyway. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27kbuild: set no-integrated-as before incl. arch MakefileStefan Agner1-2/+2
commit 0f0e8de334c54c38818a4a5390a39aa09deff5bf upstream. In order to make sure compiler flag detection for ARM works correctly the no-integrated-as flags need to be set before including the arch specific Makefile. Fixes: cfe17c9bbe6a ("kbuild: move cc-option and cc-disable-warning after incl. arch Makefile") Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [nc: Backport to 4.9; adjust context due to a previous backport] Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27kbuild: clang: disable unused variable warnings only when constantSodagudi Prasad1-2/+1
commit 0a5f41767444cc3b4fc5573921ab914b4f78baaa upstream. Currently, GCC disables -Wunused-const-variable, but not -Wunused-variable, so warns unused variables if they are non-constant. While, Clang does not warn unused variables at all regardless of the const qualifier because -Wno-unused-const-variable is implied by the stronger option -Wno-unused-variable. Disable -Wunused-const-variable instead of -Wunused-variable so that GCC and Clang work in the same way. Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27kbuild: clang: remove crufty HOSTCFLAGSNick Desaulniers1-5/+0
commit df16aaac26e92e97ab7234d3f93c953466adc4b5 upstream. When compiling with `make CC=clang HOSTCC=clang`, I was seeing warnings that clang did not recognize -fno-delete-null-pointer-checks for HOSTCC targets. These were added in commit 61163efae020 ("kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang"). Clang does not support -fno-delete-null-pointer-checks, so adding it to HOSTCFLAGS if HOSTCC is clang does not make sense. It's not clear why the other warnings were disabled, and just for HOSTCFLAGS, but I can remove them, add -Werror to HOSTCFLAGS and compile with clang just fine. Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [nc: Backport to 4.9; adjust context] Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27kbuild: clang: fix build failures with sparse checkDavid Lin1-2/+2
commit bb3f38c3c5b759163e09b9152629cc789731de47 upstream. We should avoid using the space character when passing arguments to clang, because static code analysis check tool such as sparse may misinterpret the arguments followed by spaces as build targets hence cause the build to fail. Signed-off-by: David Lin <dtwlin@google.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [nc: Backport to 4.9; adjust context] Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-27kbuild: move cc-option and cc-disable-warning after incl. arch MakefileMasahiro Yamada1-20/+23
commit cfe17c9bbe6a673fdafdab179c32b355ed447f66 upstream. Geert reported commit ae6b289a3789 ("kbuild: Set KBUILD_CFLAGS before incl. arch Makefile") broke cross-compilation using a cross-compiler that supports less compiler options than the host compiler. For example, cc1: error: unrecognized command line option "-Wno-unused-but-set-variable" This problem happens on architectures that setup CROSS_COMPILE in their arch/*/Makefile. Move the cc-option and cc-disable-warning back to the original position, but keep the Clang target options untouched. Fixes: ae6b289a3789 ("kbuild: Set KBUILD_CFLAGS before incl. arch Makefile") Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Geert Uytterhoeven <geert@linux-m68k.org> [nc: Backport to 4.9; adjust context due to a previous backport] Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-23Linux 4.9.160v4.9.160Greg Kroah-Hartman1-1/+1
2019-02-20Linux 4.9.159v4.9.159Greg Kroah-Hartman1-1/+1
2019-02-15Linux 4.9.158v4.9.158Greg Kroah-Hartman1-1/+1
2019-02-15Linux 4.9.157v4.9.157Greg Kroah-Hartman1-1/+1
2019-02-12Linux 4.9.156v4.9.156Greg Kroah-Hartman1-1/+1
2019-02-06Linux 4.9.155v4.9.155Greg Kroah-Hartman1-1/+1
2019-01-31Linux 4.9.154v4.9.154Greg Kroah-Hartman1-1/+1