From: Tomas Glozar Date: Wed, 26 Mar 2025 00:40:18 +0000 (+0100) Subject: tools/build: Use SYSTEM_BPFTOOL for system bpftool X-Git-Tag: v6.15-rc1~140^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=814d051ebed40b27285ab3c5e2454bd01a0f9631;p=thirdparty%2Fkernel%2Flinux.git tools/build: Use SYSTEM_BPFTOOL for system bpftool The feature test for system bpftool uses BPFTOOL as the variable to set its path, defaulting to just "bpftool" if not set by the user. This conflicts with selftests and a few other utilities, which expect BPFTOOL to be set to the in-tree bpftool path by default. For example, bpftool selftests fail to build: $ make -C tools/testing/selftests/bpf/ make: Entering directory '/home/tglozar/dev/linux/tools/testing/selftests/bpf' make: *** No rule to make target 'bpftool', needed by '/home/tglozar/dev/linux/tools/testing/selftests/bpf/tools/include/vmlinux.h'. Stop. make: Leaving directory '/home/tglozar/dev/linux/tools/testing/selftests/bpf' Fix the problem by renaming the variable used for system bpftool from BPFTOOL to SYSTEM_BPFTOOL, so that the new usage does not conflict with the existing one of BPFTOOL. Cc: John Kacur Cc: Luis Goncalves Link: https://lore.kernel.org/20250326004018.248357-1-tglozar@redhat.com Fixes: 8a635c3856dd ("tools/build: Add bpftool-skeletons feature test") Closes: https://lore.kernel.org/linux-kernel/5df6968a-2e5f-468e-b457-fc201535dd4c@linux.ibm.com/ Reported-by: Venkat Rao Bagalkote Tested-by: Venkat Rao Bagalkote Suggested-by: Quentin Monnet Acked-by: Quentin Monnet Signed-off-by: Tomas Glozar Signed-off-by: Steven Rostedt (Google) --- diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index 4f9c1d950f5db..b8b5fb183dd40 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -419,7 +419,7 @@ $(OUTPUT)test-libpfm4.bin: $(BUILD) -lpfm $(OUTPUT)test-bpftool-skeletons.bin: - $(BPFTOOL) version | grep '^features:.*skeletons' \ + $(SYSTEM_BPFTOOL) version | grep '^features:.*skeletons' \ > $(@:.bin=.make.output) 2>&1 ############################### diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include index 71bbe52721b35..34a33c1ad96cf 100644 --- a/tools/scripts/Makefile.include +++ b/tools/scripts/Makefile.include @@ -92,7 +92,7 @@ LLVM_OBJCOPY ?= llvm-objcopy LLVM_STRIP ?= llvm-strip # Some tools require bpftool -BPFTOOL ?= bpftool +SYSTEM_BPFTOOL ?= bpftool ifeq ($(CC_NO_CLANG), 1) EXTRA_WARNINGS += -Wstrict-aliasing=3 diff --git a/tools/tracing/rtla/Makefile b/tools/tracing/rtla/Makefile index 557af322be610..3dc050317b9d4 100644 --- a/tools/tracing/rtla/Makefile +++ b/tools/tracing/rtla/Makefile @@ -78,7 +78,7 @@ src/timerlat.bpf.o: src/timerlat.bpf.c $(QUIET_CLANG)$(CLANG) -g -O2 -target bpf -c $(filter %.c,$^) -o $@ src/timerlat.skel.h: src/timerlat.bpf.o - $(QUIET_GENSKEL)$(BPFTOOL) gen skeleton $< > $@ + $(QUIET_GENSKEL)$(SYSTEM_BPFTOOL) gen skeleton $< > $@ else src/timerlat.skel.h: $(Q)echo '/* BPF skeleton is disabled */' > src/timerlat.skel.h