On Fri, Feb 05, 2021 at 01:44:44PM -0800, 'Nick Desaulniers' via Clang Built Linux wrote: > On Fri, Feb 5, 2021 at 1:37 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > > > It is entirely possible that '--prefix=' should always be present though: > > > > diff --git a/Makefile b/Makefile > > index f5842126e89d..409822f45bfd 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -562,10 +562,10 @@ endif > > ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),) > > ifneq ($(CROSS_COMPILE),) > > CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) > > +endif > > GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit)) > > CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) > > GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..) > > -endif > > ifneq ($(GCC_TOOLCHAIN),) > > CLANG_FLAGS += --gcc-toolchain=$(GCC_TOOLCHAIN) > > endif > > I'm unsure. Consider the case where I'm building with `LLVM=1 > LLVM_IAS=1 CROSS_COMPILE=aarch64-linux-gnu`, ie. no GNU binutils and > am cross compiling. In that case, we should not be setting any > --prefix or --gcc-toolchain, and yet today we are. Perhaps that is > orthogonal though? Yes, we could probably move the 'ifneq ($(LLVM_IAS),1)' block up because all other build tools should be called directly (really, just "$(LD)") but I do think that is orthogonal to the issue that is going on here. I am happy to send patches if you feel this is worthwhile. Cheers, Nathan