Messages in this thread | | | Date | Fri, 2 Jul 2021 12:22:10 +0100 | From | Will Deacon <> | Subject | Re: [PATCH] arm64: drop CROSS_COMPILE for LLVM=1 LLVM_IAS=1 |
| |
On Thu, Jul 01, 2021 at 04:55:05PM -0700, Nick Desaulniers wrote: > We get constant feedback that the command line invocation of make is too > long. CROSS_COMPILE is helpful when a toolchain has a prefix of the > target triple, or is an absolute path outside of $PATH, but it's mostly > redundant for a given ARCH. > > If CROSS_COMPILE is not set, simply set --target=aarch64-linux for > CLANG_FLAGS, KBUILD_CFLAGS, and KBUILD_AFLAGS. > > Previously, we'd cross compile via: > $ ARCH=arm64 CROSS_COMPILE=aarch64-linxu-gnu make LLVM=1 LLVM_IAS=1 > Now: > $ ARCH=arm64 make LLVM=1 LLVM_IAS=1 > > We can drop gnu from the triple, but dropping linux from the triple > produces different .config files for the above invocations for the > defconfig target. > > Link: https://github.com/ClangBuiltLinux/linux/issues/1399 > Suggested-by: Arnd Bergmann <arnd@kernel.org> > Suggested-by: Fangrui Song <maskray@google.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > --- > arch/arm64/Makefile | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile > index 7bc37d0a1b68..016873fddcc3 100644 > --- a/arch/arm64/Makefile > +++ b/arch/arm64/Makefile > @@ -34,6 +34,17 @@ $(warning LSE atomics not supported by binutils) > endif > endif > > +ifneq ($(LLVM),) > +ifneq ($(LLVM_IAS),) > +ifeq ($(CROSS_COMPILE),) > +CLANG_TARGET :=--target=aarch64-linux > +CLANG_FLAGS += $(CLANG_TARGET) > +KBUILD_CFLAGS += $(CLANG_TARGET) > +KBUILD_AFLAGS += $(CLANG_TARGET)
Do we need to do anything extra for the linker here? I can't see how we avoid picking up the host copy.
> +endif > +endif > +endif
Have you tested the compat vDSO with this change? I think we'll just end up passing two --target options, which is hopefully ok, but thought I'd better check.
Will
| |