The tracepoint symbols __rte_*_trace_* are defined via a macro,
adding prefix "__", so they cannot be found by map checker.
Those symbols defined by RTE_TRACE_POINT and RTE_TRACE_POINT_FP
are checked in source code without the generated prefix.
The same logic is applied to per core variables, previously skipped.
Fixes: 6c232fc44c74 ("trace: add generic tracepoints")
Fixes: 4931010619fe ("trace: add alarm tracepoints")
Fixes: 52f409d614a0 ("trace: add memory tracepoints")
Fixes: 402321cfca9b ("trace: add memzone tracepoints")
Fixes: 0baa1e01c339 ("trace: add thread tracepoints")
Fixes: 05c4105738d8 ("trace: add interrupt tracepoints")
Fixes: 78d44153de8f ("ethdev: add tracepoints")
Fixes: 32e326869ed6 ("eventdev: add tracepoints")
Fixes: 4cf30e3f3c35 ("cryptodev: add tracepoints")
Fixes: 40b75c73d1c6 ("mempool: add tracepoints")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
for map in $(find lib drivers -name '*.map') ; do
for sym in $(sed -rn 's,^([^}]*_.*);,\1,p' $map) ; do
if echo $sym | grep -q '^per_lcore_' ; then
- continue
+ symsrc=${sym#per_lcore_}
+ elif echo $sym | grep -q '^__rte_.*_trace_' ; then
+ symsrc=${sym#__}
+ else
+ symsrc=$sym
fi
if ! grep -q -r --exclude=$(basename $map) \
- -w $sym $(dirname $map) ; then
+ -w $symsrc $(dirname $map) ; then
echo "$map: $sym"
fi
done