On Thu, Jul 23, 2020 at 6:15 AM Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > Newer versions of clang only look for $(COMPAT_GCC_TOOLCHAIN_DIR)as [1], > rather than $(COMPAT_GCC_TOOLCHAIN_DIR)$(CROSS_COMPILE_COMPAT)as, > resulting in the following build error: > > $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \ > CROSS_COMPILE_COMPAT=arm-linux-gnueabi- LLVM=1 O=out/aarch64 distclean \ > defconfig arch/arm64/kernel/vdso32/ > ... > /home/nathan/cbl/toolchains/llvm-binutils/bin/as: unrecognized option '-EL' > clang-12: error: assembler command failed with exit code 1 (use -v to see invocation) > make[3]: *** [arch/arm64/kernel/vdso32/Makefile:181: arch/arm64/kernel/vdso32/note.o] Error 1 > ... > > Adding the value of CROSS_COMPILE_COMPAT (adding notdir to account for a > full path for CROSS_COMPILE_COMPAT) fixes this issue, which matches the > solution done for the main Makefile [2]. > [ CC Masahiro ] Masahiro added a slightly adapted version of [2] in <kbuild.git#fixes>. Shall this go through kbuild subsystem or folded into [1]? - Sedat - [1] https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?h=fixes&id=ca9b31f6bb9c6aa9b4e5f0792f39a97bbffb8c51 > [1]: https://github.com/llvm/llvm-project/commit/3452a0d8c17f7166f479706b293caf6ac76ffd90 > [2]: https://lore.kernel.org/lkml/20200721173125.1273884-1-maskray@xxxxxxxxxx/ > > Cc: stable@xxxxxxxxxxxxxxx > Link: https://github.com/ClangBuiltLinux/linux/issues/1099 > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > --- > arch/arm64/kernel/vdso32/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile > index d88148bef6b0..5139a5f19256 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -14,7 +14,7 @@ COMPAT_GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE_COMPAT)elfedit)) > COMPAT_GCC_TOOLCHAIN := $(realpath $(COMPAT_GCC_TOOLCHAIN_DIR)/..) > > CC_COMPAT_CLANG_FLAGS := --target=$(notdir $(CROSS_COMPILE_COMPAT:%-=%)) > -CC_COMPAT_CLANG_FLAGS += --prefix=$(COMPAT_GCC_TOOLCHAIN_DIR) > +CC_COMPAT_CLANG_FLAGS += --prefix=$(COMPAT_GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE_COMPAT)) > CC_COMPAT_CLANG_FLAGS += -no-integrated-as -Qunused-arguments > ifneq ($(COMPAT_GCC_TOOLCHAIN),) > CC_COMPAT_CLANG_FLAGS += --gcc-toolchain=$(COMPAT_GCC_TOOLCHAIN) > > base-commit: d15be546031cf65a0fc34879beca02fd90fe7ac7 > -- > 2.28.0.rc1 > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200723041509.400450-1-natechancellor%40gmail.com.