3 list_leaked_symbols
() {
4 nm
-D "$1" |
grep ' T ' | cut
-f 3 -d ' ' |
egrep -v "$2"
8 if [ "`list_leaked_symbols "$1" "$2" | wc -l`" -ne 0 ]; then
9 echo File
"$1" possibly leaking symbols
:
10 list_leaked_symbols
"$1" "$2"
15 allowed
="^_init$|^_fini$|^_ftext$|^g_"
16 allowed_in_libglib
="${allowed}|^glib__private__$|^glib_gettext$|^glib_pgettext$|^glib_check_version$"
17 allowed_in_libgthread
='^_init$|^_fini$|^_ftext$|^g_thread_init$|^g_thread_init_with_errorcheck_mutexes$'
19 check_symbols glib
/.libs
/libglib-2.0.so
"$allowed_in_libglib"
20 check_symbols gthread
/.libs
/libgthread-2.0.so
"$allowed_in_libgthread"
21 for file in gmodule
/.libs
/libgmodule-2.0.so gobject
/.libs
/libgobject-2.0.so gio
/.libs
/libgio-2.0.so
; do
22 check_symbols
"$file" "$allowed"