From 235f96d2fd8cb78daa9db1728a0d38d1fd05d45a Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 21 Mar 2011 12:23:51 -0500 Subject: [PATCH] tools: add script to check library exports against .ver files --- tools/Makefile.am | 2 +- tools/check-exports.sh | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 tools/check-exports.sh 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 +