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

Sunil Kumar Kori skori at marvell.com
Tue Aug 11 11:29:07 CEST 2020


Hello Pawel,

Few suggestions:
1. use 'trace' instead of 'tracepoint' in subject line. i.e. "trace: fix compilation with C++"
1. Update change history.
2. Add Fixes tag.
3. Superseed the previous version of this fix.

Reference: http://patches.dpdk.org/patch/66396/
Rest Looks okay. Please submit next version with above update.

Regards
Sunil Kumar Kori

>-----Original Message-----
>From: Pawel Wodkowski <pawelwod at gmail.com>
>Sent: Tuesday, August 11, 2020 2:06 AM
>To: dev at dpdk.org
>Cc: Pawel Wodkowski <pawelwod at gmail.com>;
>david.marchand at redhat.com; Jerin Jacob Kollanukkaran
><jerinj at marvell.com>; Sunil Kumar Kori <skori at marvell.com>
>Subject: [EXT] [PATCH v2] tracepoint: fix compilation with C++
>
>External Email
>
>----------------------------------------------------------------------
>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