src/Makefile.am | 3 -- src/check-exported-symbols.sh | 40 --------------------------------- src/check-internal-symbols.sh | 34 ---------------------------- src/check-symbols.sh | 50 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 76 deletions(-)
New commits: commit 6c1e8b614cfd6ed016fba6bf20af1e422e79eb71 Author: Behdad Esfahbod <[email protected]> Date: Mon Feb 4 23:24:16 2013 -0500 Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh fail on mips/mipsel diff --git a/src/check-symbols.sh b/src/check-symbols.sh index 7256577..4c03c13 100755 --- a/src/check-symbols.sh +++ b/src/check-symbols.sh @@ -21,7 +21,7 @@ for def in $defs; do lib=`echo "$def" | sed 's/[.]def$//;s@.*/@@'` so=.libs/lib${lib}.so - EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>' | cut -d' ' -f3`" + EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| _fdata\>\| _ftext\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>' | cut -d' ' -f3`" if test -f "$so"; then commit bafdf3d983dcc277d6e7e322277c0bb25b41a173 Author: Behdad Esfahbod <[email protected]> Date: Mon Feb 4 23:06:50 2013 -0500 Merge check-internal-symbols.sh and check-exported-symbols.sh diff --git a/src/Makefile.am b/src/Makefile.am index d72aa07..79a91d7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -277,9 +277,8 @@ test_size_params_LDADD = libharfbuzz.la $(HBLIBS) dist_check_SCRIPTS = \ check-c-linkage-decls.sh \ check-header-guards.sh \ - check-exported-symbols.sh \ check-includes.sh \ - check-internal-symbols.sh \ + check-symbols.sh \ $(NULL) if HAVE_ICU diff --git a/src/check-exported-symbols.sh b/src/check-exported-symbols.sh deleted file mode 100755 index 6f0bf7f..0000000 --- a/src/check-exported-symbols.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -test -z "$MAKE" && MAKE=make -stat=0 - -if which nm 2>/dev/null >/dev/null; then - : -else - echo "check-exported-symbols.sh: 'nm' not found; skipping test" - exit 77 -fi - -defs="harfbuzz.def" -$MAKE $defs > /dev/null -tested=false -for def in $defs; do - lib=`echo "$def" | sed 's/[.]def$//;s@.*/@@'` - so=.libs/lib${lib}.so - if test -f "$so"; then - echo "Checking that $so has the same symbol list as $def" - { - echo EXPORTS - nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>' | cut -d' ' -f3 - stat=1 - # cheat: copy the last line from the def file! - tail -n1 "$def" - } | diff "$def" - >&2 || stat=1 - tested=true - fi -done -if ! $tested; then - echo "check-exported-symbols.sh: libharfbuzz shared library not found; skipping test" - exit 77 -fi - -exit $stat diff --git a/src/check-internal-symbols.sh b/src/check-internal-symbols.sh deleted file mode 100755 index a8fdc53..0000000 --- a/src/check-internal-symbols.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -stat=0 - - -if which nm 2>/dev/null >/dev/null; then - : -else - echo "check-internal-symbols.sh: 'nm' not found; skipping test" - exit 77 -fi - -tested=false -for suffix in .so; do - so=`echo .libs/libharfbuzz$suffix` - if test -f "$so"; then - echo "Checking that we are not exposing internal symbols" - if nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| T hb_\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>'; then - echo "Ouch, internal symbols exposed" - stat=1 - fi - tested=true - fi -done -if ! $tested; then - echo "check-internal-symbols.sh: libharfbuzz shared library not found; skipping test" - exit 77 -fi - -exit $stat diff --git a/src/check-symbols.sh b/src/check-symbols.sh new file mode 100755 index 0000000..7256577 --- /dev/null +++ b/src/check-symbols.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +LC_ALL=C +export LC_ALL + +test -z "$srcdir" && srcdir=. +test -z "$MAKE" && MAKE=make +stat=0 + +if which nm 2>/dev/null >/dev/null; then + : +else + echo "check-symbols.sh: 'nm' not found; skipping test" + exit 77 +fi + +defs="harfbuzz.def" +$MAKE $defs > /dev/null +tested=false +for def in $defs; do + lib=`echo "$def" | sed 's/[.]def$//;s@.*/@@'` + so=.libs/lib${lib}.so + + EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>' | cut -d' ' -f3`" + + if test -f "$so"; then + + echo "Checking that $so has the same symbol list as $def" + { + echo EXPORTS + echo "$EXPORTED_SYMBOLS" + # cheat: copy the last line from the def file! + tail -n1 "$def" + } | diff "$def" - >&2 || stat=1 + + echo "Checking that we are not exposing internal symbols" + if echo "$EXPORTED_SYMBOLS" | grep -v 'hb_'; then + echo "Ouch, internal symbols exposed" + stat=1 + fi + + tested=true + fi +done +if ! $tested; then + echo "check-exported-symbols.sh: libharfbuzz shared library not found; skipping test" + exit 77 +fi + +exit $stat _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
