• Björn Töpel's avatar
    selftests/bpf: Cross-compile bpftool · 5e53e5c7
    Björn Töpel authored
    When the BPF selftests are cross-compiled, only the a host version of
    bpftool is built. This version of bpftool is used on the host-side to
    generate various intermediates, e.g., skeletons.
    
    The test runners are also using bpftool, so the Makefile will symlink
    bpftool from the selftest/bpf root, where the test runners will look
    the tool:
    
      | $(Q)ln -sf $(if $2,..,.)/tools/build/bpftool/bootstrap/bpftool \
      |    $(OUTPUT)/$(if $2,$2/)bpftool
    
    There are two problems for cross-compilation builds:
    
     1. There is no native (cross-compilation target) of bpftool
     2. The bootstrap/bpftool is never cross-compiled (by design)
    
    Make sure that a native/cross-compiled version of bpftool is built,
    and if CROSS_COMPILE is set, symlink the native/non-bootstrap version.
    Acked-by: default avatarQuentin Monnet <quentin@isovalent.com>
    Signed-off-by: default avatarBjörn Töpel <bjorn@rivosinc.com>
    Link: https://lore.kernel.org/r/20230214161253.183458-1-bjorn@kernel.orgSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    5e53e5c7
Makefile 26.1 KB