DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] trace: fix build with clang 21
@ 2025-10-28 14:39 David Marchand
  2025-10-28 16:21 ` Jerin Jacob
  0 siblings, 1 reply; 3+ messages in thread
From: David Marchand @ 2025-10-28 14:39 UTC (permalink / raw)
  To: dev; +Cc: jerinj, stable, Sunil Kumar Kori, Tyler Retzlaff

This was caught with recent clang.
The RTE_TRACE_POINT_ARGS() macro expects at least one parameter.
As a (void) function does not require any special tweaking with
__rte_unused, we can simply replace with a direct (void) token.

Build dir: /export/dpdk-next-net-mrvl/build-clang-static
Project version: 25.11.0-rc1
C compiler for the host machine: ccache clang (clang 21.1.4
	"clang version 21.1.4")

In file included from ../lib/eal/common/eal_common_trace_points.c:7:
../lib/eal/include/rte_eal_trace.h:23:2: error: attribute 'unused'
	cannot be applied to a 'void' parameter
	[-Werror,-Wignored-attributes]
   23 |         RTE_TRACE_POINT_ARGS(void),
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/eal/include/rte_trace_point_register.h:46:3: note: expanded
	from macro 'RTE_TRACE_POINT_ARGS'
   46 |         (RTE_TRACE_POINT_ARGS_(RTE_TRACE_POINT_ARGS_COUNT(0,
	__VA_ARGS__), __VA_ARGS__))
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/eal/include/rte_trace_point_register.h:44:30: note: expanded
	from macro 'RTE_TRACE_POINT_ARGS_'
   44 |         RTE_TRACE_POINT_ARGS_EXPAND(RTE_TRACE_POINT_ARGS_FUNC
	(N))(__VA_ARGS__)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
	~~~~~~~~~~~~~~~~~
../lib/eal/include/rte_trace_point_register.h:41:38: note: expanded
	from macro 'RTE_TRACE_POINT_ARGS_FUNC'
   41 | #define RTE_TRACE_POINT_ARGS_FUNC(a) RTE_TRACE_POINT_ARGS_ ## a
      |                                      ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0
	to see all)
../lib/eal/include/rte_trace_point_register.h:42:42: note: expanded
	from macro 'RTE_TRACE_POINT_ARGS_EXPAND'
   42 | #define RTE_TRACE_POINT_ARGS_EXPAND(...) __VA_ARGS__
      |                                          ^
../lib/eal/include/rte_trace_point_register.h:26:35: note: expanded
	from macro 'RTE_TRACE_POINT_ARGS_1'
   26 | #define RTE_TRACE_POINT_ARGS_1(a) __rte_unused a
      |                                   ^~~~~~~~~~~~
../lib/eal/include/rte_common.h:248:37: note: expanded
	from macro '__rte_unused'
  248 | #define __rte_unused __attribute__((__unused__))
      |                                     ^~~~~~~~~~
1 error generated.

Cc: stable@dpdk.org

Reported-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 app/test/test_trace.h           | 2 +-
 lib/eal/include/rte_eal_trace.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test/test_trace.h b/app/test/test_trace.h
index 4ad44e2bea..123ec8290a 100644
--- a/app/test/test_trace.h
+++ b/app/test/test_trace.h
@@ -13,5 +13,5 @@ RTE_TRACE_POINT(
 
 RTE_TRACE_POINT_FP(
 	app_dpdk_test_fp,
-	RTE_TRACE_POINT_ARGS(void),
+	(void),
 )
diff --git a/lib/eal/include/rte_eal_trace.h b/lib/eal/include/rte_eal_trace.h
index 9ad2112801..152474bf84 100644
--- a/lib/eal/include/rte_eal_trace.h
+++ b/lib/eal/include/rte_eal_trace.h
@@ -20,7 +20,7 @@ extern "C" {
 /* Generic */
 RTE_TRACE_POINT(
 	rte_eal_trace_generic_void,
-	RTE_TRACE_POINT_ARGS(void),
+	(void),
 )
 
 RTE_TRACE_POINT(
-- 
2.51.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] trace: fix build with clang 21
  2025-10-28 14:39 [PATCH] trace: fix build with clang 21 David Marchand
@ 2025-10-28 16:21 ` Jerin Jacob
  2025-10-28 16:25   ` David Marchand
  0 siblings, 1 reply; 3+ messages in thread
From: Jerin Jacob @ 2025-10-28 16:21 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, jerinj, stable, Sunil Kumar Kori, Tyler Retzlaff

On Tue, Oct 28, 2025 at 8:26 PM David Marchand
<david.marchand@redhat.com> wrote:
>
> This was caught with recent clang.
> The RTE_TRACE_POINT_ARGS() macro expects at least one parameter.
> As a (void) function does not require any special tweaking with
> __rte_unused, we can simply replace with a direct (void) token.
>
> Build dir: /export/dpdk-next-net-mrvl/build-clang-static

This can be removed.

Add Fixes: if possible.
Acked-by: Jerin Jacob <jerinj@marvell.com>




> Project version: 25.11.0-rc1
> C compiler for the host machine: ccache clang (clang 21.1.4
>         "clang version 21.1.4")
>
> In file included from ../lib/eal/common/eal_common_trace_points.c:7:
> ../lib/eal/include/rte_eal_trace.h:23:2: error: attribute 'unused'
>         cannot be applied to a 'void' parameter
>         [-Werror,-Wignored-attributes]
>    23 |         RTE_TRACE_POINT_ARGS(void),
>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ../lib/eal/include/rte_trace_point_register.h:46:3: note: expanded
>         from macro 'RTE_TRACE_POINT_ARGS'
>    46 |         (RTE_TRACE_POINT_ARGS_(RTE_TRACE_POINT_ARGS_COUNT(0,
>         __VA_ARGS__), __VA_ARGS__))
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../lib/eal/include/rte_trace_point_register.h:44:30: note: expanded
>         from macro 'RTE_TRACE_POINT_ARGS_'
>    44 |         RTE_TRACE_POINT_ARGS_EXPAND(RTE_TRACE_POINT_ARGS_FUNC
>         (N))(__VA_ARGS__)
>       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
>         ~~~~~~~~~~~~~~~~~
> ../lib/eal/include/rte_trace_point_register.h:41:38: note: expanded
>         from macro 'RTE_TRACE_POINT_ARGS_FUNC'
>    41 | #define RTE_TRACE_POINT_ARGS_FUNC(a) RTE_TRACE_POINT_ARGS_ ## a
>       |                                      ^
> note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0
>         to see all)
> ../lib/eal/include/rte_trace_point_register.h:42:42: note: expanded
>         from macro 'RTE_TRACE_POINT_ARGS_EXPAND'
>    42 | #define RTE_TRACE_POINT_ARGS_EXPAND(...) __VA_ARGS__
>       |                                          ^
> ../lib/eal/include/rte_trace_point_register.h:26:35: note: expanded
>         from macro 'RTE_TRACE_POINT_ARGS_1'
>    26 | #define RTE_TRACE_POINT_ARGS_1(a) __rte_unused a
>       |                                   ^~~~~~~~~~~~
> ../lib/eal/include/rte_common.h:248:37: note: expanded
>         from macro '__rte_unused'
>   248 | #define __rte_unused __attribute__((__unused__))
>       |                                     ^~~~~~~~~~
> 1 error generated.
>
> Cc: stable@dpdk.org
>
> Reported-by: Jerin Jacob <jerinj@marvell.com>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  app/test/test_trace.h           | 2 +-
>  lib/eal/include/rte_eal_trace.h | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/app/test/test_trace.h b/app/test/test_trace.h
> index 4ad44e2bea..123ec8290a 100644
> --- a/app/test/test_trace.h
> +++ b/app/test/test_trace.h
> @@ -13,5 +13,5 @@ RTE_TRACE_POINT(
>
>  RTE_TRACE_POINT_FP(
>         app_dpdk_test_fp,
> -       RTE_TRACE_POINT_ARGS(void),
> +       (void),
>  )
> diff --git a/lib/eal/include/rte_eal_trace.h b/lib/eal/include/rte_eal_trace.h
> index 9ad2112801..152474bf84 100644
> --- a/lib/eal/include/rte_eal_trace.h
> +++ b/lib/eal/include/rte_eal_trace.h
> @@ -20,7 +20,7 @@ extern "C" {
>  /* Generic */
>  RTE_TRACE_POINT(
>         rte_eal_trace_generic_void,
> -       RTE_TRACE_POINT_ARGS(void),
> +       (void),
>  )
>
>  RTE_TRACE_POINT(
> --
> 2.51.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] trace: fix build with clang 21
  2025-10-28 16:21 ` Jerin Jacob
@ 2025-10-28 16:25   ` David Marchand
  0 siblings, 0 replies; 3+ messages in thread
From: David Marchand @ 2025-10-28 16:25 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev, jerinj, stable, Sunil Kumar Kori, Tyler Retzlaff

On Tue, 28 Oct 2025 at 17:21, Jerin Jacob <jerinjacobk@gmail.com> wrote:
> On Tue, Oct 28, 2025 at 8:26 PM David Marchand
> <david.marchand@redhat.com> wrote:
> >
> > This was caught with recent clang.
> > The RTE_TRACE_POINT_ARGS() macro expects at least one parameter.
> > As a (void) function does not require any special tweaking with
> > __rte_unused, we can simply replace with a direct (void) token.
> >
> > Build dir: /export/dpdk-next-net-mrvl/build-clang-static
>
> This can be removed.
>
> Add Fixes: if possible.

Indeed,
Fixes: 856aef55de95 ("trace: fix undefined behavior in register")

> Acked-by: Jerin Jacob <jerinj@marvell.com>

Thanks for testing.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-10-28 16:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-28 14:39 [PATCH] trace: fix build with clang 21 David Marchand
2025-10-28 16:21 ` Jerin Jacob
2025-10-28 16:25   ` David Marchand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).