[dpdk-dev] [PATCH] tracepoint: fix compilation with C++

Pawel Wodkowski pawelwod at gmail.com
Tue Aug 4 19:51:38 CEST 2020


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



More information about the dev mailing list