[dpdk-dev] [PATCH v2] tracepoint: fix compilation with C++
Pawel Wodkowski
pawelwod at gmail.com
Mon Aug 10 22:36:10 CEST 2020
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 *'.
Signed-off-by: Pawel Wodkowski <pawelwod at gmail.com>
Fixes: ebaee6409702 ("trace: simplify trace point headers")
Cc: david.marchand at redhat.com
---
lib/librte_eal/include/rte_trace_point.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/include/rte_trace_point.h b/lib/librte_eal/include/rte_trace_point.h
index b45171275..875de195a 100644
--- a/lib/librte_eal/include/rte_trace_point.h
+++ b/lib/librte_eal/include/rte_trace_point.h
@@ -300,13 +300,13 @@ 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.17.1
More information about the dev
mailing list