On Thu, 2018-08-30 at 18:07 +0100, Bruce Richardson wrote:
> 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")
> 
> Reported-by: Luca Boccassi <bl...@debian.org>
> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> ---
>  config/rte_config.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/config/rte_config.h b/config/rte_config.h
> index a8e479774..46775a841 100644
> --- a/config/rte_config.h
> +++ b/config/rte_config.h
> @@ -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

Tested-by: Luca Boccassi <bl...@debian.org>

-- 
Kind regards,
Luca Boccassi

Reply via email to