From 76e4187cabcfbf7b06cfc4d2a840769149b8b422 Mon Sep 17 00:00:00 2001 From: Christian Ehrhardt Date: Thu, 23 Jun 2016 09:39:46 +0200 Subject: [PATCH] backport of further dpdk 16.07 fixes for library linking Adding d/p/ubuntu-backport-44-linking-cleanup.patch This is a merge of related upstream discussions: - [PATCH 1/3] mk: fix librte_pipeline dependency list truncation - [PATCH 3/3] mk: fail build on incomplete shared library dependencies Forwarded: yes (likely in DPDK 16.07 in some way) Author: Christian Ehrhardt Last-Update: 2016-06-23 Change-Id: Id994f1dbf1906ee9fbabc6527b26f957d3af906f Signed-off-by: Christian Ehrhardt --- debian/patches/series | 1 + .../ubuntu-backport-44-linking-cleanup.patch | 61 ++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 debian/patches/ubuntu-backport-44-linking-cleanup.patch diff --git a/debian/patches/series b/debian/patches/series index baab84f9..092f6924 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,3 +10,4 @@ ubuntu-backport-40-linking-fixes-stage-4-4.patch ubuntu-backport-41-fix-install-tar-1.29.patch ubuntu-backport-42-increase-default-logging-level.patch ubuntu-backport-43-fix-level-type-retrieving.patch +ubuntu-backport-44-linking-cleanup.patch diff --git a/debian/patches/ubuntu-backport-44-linking-cleanup.patch b/debian/patches/ubuntu-backport-44-linking-cleanup.patch new file mode 100644 index 00000000..88fc612d --- /dev/null +++ b/debian/patches/ubuntu-backport-44-linking-cleanup.patch @@ -0,0 +1,61 @@ +Description: backport of dpdk 16.07 fixes for library linking + +This is a merge of related upstream discussions: +- [PATCH 1/3] mk: fix librte_pipeline dependency list truncation +- [PATCH 3/3] mk: fail build on incomplete shared library dependencies + +Forwarded: yes (likely in DPDK 16.07 in some way) +Author: Christian Ehrhardt +Last-Update: 2016-06-23 +Index: deb_dpdk/lib/librte_pipeline/Makefile +=================================================================== +--- deb_dpdk.orig/lib/librte_pipeline/Makefile ++++ deb_dpdk/lib/librte_pipeline/Makefile +@@ -53,7 +53,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-in + + # this lib depends upon: + DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_eal +-DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) := lib/librte_table ++DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_table + DEPDIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += lib/librte_port + + include $(RTE_SDK)/mk/rte.lib.mk +Index: deb_dpdk/lib/librte_port/Makefile +=================================================================== +--- deb_dpdk.orig/lib/librte_port/Makefile ++++ deb_dpdk/lib/librte_port/Makefile +@@ -70,7 +70,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-includ + SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h + + # this lib depends upon: +-DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) := lib/librte_eal ++DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_eal + DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mbuf + DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_mempool + DEPDIRS-$(CONFIG_RTE_LIBRTE_PORT) += lib/librte_ether +Index: deb_dpdk/lib/librte_table/Makefile +=================================================================== +--- deb_dpdk.orig/lib/librte_table/Makefile ++++ deb_dpdk/lib/librte_table/Makefile +@@ -72,7 +72,7 @@ SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-inclu + SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h + + # this lib depends upon: +-DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) := lib/librte_eal ++DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_eal + DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mbuf + DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_mempool + DEPDIRS-$(CONFIG_RTE_LIBRTE_TABLE) += lib/librte_port +Index: deb_dpdk/mk/rte.lib.mk +=================================================================== +--- deb_dpdk.orig/mk/rte.lib.mk ++++ deb_dpdk/mk/rte.lib.mk +@@ -94,7 +94,7 @@ O_TO_A_DO = @set -e; \ + echo $(O_TO_A_CMD) > $(call exe2cmd,$(@)) + + O_TO_S = $(LD) -L$(RTE_OUTPUT)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \ +- -shared $(OBJS-y) $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB) ++ -shared $(OBJS-y) -z defs $(LDLIBS) -Wl,-soname,$(LIB) -o $(LIB) + O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight + O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)") + O_TO_S_DO = @set -e; \ -- 2.16.6