2 # SPDX-License-Identifier: BSD-3-Clause
3 # Copyright 2018 Mellanox Technologies, Ltd
7 # speed up by ignoring Unicode details
12 find_orphan_symbols ()
14 for map in $(find lib drivers -name '*.map') ; do
15 for sym in $(sed -rn 's,^([^}]*_.*);.*$,\1,p' $map) ; do
16 if echo $sym | grep -q '^per_lcore_' ; then
17 symsrc=${sym#per_lcore_}
18 elif echo $sym | grep -q '^__rte_.*_trace_' ; then
23 if [ -z "$(grep -rlw $symsrc $(dirname $map) | grep -v $map)" ] ; then
30 orphan_symbols=$(find_orphan_symbols)
31 if [ -n "$orphan_symbols" ] ; then
32 echo "Found only in symbol map file:"
33 echo "$orphan_symbols" | sed 's,^,\t,'
37 find_duplicate_symbols ()
39 for map in $(find lib drivers -name '*.map') ; do
40 buildtools/map-list-symbol.sh $map | \
41 sort | uniq -c | grep -v " 1 $map" || true
45 duplicate_symbols=$(find_duplicate_symbols)
46 if [ -n "$duplicate_symbols" ] ; then
47 echo "Found duplicates in symbol map file:"
48 echo "$duplicate_symbols"