On Sun, Jan 15, 2023 at 5:01 PM Ian Rogers <irogers@xxxxxxxxxx> wrote: > > libbpf 1.0 was a major change in API. Perf has partially supported > older libbpf's but an implementation may be: > .. > pr_err("%s: not support, update libbpf\n", __func__); > return -ENOTSUP; > .. > > Rather than build a binary that would fail at runtime it is > preferrential just to build libbpf statically and link against > that. The static version is in the kernel tools tree and newer than > 1.0. > > These patches change the libbpf test to only pass when at least > version 1.0 is installed, then remove the conditional build and > feature logic. > > The issue is discussed here: > https://lore.kernel.org/lkml/20230106151320.619514-1-irogers@xxxxxxxxxx/ > perf bpf: > > A variant of this fix was added to Linux 6.2 in: > "perf bpf: Avoid build breakage with libbpf < 0.8.0 + LIBBPF_DYNAMIC=1" > https://lore.kernel.org/lkml/Y71+eh00Ju7WeEFX@xxxxxxxxxx/ > This change goes further in removing logic that is now no longer > necessary. > > v2. Rebase now that breakage fix patch is in linus/master. I missed the: Acked/Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx> I believe we are waiting for package maintainer input. Thanks, Ian > Ian Rogers (3): > tools build: Pass libbpf feature only if libbpf 1.0+ > perf build: Remove libbpf pre-1.0 feature tests > perf bpf: Remove pre libbpf 1.0 conditional logic > > tools/build/feature/Makefile | 7 -- > .../feature/test-libbpf-bpf_map_create.c | 8 --- > .../test-libbpf-bpf_object__next_map.c | 8 --- > .../test-libbpf-bpf_object__next_program.c | 8 --- > .../build/feature/test-libbpf-bpf_prog_load.c | 9 --- > .../test-libbpf-bpf_program__set_insns.c | 8 --- > .../test-libbpf-btf__load_from_kernel_by_id.c | 8 --- > .../build/feature/test-libbpf-btf__raw_data.c | 8 --- > tools/build/feature/test-libbpf.c | 4 ++ > tools/perf/Makefile.config | 39 +---------- > tools/perf/util/bpf-event.c | 66 ------------------- > tools/perf/util/bpf-loader.c | 18 ----- > tools/perf/util/bpf_counter.c | 18 ----- > 13 files changed, 5 insertions(+), 204 deletions(-) > delete mode 100644 tools/build/feature/test-libbpf-bpf_map_create.c > delete mode 100644 tools/build/feature/test-libbpf-bpf_object__next_map.c > delete mode 100644 tools/build/feature/test-libbpf-bpf_object__next_program.c > delete mode 100644 tools/build/feature/test-libbpf-bpf_prog_load.c > delete mode 100644 tools/build/feature/test-libbpf-bpf_program__set_insns.c > delete mode 100644 tools/build/feature/test-libbpf-btf__load_from_kernel_by_id.c > delete mode 100644 tools/build/feature/test-libbpf-btf__raw_data.c > > -- > 2.39.0.314.g84b9a713c41-goog >