Hi, 

> -----Original Message-----
> From: sk...@marvell.com
> 
> trace_mem is declared as 'void *' which triggers following error:
> '...invalid conversion from ‘void*’ to ‘__rte_trace_header*’
> [-fpermissive]...'
> 
> Fix this by adding proper typecast to 'struct __rte_trace_header *'.
> 
> Fixes: ebaee6409702 ("trace: simplify trace point headers")
> 
> Signed-off-by: Pawel Wodkowski <pawel...@gmail.com>
> ---
> v3:
>  - fix subject.
> v2:
>  - Update proper typecasting.
> 
>  lib/librte_eal/include/rte_trace_point.h | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_eal/include/rte_trace_point.h
> b/lib/librte_eal/include/rte_trace_point.h
> index b03960277..6446f2f0f 100644
> --- a/lib/librte_eal/include/rte_trace_point.h
> +++ b/lib/librte_eal/include/rte_trace_point.h
> @@ -298,13 +298,14 @@ RTE_DECLARE_PER_LCORE(void *, trace_mem);
> static __rte_always_inline void *  __rte_trace_mem_get(uint64_t in)  {
> -     struct __rte_trace_header *trace = RTE_PER_LCORE(trace_mem);
> +     struct __rte_trace_header *trace =
> +                     (struct __rte_trace_header
> *)(RTE_PER_LCORE(trace_mem));
>       const uint16_t sz = in & __RTE_TRACE_FIELD_SIZE_MASK;
> 
>       /* Trace memory is not initialized for this thread */
>       if (unlikely(trace == NULL)) {
>               __rte_trace_mem_per_thread_alloc();
> -             trace = RTE_PER_LCORE(trace_mem);
> +             trace = (struct __rte_trace_header
> *)(RTE_PER_LCORE(trace_mem));
>               if (unlikely(trace == NULL))
>                       return NULL;
>       }
> --
> 2.25.1

We have to do the same fix on our end to build properly.

Acked-by: Nicolas Chautru <nicolas.chau...@intel.com>

Reply via email to