diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Makefile.am | 2 | ||||
-rwxr-xr-x | tools/check-exports.sh | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/tools/Makefile.am b/tools/Makefile.am index 17dc61466f..09a3f0edde 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1 +1 @@ -EXTRA_DIST = doc-generator.xsl +EXTRA_DIST = doc-generator.xsl check-exports.sh diff --git a/tools/check-exports.sh b/tools/check-exports.sh new file mode 100755 index 0000000000..1415e14480 --- /dev/null +++ b/tools/check-exports.sh @@ -0,0 +1,25 @@ +#!/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='( objdump -t "$so" | grep "^[^ ]* [^l.*]*[.]"; objdump -t "$so" | grep "[.]hidden.*"; ) | sed "s/.* //" | 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 + |