]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/bpf: Fix runqslower cross-endian build
authorTony Ambardar <tony.ambardar@gmail.com>
Sat, 25 Jan 2025 07:14:23 +0000 (23:14 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 3 Feb 2025 11:33:51 +0000 (03:33 -0800)
The runqslower binary from a cross-endian build currently fails to run
because the included skeleton has host endianness. Fix this by passing the
target BPF endianness to the runqslower sub-make.

Fixes: 5a63c33d6f00 ("selftests/bpf: Support cross-endian building")
Signed-off-by: Tony Ambardar <tony.ambardar@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20250125071423.2603588-1-itugrok@yahoo.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/runqslower/Makefile
tools/testing/selftests/bpf/Makefile

index c4f1f1735af659c2e660a322dbf6912d9a5724bc..5613b5736d9387655ecd7e189fe9fa2a79bf745d 100644 (file)
@@ -6,6 +6,7 @@ OUTPUT ?= $(abspath .output)/
 BPFTOOL_OUTPUT := $(OUTPUT)bpftool/
 DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bootstrap/bpftool
 BPFTOOL ?= $(DEFAULT_BPFTOOL)
+BPF_TARGET_ENDIAN ?= --target=bpf
 LIBBPF_SRC := $(abspath ../../lib/bpf)
 BPFOBJ_OUTPUT := $(OUTPUT)libbpf/
 BPFOBJ := $(BPFOBJ_OUTPUT)libbpf.a
@@ -63,7 +64,7 @@ $(OUTPUT)/%.skel.h: $(OUTPUT)/%.bpf.o | $(BPFTOOL)
        $(QUIET_GEN)$(BPFTOOL) gen skeleton $< > $@
 
 $(OUTPUT)/%.bpf.o: %.bpf.c $(BPFOBJ) | $(OUTPUT)
-       $(QUIET_GEN)$(CLANG) -g -O2 --target=bpf $(INCLUDES)                  \
+       $(QUIET_GEN)$(CLANG) -g -O2 $(BPF_TARGET_ENDIAN) $(INCLUDES)          \
                 -c $(filter %.c,$^) -o $@ &&                                 \
        $(LLVM_STRIP) -g $@
 
index 87551628e1129e8760d7f6499b00317ac3683ef9..6722080b2107a56c1500bab4d7b638f5bcde2a82 100644 (file)
@@ -306,6 +306,7 @@ $(OUTPUT)/runqslower: $(BPFOBJ) | $(DEFAULT_BPFTOOL) $(RUNQSLOWER_OUTPUT)
                    BPFTOOL_OUTPUT=$(HOST_BUILD_DIR)/bpftool/                  \
                    BPFOBJ_OUTPUT=$(BUILD_DIR)/libbpf/                         \
                    BPFOBJ=$(BPFOBJ) BPF_INCLUDE=$(INCLUDE_DIR)                \
+                   BPF_TARGET_ENDIAN=$(BPF_TARGET_ENDIAN)                     \
                    EXTRA_CFLAGS='-g $(OPT_FLAGS) $(SAN_CFLAGS) $(EXTRA_CFLAGS)' \
                    EXTRA_LDFLAGS='$(SAN_LDFLAGS) $(EXTRA_LDFLAGS)' &&         \
                    cp $(RUNQSLOWER_OUTPUT)runqslower $@