summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Laatz <kevin.laatz@intel.com>2018-11-07 18:10:18 +0000
committerThomas Monjalon <thomas@monjalon.net>2018-11-12 01:21:58 +0100
commitfe1570a73e77565e1018dfc77f386c09e8f172fa (patch)
tree47c429c3084a123280fe7c566aabd4f278d5f629
parent6bdf14455386f39c3cb33d1046a419c235605da9 (diff)
downloaddpdk-fe1570a73e77565e1018dfc77f386c09e8f172fa.zip
dpdk-fe1570a73e77565e1018dfc77f386c09e8f172fa.tar.gz
dpdk-fe1570a73e77565e1018dfc77f386c09e8f172fa.tar.xz
telemetry: fix shared link with make
Currently, telemetry is not working for shared builds in make. The --as-needed flag is preventing telemetry from being linked as there are no direct API calls from the app to telemetry. This is causing the --telemetry option to not be recognized by EAL. Telemetry registers it's EAL option using the RTE_INIT constructor. Since EAL's option parsing is done before the plugins init, the --telemetry option isn't registered at the time of parsing, and as a result, the --telemetry option is not being recognized. This patch fixes this issue by explicitly linking telemetry to the application by setting the "--no-as-needed" flag for the library in mk/rte.app.mk. Fixes: 8877ac688b52 ("telemetry: introduce infrastructure") Reported-by: Yanjie Xu <yanjie.xu@intel.com> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
-rw-r--r--mk/rte.app.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 3ebc4e6..5699d97 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -50,9 +50,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_LPM) += -lrte_lpm
_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += --whole-archive
_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl
_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += --no-whole-archive
+_LDLIBS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += --no-as-needed
_LDLIBS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += --whole-archive
_LDLIBS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += -lrte_telemetry -ljansson
_LDLIBS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += --no-whole-archive
+_LDLIBS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += --as-needed
_LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += -lrte_jobstats
_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS) += -lrte_metrics
_LDLIBS-$(CONFIG_RTE_LIBRTE_BITRATE) += -lrte_bitratestats