NetworkManager/tools/check-exports.sh
Dan Williams 27f3ebf708 tools: simplify symbol visiblity check script
Using nm is way simpler, and actually less error-prone.
2012-07-23 09:17:04 -05:00

26 lines
433 B
Bash
Executable file

#!/bin/sh
LC_ALL=C
export LC_ALL
stat=0
so=$1
def=$2
# Have to prefix with a tab and suffix with a ';' to match .ver file format
get_syms='nm "$so" | grep "^[[:xdigit:]]\+ T " | sed "s/^[[:xdigit:]]\+ T //" | sed "s/^/\t/" | sed "s/$/;/"'
echo $so: checking exported symbols against $def
{
echo "{"
echo "global:"
eval $get_syms | sort -u
echo "local:"
echo " *;"
echo "};"
} | diff -u "$def" - >&2 || stat=1
exit $stat