Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf bpf: Fix build with libbpf 0.7.0 by adding prototype for bpf_load_program()

The bpf_load_program() prototype appeared in tools/lib/bpf/bpf.h as
deprecated, but nowadays its completely removed, so add it back for
building with the system libbpf when using 'make LIBBPF_DYNAMIC=1'.

This is a stop gap hack till we do like tools/bpf does with bpftool,
i.e. bootstrap the libbpf build and install it in the perf build
directory when not using 'make LIBBPF_DYNAMIC=1'.

That has to be done to all libraries in tools/lib/, so tha we can
remove -Itools/lib/ from the tools/perf CFLAGS.

Noticed when building with LIBBPF_DYNAMIC=1 and libbpf 0.7.0 on RHEL9.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+5
+5
tools/perf/util/bpf-event.c
··· 36 36 #endif 37 37 38 38 #ifndef HAVE_LIBBPF_BPF_PROG_LOAD 39 + LIBBPF_API int bpf_load_program(enum bpf_prog_type type, 40 + const struct bpf_insn *insns, size_t insns_cnt, 41 + const char *license, __u32 kern_version, 42 + char *log_buf, size_t log_buf_sz); 43 + 39 44 int bpf_prog_load(enum bpf_prog_type prog_type, 40 45 const char *prog_name __maybe_unused, 41 46 const char *license,