• Arnaldo Carvalho de Melo's avatar
    perf bpf: Fix build with libbpf 0.7.0 by checking if bpf_program__set_insns() is available · f1bdebbb
    Arnaldo Carvalho de Melo authored
    During the transition to libbpf 1.0 some functions that perf used were
    deprecated and finally removed from libbpf, so bpf_program__set_insns()
    was introduced for perf to continue to use its bpf loader.
    
    But when build with LIBBPF_DYNAMIC=1 we now need to check if that
    function is available so that perf can build with older libbpf versions,
    even if the end result is emitting a warning to the user that the use
    of the perf BPF loader requires a newer libbpf, since bpf_program__set_insns()
    touches libbpf objects internal state.
    
    This affects only 'perf trace' when using bpf C code or pre-compiled
    bytecode as an event.
    
    Noticed on RHEL9, that has libbpf 0.7.0, where bpf_program__set_insns()
    isn't available.
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f1bdebbb
bpf-loader.c 48.6 KB