[openwrt/openwrt] include/bpf.mk: fix compile for big-endian targets

LEDE Commits lede-commits at lists.infradead.org
Tue Nov 2 02:40:15 PDT 2021


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/cfb022cd5f5baea4f2e78b6f4b21bd1eca3e60ee

commit cfb022cd5f5baea4f2e78b6f4b21bd1eca3e60ee
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Tue Nov 2 10:39:35 2021 +0100

    include/bpf.mk: fix compile for big-endian targets
    
    llvm-opt and llc need endian flags in the target as well
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 include/bpf.mk | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/bpf.mk b/include/bpf.mk
index 6223648c5d..9636ad5165 100644
--- a/include/bpf.mk
+++ b/include/bpf.mk
@@ -22,6 +22,7 @@ LLVM_STRIP:=$(LLVM_PATH)/llvm-strip$(LLVM_VER)
 
 BPF_KARCH:=mips
 BPF_ARCH:=mips$(if $(CONFIG_BIG_ENDIAN),,el)
+BPF_TARGET:=bpf$(if $(CONFIG_BIG_ENDIAN),eb,el)
 
 BPF_HEADERS_DIR:=$(STAGING_DIR)/bpf-headers
 
@@ -59,9 +60,9 @@ BPF_CFLAGS := \
 define CompileBPF
 	$(CLANG) -g -target $(BPF_ARCH)-linux-gnu $(BPF_CFLAGS) $(2) \
 		-c $(1) -o $(patsubst %.c,%.bc,$(1))
-	$(LLVM_OPT) -O2 -mtriple=bpf-pc-linux < $(patsubst %.c,%.bc,$(1)) > $(patsubst %.c,%.opt,$(1))
+	$(LLVM_OPT) -O2 -mtriple=$(BPF_TARGET) < $(patsubst %.c,%.bc,$(1)) > $(patsubst %.c,%.opt,$(1))
 	$(LLVM_DIS) < $(patsubst %.c,%.opt,$(1)) > $(patsubst %.c,%.S,$(1))
-	$(LLVM_LLC) -march=bpf -filetype=obj -o $(patsubst %.c,%.o,$(1)) < $(patsubst %.c,%.S,$(1))
+	$(LLVM_LLC) -march=$(BPF_TARGET) -filetype=obj -o $(patsubst %.c,%.o,$(1)) < $(patsubst %.c,%.S,$(1))
 	$(LLVM_STRIP) --strip-debug $(patsubst %.c,%.o,$(1))
 endef
 



More information about the lede-commits mailing list