trace: fix C++ compilation

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: ebaee64097 ("trace: simplify trace point headers")
Cc: stable@dpdk.org

Signed-off-by: Pawel Wodkowski <pawelwod@gmail.com>
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
This commit is contained in:
Pawel Wodkowski 2020-08-12 15:21:50 +05:30 committed by David Marchand
parent dc18be1d8b
commit c23432a9c2

View File

@ -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;
}