[PATCH v1] bpftool build: Restrict feature tests during bootstrap compilation

Ian Rogers posted 1 patch 1 week, 1 day ago
tools/bpf/bpftool/Makefile | 5 +++++
1 file changed, 5 insertions(+)
[PATCH v1] bpftool build: Restrict feature tests during bootstrap compilation
Posted by Ian Rogers 1 week, 1 day ago
When the perf build executes 'make -C ../bpf/bpftool bootstrap', bpftool's
Makefile unconditionally evaluated feature checks for llvm, libcap, libbfd,
and disassembler libraries because the bootstrap target was not exempted.

Since the bootstrap bpftool strictly compiles minimal AST parsing and C
code generation logic without linking LLVM or disassembler libraries, these
feature check sub-makes are completely redundant.

Exempt the bootstrap target from non-essential feature tests to eliminate
unneeded sub-make fork overhead during Kbuild startup.

Tested-by: James Clark <james.clark@linaro.org>
Assisted-by: Gemini:gemini-3.1-pro-preview
Signed-off-by: Ian Rogers <irogers@google.com>
---
This patch originally appeared in the now merged perf patch series:
https://lore.kernel.org/linux-perf-users/20260514163409.927816-1-irogers@google.com/
---
 tools/bpf/bpftool/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
index 0febf60e1b64..8f50bc163bb2 100644
--- a/tools/bpf/bpftool/Makefile
+++ b/tools/bpf/bpftool/Makefile
@@ -106,6 +106,10 @@ ifneq ($(SKIP_CRYPTO),1)
   CRYPTO_LIBS := -lcrypto
 endif
 
+ifeq ($(MAKECMDGOALS),bootstrap)
+FEATURE_TESTS := libelf-zstd
+FEATURE_DISPLAY :=
+else
 FEATURE_TESTS := clang-bpf-co-re
 FEATURE_TESTS += llvm
 FEATURE_TESTS += libcap
@@ -122,6 +126,7 @@ FEATURE_DISPLAY += libcap
 FEATURE_DISPLAY += libbfd
 FEATURE_DISPLAY += libbfd-liberty
 FEATURE_DISPLAY += libbfd-liberty-z
+endif
 
 check_feat := 1
 NON_CHECK_FEAT_TARGETS := clean uninstall doc doc-clean doc-install doc-uninstall
-- 
2.54.0.823.g6e5bcc1fc9-goog
Re: [PATCH v1] bpftool build: Restrict feature tests during bootstrap compilation
Posted by Quentin Monnet 6 days, 23 hours ago
2026-05-30 18:07 UTC-0700 ~ Ian Rogers <irogers@google.com>
> When the perf build executes 'make -C ../bpf/bpftool bootstrap', bpftool's
> Makefile unconditionally evaluated feature checks for llvm, libcap, libbfd,
> and disassembler libraries because the bootstrap target was not exempted.
> 
> Since the bootstrap bpftool strictly compiles minimal AST parsing and C
> code generation logic without linking LLVM or disassembler libraries, these
> feature check sub-makes are completely redundant.
> 
> Exempt the bootstrap target from non-essential feature tests to eliminate
> unneeded sub-make fork overhead during Kbuild startup.
> 
> Tested-by: James Clark <james.clark@linaro.org>
> Assisted-by: Gemini:gemini-3.1-pro-preview
> Signed-off-by: Ian Rogers <irogers@google.com>


Makes sense, thank you Ian!

Acked-by: Quentin Monnet <qmo@kernel.org>