devtools: fix tracepoint symbols check
authorThomas Monjalon <thomas@monjalon.net>
Fri, 24 Apr 2020 09:32:24 +0000 (11:32 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 24 Apr 2020 13:04:25 +0000 (15:04 +0200)
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>
devtools/check-symbol-maps.sh

index e137d48..7fdfaa1 100755 (executable)
@@ -12,10 +12,14 @@ find_orphan_symbols ()
     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