Re: [PATCH v3 0/2] perf build: Support building BPF skeletons with bpf-gcc
From: Ian Rogers
Date: Tue Nov 10 2026 - 17:15:52 EST
On Tue, Nov 3, 2026 at 7:52 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> On Thu, Oct 22, 2026 at 1:46 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> >
> > Currently the perf build requires clang (>= 12.0.1) to compile BPF
> > skeleton programs (.bpf.c -> .bpf.o). bpf-gcc (>= 14.0.0) also supports
> > BPF CO-RE and BTF generation and is already supported in
> > tools/testing/selftests/bpf/Makefile.
> >
> > This series updates the perf build to support both clang and bpf-gcc:
> > - Patch 1 updates Makefile.config, Makefile.perf, and bpf_skel.mak to
> > prefer bpf-gcc when building perf with GCC (CC_NO_CLANG=1) and clang
> > when building with Clang/LLVM (CC_NO_CLANG=0), while respecting
> > explicit BPF_GCC=... or CLANG=... command-line overrides and falling
> > back to whichever compiler is available.
> > - Patch 2 adds make_bpf_skel_clang and make_bpf_skel_bpf_gcc build-test
> > targets to tools/perf/tests/make, reuses tools/build/Makefile.feature
> > for feature detection, and verifies with
> > 'perf check -q feature bpf_skeletons' that BPF skeleton support is
> > enabled (or disabled for make_no_bpf_skel) as expected.
> >
> > v3: Reuse tools/build/Makefile.feature and tools/scripts/utilities.mak
> > in tools/perf/tests/make rather than open-coding compiler feature
> > probes, and explicitly check for exit code 1 from 'perf check' in
> > make_no_bpf_skel so crashes are not masked by shell negation.
> > v2: Pass only -dumpfullversion when querying BPF_GCC_VERSION, guard
> > against an empty version string, and fix version-ge3 / version-lt3
> > in tools/scripts/utilities.mak so empty or <3-component version
> > strings do not shift awk fields and evaluate as false in version-lt3.
> >
> > Ian Rogers (2):
> > perf build: Support building BPF skeletons with bpf-gcc
> > perf test make: Add BPF skeleton build tests for clang and bpf-gcc
>
> Ping. Just to note that the 2 patches are clean with Sashiko:
> https://sashiko.dev/#/patchset/20261022204627.1813821-1-irogers%40google.com
Ping.
Thanks,
Ian
> > tools/perf/Makefile.config | 83 +++++++++++++++++++++++++++-------
> > tools/perf/Makefile.perf | 8 +++-
> > tools/perf/bpf_skel.mak | 36 ++++++++++-----
> > tools/perf/tests/make | 71 ++++++++++++++++++++++------
> > tools/scripts/Makefile.include | 1 +
> > tools/scripts/utilities.mak | 4 +-
> > 6 files changed, 159 insertions(+), 44 deletions(-)
> >
> > --
> > 2.56.0.307.g5fe7bd680c-goog
> >