diff options
author | Gui Chen <gui.chen@intel.com> | 2014-07-31 23:47:07 -0400 |
---|---|---|
committer | Gui Chen <gui.chen@intel.com> | 2014-07-31 23:47:07 -0400 |
commit | c91b01f7e39922c074f5a986b08a580b5c3a799b (patch) | |
tree | 0cbfd9fafb7f0268b3e99b127fe3a70f87e91370 /check-abis.sh | |
download | glib2-c91b01f7e39922c074f5a986b08a580b5c3a799b.tar.gz glib2-c91b01f7e39922c074f5a986b08a580b5c3a799b.tar.bz2 glib2-c91b01f7e39922c074f5a986b08a580b5c3a799b.zip |
Imported Upstream version 2.35.8
Diffstat (limited to 'check-abis.sh')
-rwxr-xr-x | check-abis.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/check-abis.sh b/check-abis.sh new file mode 100755 index 0000000..037cca6 --- /dev/null +++ b/check-abis.sh @@ -0,0 +1,23 @@ +#!/bin/sh -e + +list_leaked_symbols () { + nm -D "$1" | grep ' T ' | cut -f 3 -d ' ' | egrep -v "$2" +} + +check_symbols () { + if [ "`list_leaked_symbols "$1" "$2" | wc -l`" -ne 0 ]; then + echo File "$1" possibly leaking symbols: + list_leaked_symbols "$1" "$2" + exit 1 + fi +} + +allowed="^_init$|^_fini$|^g_" +allowed_in_libglib="${allowed}|^glib__private__$|^glib_gettext$|^glib_pgettext$|^glib_check_version$" +allowed_in_libgthread='^_init$|^_fini$|^g_thread_init$|^g_thread_init_with_errorcheck_mutexes$' + +check_symbols glib/.libs/libglib-2.0.so "$allowed_in_libglib" +check_symbols gthread/.libs/libgthread-2.0.so "$allowed_in_libgthread" +for file in gmodule/.libs/libgmodule-2.0.so gobject/.libs/libgobject-2.0.so gio/.libs/libgio-2.0.so; do + check_symbols "$file" "$allowed" +done |