Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools/libbpf: Enable cross-building with clang

Cross-building using clang requires passing the "-target" flag rather
than using the CROSS_COMPILE prefix. Makefile.include transforms
CROSS_COMPILE into CLANG_CROSS_FLAGS. Add them to the CFLAGS.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20211216163842.829836-4-jean-philippe@linaro.org

authored by

Jean-Philippe Brucker and committed by
Andrii Nakryiko
4980beb4 bf1be903

+2 -1
+2 -1
tools/lib/bpf/Makefile
··· 90 90 override CFLAGS += $(INCLUDES) 91 91 override CFLAGS += -fvisibility=hidden 92 92 override CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 93 + override CFLAGS += $(CLANG_CROSS_FLAGS) 93 94 94 95 # flags specific for shared library 95 96 SHLIB_FLAGS := -DSHARED -fPIC ··· 163 162 $(OUTPUT)libbpf.so: $(OUTPUT)libbpf.so.$(LIBBPF_VERSION) 164 163 165 164 $(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN_SHARED) $(VERSION_SCRIPT) 166 - $(QUIET_LINK)$(CC) $(LDFLAGS) \ 165 + $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) \ 167 166 --shared -Wl,-soname,libbpf.so.$(LIBBPF_MAJOR_VERSION) \ 168 167 -Wl,--version-script=$(VERSION_SCRIPT) $< -lelf -lz -o $@ 169 168 @ln -sf $(@F) $(OUTPUT)libbpf.so