[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