17 Apr, 2019
2 commits
-
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
Reviewed-by: Nathan Chancellor
Tested-by: Nathan Chancellor
Signed-off-by: Nick Desaulniers
Signed-off-by: Masahiro Yamada
Signed-off-by: Nathan Chancellor
Signed-off-by: Sasha Levin
06 Apr, 2019
2 commits
-
[ 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
Signed-off-by: Sasha Levin
03 Apr, 2019
2 commits
-
commit 056d28d135bca0b1d0908990338e00e9dadaf057 upstream.
If it is not in the default location, compilation fails at several points.
Signed-off-by: Rolf Eike Beer
Signed-off-by: Josh Poimboeuf
Signed-off-by: Thomas Gleixner
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/91a25e992566a7968fedc89ec80e7f4c83ad0548.1553622500.git.jpoimboe@redhat.com
Signed-off-by: Greg Kroah-Hartman
27 Mar, 2019
1 commit
24 Mar, 2019
1 commit
19 Mar, 2019
1 commit
14 Mar, 2019
1 commit
10 Mar, 2019
1 commit
06 Mar, 2019
1 commit
27 Feb, 2019
1 commit
23 Feb, 2019
1 commit
20 Feb, 2019
1 commit
15 Feb, 2019
2 commits
13 Feb, 2019
1 commit
07 Feb, 2019
1 commit
31 Jan, 2019
1 commit
26 Jan, 2019
1 commit
23 Jan, 2019
1 commit
17 Jan, 2019
1 commit
13 Jan, 2019
5 commits
-
commit 3bd9805090af843b25f97ffe5049f20ade1d86d6 upstream.
The powerpc makefile will use these in it's boot wrapper.
Signed-off-by: Joel Stanley
Signed-off-by: Masahiro Yamada
Signed-off-by: Nathan Chancellor
Signed-off-by: Greg Kroah-Hartman -
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
Reviewed-by: Nick Desaulniers
Tested-by: Nick Desaulniers
Acked-by: Greg Hackmann
Signed-off-by: Nathan Chancellor
Signed-off-by: Greg Kroah-Hartman -
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
Reviewed-by: Nick Desaulniers
Tested-by: Nick Desaulniers
Signed-off-by: Nathan Chancellor
Signed-off-by: Greg Kroah-Hartman -
[ 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
Reported-by: Bernd Edlinger
Reported-by: Qian Cai
Cc: Josh Poimboeuf
Signed-off-by: Masahiro Yamada
Tested-by: Qian Cai
Signed-off-by: Sasha Levin
10 Jan, 2019
1 commit
29 Dec, 2018
1 commit
21 Dec, 2018
1 commit
20 Dec, 2018
1 commit
17 Dec, 2018
1 commit
13 Dec, 2018
1 commit
08 Dec, 2018
1 commit
06 Dec, 2018
1 commit
01 Dec, 2018
1 commit
27 Nov, 2018
1 commit
23 Nov, 2018
1 commit
21 Nov, 2018
1 commit