[dpdk-dev] [PATCH 01/11] mk: use whole-archive option when creating dpdk binaries
Olivier Matz
olivier.matz at 6wind.com
Fri Feb 28 18:25:40 CET 2014
To fully support dpdk extensions (loading of .so), all symbols provided
by dpdk libraries must be available in the binaries: before this patch,
unused functions/variables from dpdk static libraries could be stripped
by the linker because they are not used. These symbols can be used by a
dpdk extension that is loaded at runtime with the -d option.
Adding --whole-archive when generating a binary solves this issue.
Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
---
mk/rte.app.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index d90a0b0..6f21e16 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -1,6 +1,7 @@
# BSD LICENSE
#
# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+# Copyright(c) 2014 6WIND S.A.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -58,6 +59,8 @@ LDLIBS += -L$(RTE_SDK_BIN)/lib
#
ifeq ($(NO_AUTOLIBS),)
+LDLIBS += --whole-archive
+
ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y)
LDLIBS += -lrte_kni
@@ -180,6 +183,8 @@ LDLIBS += $(EXECENV_LDLIBS)
LDLIBS += --end-group
+LDLIBS += --no-whole-archive
+
endif # ifeq ($(NO_AUTOLIBS),)
LDLIBS += $(CPU_LDLIBS)
--
1.8.5.3
More information about the dev
mailing list