summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2019-04-27Linux 4.19.37v4.19.37Greg 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.19.36v4.19.36Greg Kroah-Hartman1-1/+1
2019-04-17Linux 4.19.35v4.19.35Greg 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.19.34v4.19.34Greg Kroah-Hartman1-1/+1
2019-04-05kbuild: invoke syncconfig if include/config/auto.conf.cmd is missingMasahiro Yamada1-2/+5
[ Upstream commit 9390dff66a52d1a60c6e517d8fa6cdbdffc83cb1 ] If include/config/auto.conf.cmd is lost for some reasons, it is not self-healing, so the top Makefile misses to run syncconfig. Move include/config/auto.conf.cmd to the target side. I used a pattern rule instead of a normal rule here although it is a bit gross. If the rule were written with a normal rule like this, include/config/auto.conf \ include/config/auto.conf.cmd \ include/config/tristate.conf: $(KCONFIG_CONFIG) $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig ... syncconfig would be executed per target. Using a pattern rule makes sure that syncconfig is executed just once because Make assumes the recipe will create all of the targets. Here is a quote from the GNU Make manual [1]: "Pattern rules may have more than one target. Unlike normal rules, this does not act as many different rules with the same prerequisites and recipe. If a pattern rule has multiple targets, make knows that the rule's recipe is responsible for making all of the targets. The recipe is executed only once to make all the targets. When searching for a pattern rule to match a target, the target patterns of a rule other than the one that matches the target in need of a rule are incidental: make worries only about giving a recipe and prerequisites to the file presently in question. However, when this file's recipe is run, the other targets are marked as having been updated themselves." [1]: https://www.gnu.org/software/make/manual/html_node/Pattern-Intro.html Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-03Linux 4.19.33v4.19.33Greg Kroah-Hartman1-1/+1
2019-04-03objtool: Query pkg-config for libelf locationRolf Eike Beer1-1/+3
commit 056d28d135bca0b1d0908990338e00e9dadaf057 upstream. If it is not in the default location, compilation fails at several points. Signed-off-by: Rolf Eike Beer <eb@emlix.com> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/91a25e992566a7968fedc89ec80e7f4c83ad0548.1553622500.git.jpoimboe@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-27Linux 4.19.32v4.19.32Greg Kroah-Hartman1-1/+1
2019-03-23Linux 4.19.31v4.19.31Greg Kroah-Hartman1-1/+1
2019-03-19Linux 4.19.30v4.19.30Greg Kroah-Hartman1-1/+1
2019-03-14Linux 4.19.29v4.19.29Greg Kroah-Hartman1-1/+1
2019-03-10Linux 4.19.28v4.19.28Greg Kroah-Hartman1-1/+1
2019-03-05Linux 4.19.27v4.19.27Greg Kroah-Hartman1-1/+1
2019-02-27Linux 4.19.26v4.19.26Greg Kroah-Hartman1-1/+1
2019-02-23Linux 4.19.25v4.19.25Greg Kroah-Hartman1-1/+1
2019-02-20Linux 4.19.24v4.19.24Greg Kroah-Hartman1-1/+1
2019-02-15Linux 4.19.23v4.19.23Greg Kroah-Hartman1-1/+1
2019-02-15Linux 4.19.22v4.19.22Greg Kroah-Hartman1-1/+1
2019-02-12Linux 4.19.21v4.19.21Greg Kroah-Hartman1-1/+1
2019-02-06Linux 4.19.20v4.19.20Greg Kroah-Hartman1-1/+1
2019-01-31Linux 4.19.19v4.19.19Greg Kroah-Hartman1-1/+1
2019-01-26Linux 4.19.18v4.19.18Greg Kroah-Hartman1-1/+1
2019-01-22Linux 4.19.17v4.19.17Greg Kroah-Hartman1-1/+1
2019-01-17Linux 4.19.16v4.19.16Greg Kroah-Hartman1-1/+1
2019-01-13Linux 4.19.15v4.19.15Greg Kroah-Hartman1-1/+1
2019-01-13Makefile: Export clang toolchain variablesJoel Stanley1-0/+1
commit 3bd9805090af843b25f97ffe5049f20ade1d86d6 upstream. The powerpc makefile will use these in it's boot wrapper. Signed-off-by: Joel Stanley <joel@jms.id.au> 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-01-13kbuild: 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-01-13kbuild: 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-01-13kbuild: fix false positive warning/error about missing libelfMasahiro Yamada1-5/+8
[ Upstream commit ef7cfd00b2caf6edeb7f169682b64be2d0a798cf ] For the same reason as commit 25896d073d8a ("x86/build: Fix compiler support check for CONFIG_RETPOLINE"), you cannot put this $(error ...) into the parse stage of the top Makefile. Perhaps I'd propose a more sophisticated solution later, but this is the best I can do for now. Link: https://lkml.org/lkml/2017/12/25/211 Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> Reported-by: Bernd Edlinger <bernd.edlinger@hotmail.de> Reported-by: Qian Cai <cai@lca.pw> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Qian Cai <cai@lca.pw> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-01-09Linux 4.19.14v4.19.14Greg Kroah-Hartman1-1/+1
2018-12-29Linux 4.19.13v4.19.13Greg Kroah-Hartman1-1/+1
2018-12-21Linux 4.19.12v4.19.12Greg Kroah-Hartman1-1/+1
2018-12-19Linux 4.19.11v4.19.11Greg Kroah-Hartman1-1/+1
2018-12-17Linux 4.19.10v4.19.10Greg Kroah-Hartman1-1/+1
2018-12-13Linux 4.19.9v4.19.9Greg Kroah-Hartman1-1/+1
2018-12-08Linux 4.19.8v4.19.8Greg Kroah-Hartman1-1/+1
2018-12-05Linux 4.19.7v4.19.7Greg Kroah-Hartman1-1/+1
2018-12-01Linux 4.19.6v4.19.6Greg Kroah-Hartman1-1/+1
2018-11-27Linux 4.19.5v4.19.5Greg Kroah-Hartman1-1/+1
2018-11-23Linux 4.19.4v4.19.4Greg Kroah-Hartman1-1/+1
2018-11-21Linux 4.19.3v4.19.3Greg Kroah-Hartman1-1/+1
2018-11-13Linux 4.19.2v4.19.2Greg Kroah-Hartman1-1/+1
2018-11-04Linux 4.19.1v4.19.1Greg Kroah-Hartman1-1/+1
2018-10-22Linux 4.19v4.19Greg Kroah-Hartman1-2/+2
2018-10-15Linux 4.19-rc8v4.19-rc8Greg Kroah-Hartman1-1/+1
2018-10-11Merge tag 'kbuild-fixes-v4.19-2' of ↵Greg Kroah-Hartman1-3/+5
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Masahiro writes: "Kbuild fixes for v4.19 (2nd) - Fix warnings from recordmcount.pl when building with Clang - Allow Clang to use GNU toolchains correctly - Disable CONFIG_SAMPLES for UML to avoid build error" * tag 'kbuild-fixes-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: samples: disable CONFIG_SAMPLES for UML kbuild: allow to use GCC toolchain not in Clang search path ftrace: Build with CPPFLAGS to get -Qunused-arguments
2018-10-07Linux 4.19-rc7v4.19-rc7Greg Kroah-Hartman1-1/+1
2018-09-30Linux 4.19-rc6v4.19-rc6Greg Kroah-Hartman1-1/+1