diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index 6d3305b5ad..5e0f19a644 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 PKG_VERSION:=4.19.0 -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 @@ -53,7 +53,7 @@ endef define Package/tc $(call Package/iproute2/Default) TITLE:=Traffic control utility - DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libelf1 endef define Package/genl diff --git a/package/network/utils/iproute2/patches/190-link-libelf-to-tc-only.patch b/package/network/utils/iproute2/patches/190-link-libelf-to-tc-only.patch new file mode 100644 index 0000000000..1c44616253 --- /dev/null +++ b/package/network/utils/iproute2/patches/190-link-libelf-to-tc-only.patch @@ -0,0 +1,60 @@ +--- a/configure ++++ b/configure +@@ -257,8 +257,9 @@ check_elf() + echo "HAVE_ELF:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG +- echo 'LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG ++ echo 'CFLAGS += -DHAVE_ELF' >> $CONFIG ++ echo 'ELF_CFLAGS += ' `${PKG_CONFIG} libelf --cflags` >> $CONFIG ++ echo 'ELF_LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG + else + echo "no" + fi +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -11,9 +11,17 @@ UTILOBJ = utils.o rt_names.o ll_map.o ll + inet_proto.o namespace.o json_writer.o json_print.o \ + names.o color.o bpf.o exec.o fs.o + ++ELFOBJ=$(patsubst %.o,%.elf.o,$(UTILOBJ)) ++ + NLOBJ=libgenl.o libnetlink.o + +-all: libnetlink.a libutil.a ++all: libnetlink.a libutil.a libutil-elf.a ++ ++%.o: %.c ++ $(QUIET_CC)$(CC) $(CFLAGS) -UHAVE_ELF $(EXTRA_CFLAGS) -c -o $@ $< ++ ++%.elf.o: %.c ++ $(QUIET_CC)$(CC) $(CFLAGS) $(ELF_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< + + libnetlink.a: $(NLOBJ) + $(QUIET_AR)$(AR) rcs $@ $^ +@@ -21,7 +29,10 @@ libnetlink.a: $(NLOBJ) + libutil.a: $(UTILOBJ) $(ADDLIB) + $(QUIET_AR)$(AR) rcs $@ $^ + ++libutil-elf.a: $(ELFOBJ) $(ADDLIB) ++ $(QUIET_AR)$(AR) rcs $@ $^ ++ + install: + + clean: +- rm -f $(NLOBJ) $(UTILOBJ) $(ADDLIB) libnetlink.a libutil.a ++ rm -f $(NLOBJ) $(UTILOBJ) $(ELFOBJ) $(ADDLIB) libnetlink.a libutil.a libutil-elf.a +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -132,8 +132,8 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc + + all: tc $(TCSO) + +-tc: $(TCOBJ) $(LIBNETLINK) libtc.a +- $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ ++tc: $(TCOBJ) $(subst libutil.a,libutil-elf.a,$(LIBNETLINK)) libtc.a ++ $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) $(ELF_LDLIBS) -o $@ + + libtc.a: $(TCLIB) + $(QUIET_AR)$(AR) rcs $@ $^