[dpdk-stable] patch 'mk: fix build of shared library with libbsd' has been queued to LTS release 17.11.7
Yongseok Koh
yskoh at mellanox.com
Tue Jul 23 02:59:40 CEST 2019
Hi,
FYI, your patch has been queued to LTS release 17.11.7
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Thanks.
Yongseok
---
>From 39d07d7200b3c829cf50e96b508e0e77d8868f6a Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas at monjalon.net>
Date: Tue, 12 Feb 2019 23:07:05 +0100
Subject: [PATCH] mk: fix build of shared library with libbsd
[ upstream commit fdb3798d6f870f79d5fa40b2c3425e8285dd4e44 ]
When building DPDK with "make" and options
CONFIG_RTE_USE_LIBBSD=y
and
CONFIG_RTE_BUILD_SHARED_LIB=y
libbsd was not linked, resulting in compilation errors:
undefined reference to `strlcpy'
The link option -lbsd is added in a common place for both
Linux apps and libs.
It is used in app linkage via EXECENV_LDLIBS,
and in lib linkage via the added variable EXECENV_LDLIBS-y.
Fixes: 5364de644a4b ("eal: support strlcpy function")
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
mk/exec-env/linuxapp/rte.vars.mk | 6 ++++++
mk/rte.app.mk | 3 ---
mk/rte.lib.mk | 2 ++
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk
index 9a7169996d..f6e247a5ab 100644
--- a/mk/exec-env/linuxapp/rte.vars.mk
+++ b/mk/exec-env/linuxapp/rte.vars.mk
@@ -52,6 +52,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
EXECENV_LDLIBS += -lgcc_s
endif
+EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd
+
# force applications to link with gcc/icc instead of using ld
LINK_USING_CC := 1
@@ -60,4 +62,8 @@ EXECENV_LDFLAGS += -export-dynamic
# Add library to the group to resolve symbols
EXECENV_LDLIBS += -ldl
+# EXECENV_LDLIBS-y applies to lib.so and app linking
+# while EXECENV_LDLIBS applies only to app linking.
+EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)
+
export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 98ab58de07..6a6a7452e2 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -218,9 +218,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lrt
ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lnuma
endif
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_USE_LIBBSD),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lbsd
-endif
_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm
_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt
_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER) += -lm
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index d0979a528b..c7653a3126 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -63,6 +63,8 @@ PREINSTALL = $(SYMLINK-FILES-y)
_INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
_CLEAN = doclean
+LDLIBS += $(EXECENV_LDLIBS-y)
+
.PHONY: all
all: install
--
2.21.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-07-22 17:55:07.225387632 -0700
+++ 0013-mk-fix-build-of-shared-library-with-libbsd.patch 2019-07-22 17:55:05.817475000 -0700
@@ -1,8 +1,10 @@
-From fdb3798d6f870f79d5fa40b2c3425e8285dd4e44 Mon Sep 17 00:00:00 2001
+From 39d07d7200b3c829cf50e96b508e0e77d8868f6a Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas at monjalon.net>
Date: Tue, 12 Feb 2019 23:07:05 +0100
Subject: [PATCH] mk: fix build of shared library with libbsd
+[ upstream commit fdb3798d6f870f79d5fa40b2c3425e8285dd4e44 ]
+
When building DPDK with "make" and options
CONFIG_RTE_USE_LIBBSD=y
and
@@ -16,7 +18,6 @@
and in lib linkage via the added variable EXECENV_LDLIBS-y.
Fixes: 5364de644a4b ("eal: support strlcpy function")
-Cc: stable at dpdk.org
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
@@ -26,10 +27,10 @@
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk
-index 3129edc8c0..57ee82150b 100644
+index 9a7169996d..f6e247a5ab 100644
--- a/mk/exec-env/linuxapp/rte.vars.mk
+++ b/mk/exec-env/linuxapp/rte.vars.mk
-@@ -24,6 +24,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+@@ -52,6 +52,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
EXECENV_LDLIBS += -lgcc_s
endif
@@ -38,7 +39,7 @@
# force applications to link with gcc/icc instead of using ld
LINK_USING_CC := 1
-@@ -32,4 +34,8 @@ EXECENV_LDFLAGS += -export-dynamic
+@@ -60,4 +62,8 @@ EXECENV_LDFLAGS += -export-dynamic
# Add library to the group to resolve symbols
EXECENV_LDLIBS += -ldl
@@ -48,10 +49,10 @@
+
export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
-index 8a4f0f4e50..d0ab942d5a 100644
+index 98ab58de07..6a6a7452e2 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
-@@ -309,9 +309,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lrt
+@@ -218,9 +218,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lrt
ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lnuma
endif
@@ -62,10 +63,10 @@
_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt
_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER) += -lm
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
-index c696a21747..4df8849a08 100644
+index d0979a528b..c7653a3126 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
-@@ -35,6 +35,8 @@ PREINSTALL = $(SYMLINK-FILES-y)
+@@ -63,6 +63,8 @@ PREINSTALL = $(SYMLINK-FILES-y)
_INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
_CLEAN = doclean
More information about the stable
mailing list