aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/ubuntu-backport-44-linking-cleanup.patch61
2 files changed, 62 insertions, 0 deletions
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 <christian.ehrhardt@canonical.com>
+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; \