On 13/02/2023 14:30, Björn Töpel wrote: > Björn Töpel <bjorn@xxxxxxxxxx> writes: > >> From: Björn Töpel <bjorn@xxxxxxxxxxxx> >> >> When the BPF selftests are cross-compiled, only the a host version of >> bpftool is built. This version of bpftool is used to generate various >> intermediates, e.g., skeletons. >> >> The test runners are also using bpftool. The Makefile will symlink >> bpftool from the selftest/bpf root, where the test runners will look >> for the tool: >> >> | ... >> | $(Q)ln -sf $(if $2,..,.)/tools/build/bpftool/bootstrap/bpftool \ >> | $(OUTPUT)/$(if $2,$2/)bpftool >> >> There are two issues for cross-compilation builds: >> >> 1. There is no native (cross-compilation target) build of bpftool >> 2. The bootstrap variant of 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 to the native/non-bootstrap >> version. > > ...and the grand master plan is to add BPF CI support for riscv64, where > this patch a prerequisite to [1]. I would suspect that other platforms > might benefit from cross-compilation builds as well. Similar use case. There also seems to be a lot of issues building these tests out of tree. I have some potential fixes up to 6.1 but linux-next seems to have introduced a few more issues on top. > > [1] https://github.com/kernel-patches/vmtest/pull/194