tools/libbpf: Enable cross-building with clang
authorJean-Philippe Brucker <jean-philippe@linaro.org>
Thu, 16 Dec 2021 16:38:40 +0000 (16:38 +0000)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 16 Dec 2021 20:15:05 +0000 (12:15 -0800)
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
tools/lib/bpf/Makefile

index 5f7086f..f947b61 100644 (file)
@@ -90,6 +90,7 @@ override CFLAGS += -Werror -Wall
 override CFLAGS += $(INCLUDES)
 override CFLAGS += -fvisibility=hidden
 override CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
+override CFLAGS += $(CLANG_CROSS_FLAGS)
 
 # flags specific for shared library
 SHLIB_FLAGS := -DSHARED -fPIC
@@ -162,7 +163,7 @@ $(BPF_HELPER_DEFS): $(srctree)/tools/include/uapi/linux/bpf.h
 $(OUTPUT)libbpf.so: $(OUTPUT)libbpf.so.$(LIBBPF_VERSION)
 
 $(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN_SHARED) $(VERSION_SCRIPT)
-       $(QUIET_LINK)$(CC) $(LDFLAGS) \
+       $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) \
                --shared -Wl,-soname,libbpf.so.$(LIBBPF_MAJOR_VERSION) \
                -Wl,--version-script=$(VERSION_SCRIPT) $< -lelf -lz -o $@
        @ln -sf $(@F) $(OUTPUT)libbpf.so