On Sat, Apr 10, 2021 at 6:49 PM Yonghong Song <yhs@xxxxxx> wrote: > > selftests/bpf/Makefile includes tools/scripts/Makefile.include. > With the following command > make -j60 LLVM=1 LLVM_IAS=1 <=== compile kernel > make -j60 -C tools/testing/selftests/bpf LLVM=1 LLVM_IAS=1 V=1 > some files are still compiled with gcc. This patch > fixed the case if CC/AR/LD/CXX/STRIP is allowed to be > overridden, it will be written to clang/llvm-ar/..., instead of > gcc binaries. The definition of CC_NO_CLANG is also relocated > to the place after the above CC is defined. > > Cc: Sedat Dilek <sedat.dilek@xxxxxxxxx> > Signed-off-by: Yonghong Song <yhs@xxxxxx> > --- > tools/scripts/Makefile.include | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include > index a402f32a145c..91130648d8e6 100644 > --- a/tools/scripts/Makefile.include > +++ b/tools/scripts/Makefile.include > @@ -39,8 +39,6 @@ EXTRA_WARNINGS += -Wundef > EXTRA_WARNINGS += -Wwrite-strings > EXTRA_WARNINGS += -Wformat > > -CC_NO_CLANG := $(shell $(CC) -dM -E -x c /dev/null | grep -Fq "__clang__"; echo $$?) > - > # Makefiles suck: This macro sets a default value of $(2) for the > # variable named by $(1), unless the variable has been set by > # environment or command line. This is necessary for CC and AR > @@ -52,12 +50,22 @@ define allow-override > $(eval $(1) = $(2))) > endef > > +ifneq ($(LLVM),) > +$(call allow-override,CC,clang) > +$(call allow-override,AR,llvm-ar) > +$(call allow-override,LD,ld.lld) > +$(call allow-override,CXX,clang++) > +$(call allow-override,STRIP,llvm-strip) Use here $(CROSS_COMPILE) prefix like below for people using an LLVM cross-toolchain? - Sedat - > +else > # Allow setting various cross-compile vars or setting CROSS_COMPILE as a prefix. > $(call allow-override,CC,$(CROSS_COMPILE)gcc) > $(call allow-override,AR,$(CROSS_COMPILE)ar) > $(call allow-override,LD,$(CROSS_COMPILE)ld) > $(call allow-override,CXX,$(CROSS_COMPILE)g++) > $(call allow-override,STRIP,$(CROSS_COMPILE)strip) > +endif > + > +CC_NO_CLANG := $(shell $(CC) -dM -E -x c /dev/null | grep -Fq "__clang__"; echo $$?) > > ifneq ($(LLVM),) > HOSTAR ?= llvm-ar > -- > 2.30.2 >