Ignore __bss_start, _edata and _end symbols. This is equivalent to glib commit 936ff022f21a43f39552799dc1b3988379563959: https://mail.gnome.org/archives/commits-list/2010-May/msg03273.html diff -x config.log -x config.status -ru tmp/harfbuzz-0.9.4/src/check-exported-symbols.sh work/harfbuzz-0.9.4/src/check-exported-symbols.sh --- tmp/harfbuzz-0.9.4/src/check-exported-symbols.sh 2012-08-08 23:03:22.000000000 +0100 +++ work/harfbuzz-0.9.4/src/check-exported-symbols.sh 2012-11-27 22:28:25.826000303 +0000 @@ -24,7 +24,7 @@ echo "Checking that $so has the same symbol list as $def" { echo EXPORTS - nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>' | cut -d' ' -f3 + nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| __bss_start\>\| _edata\>\| _end\>' | cut -d' ' -f3 stat=1 # cheat: copy the last line from the def file! tail -n1 "$def" diff -x config.log -x config.status -ru tmp/harfbuzz-0.9.4/src/check-internal-symbols.sh work/harfbuzz-0.9.4/src/check-internal-symbols.sh --- tmp/harfbuzz-0.9.4/src/check-internal-symbols.sh 2012-08-08 23:02:54.000000000 +0100 +++ work/harfbuzz-0.9.4/src/check-internal-symbols.sh 2012-11-27 22:27:53.240000303 +0000 @@ -19,7 +19,7 @@ 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_'; then + if nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| T hb_\| __bss_start\>\| _edata\>\| _end\>'; then echo "Ouch, internal symbols exposed" stat=1 fi