trace_mem is declared as 'void *' which triggers following error: '...invalid conversion from ‘void*’ to ‘__rte_trace_header*’ [-fpermissive]...'
Fix this by changing void to struct __rte_trace_header --- lib/librte_eal/common/eal_common_trace.c | 2 +- lib/librte_eal/include/rte_trace_point.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/common/eal_common_trace.c b/lib/librte_eal/common/eal_common_trace.c index 875553d7e..18e5e64be 100644 --- a/lib/librte_eal/common/eal_common_trace.c +++ b/lib/librte_eal/common/eal_common_trace.c @@ -16,7 +16,7 @@ #include "eal_trace.h" RTE_DEFINE_PER_LCORE(volatile int, trace_point_sz); -RTE_DEFINE_PER_LCORE(void *, trace_mem); +RTE_DEFINE_PER_LCORE(struct __rte_trace_header *, trace_mem); static RTE_DEFINE_PER_LCORE(char, ctf_field[TRACE_CTF_FIELD_SIZE]); static RTE_DEFINE_PER_LCORE(int, ctf_count); diff --git a/lib/librte_eal/include/rte_trace_point.h b/lib/librte_eal/include/rte_trace_point.h index b45171275..587f600ec 100644 --- a/lib/librte_eal/include/rte_trace_point.h +++ b/lib/librte_eal/include/rte_trace_point.h @@ -295,7 +295,7 @@ struct __rte_trace_header { uint8_t mem[]; }; -RTE_DECLARE_PER_LCORE(void *, trace_mem); +RTE_DECLARE_PER_LCORE(struct __rte_trace_header *, trace_mem); static __rte_always_inline void * __rte_trace_mem_get(uint64_t in) -- 2.17.1