[PATCH] trace: fix build with clang 21

David Marchand david.marchand at redhat.com
Tue Nov 4 14:15:23 CET 2025


On Tue, 28 Oct 2025 at 15:40, David Marchand <david.marchand at 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
> 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.
>
Fixes: 856aef55de95 ("trace: fix undefined behavior in register")
> Cc: stable at dpdk.org
>
> Reported-by: Jerin Jacob <jerinj at marvell.com>
> Signed-off-by: David Marchand <david.marchand at redhat.com>

Applied, thanks.


-- 
David Marchand



More information about the stable mailing list