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>