On Tue, Feb 01, 2022 at 09:31:20AM +0000, Jean-Philippe Brucker wrote: > When cross-building tools with clang, we run `which $(CROSS_COMPILE)gcc` > to detect whether a GCC toolchain provides the standard libraries. It is > only a helper because some distros put libraries where LLVM does not > automatically find them. On other systems, LLVM detects the libc > automatically and does not need this. There, it is completely fine not > to have a GCC at all, but some versions of `which' display an error when > the command is not found: > > which: no aarch64-linux-gnu-gcc in ($PATH) > > Since the error can safely be ignored, throw it to /dev/null. > > Fixes: cebdb7374577 ("tools: Help cross-building with clang") > Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> > Signed-off-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> Thanks a lot for the quick fix! Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> Tested-by: Nathan Chancellor <nathan@xxxxxxxxxx> It would be nice if this could go in via bpf, as cebdb7374577 was merged in 5.17-rc1. > --- > tools/scripts/Makefile.include | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include > index b0be5f40a3f1..79d102304470 100644 > --- a/tools/scripts/Makefile.include > +++ b/tools/scripts/Makefile.include > @@ -90,7 +90,7 @@ EXTRA_WARNINGS += -Wstrict-aliasing=3 > > else ifneq ($(CROSS_COMPILE),) > CLANG_CROSS_FLAGS := --target=$(notdir $(CROSS_COMPILE:%-=%)) > -GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)gcc)) > +GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)gcc 2>/dev/null)) > ifneq ($(GCC_TOOLCHAIN_DIR),) > CLANG_CROSS_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) > CLANG_CROSS_FLAGS += --sysroot=$(shell $(CROSS_COMPILE)gcc -print-sysroot) > -- > 2.34.1 > >