Zachary Leaf <zachary.leaf@xxxxxxx> writes: > 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. Ah, yes. FWIW, the BPF CI builds the selftests *in-tree*, so with this patch (and my PRs) the BPF CI is capable of cross-compiling. Björn