compat: fix symbol version support with meson
authorBruce Richardson <bruce.richardson@intel.com>
Mon, 17 Sep 2018 08:18:00 +0000 (09:18 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 17 Sep 2018 09:52:57 +0000 (11:52 +0200)
For meson builds, the define to enable the symbol version
macros in rte_compat.h was missing. This led to symbols being
omitted from shared objects. For example, checking rte_distributor.so
with objdump and comparing make and meson built versions:

$ objdump -T make-build/lib/librte_distributor.so | grep _flush
 0000000000001b60 g    DF .text 00000000000000a7 (DPDK_2.0)   rte_distributor_flush
 0000000000003f10 g    DF .text 0000000000000434  DPDK_17.05  rte_distributor_flush
$ objdump -T meson-build/lib/librte_distributor.so | grep _flush
 0000000000001d50 g    DF .text 00000000000000fb  DPDK_2.0    rte_distributor_flush

Adding in the missing define fixes this.

Fixes: 5b9656b157d3 ("lib: build with meson")
Cc: stable@dpdk.org
Reported-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Luca Boccassi <bluca@debian.org>
config/rte_config.h

index a8e4797..46775a8 100644 (file)
@@ -20,6 +20,9 @@
 
 /****** library defines ********/
 
+/* compat defines */
+#define RTE_BUILD_SHARED_LIB
+
 /* EAL defines */
 #define RTE_MAX_MEMSEG_LISTS 128
 #define RTE_MAX_MEMSEG_PER_LIST 8192