From: Pawel Wodkowski <pawel...@gmail.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