Index: pulseaudio-0.9.15/m4/tls.m4 =================================================================== --- pulseaudio-0.9.15.orig/m4/tls.m4 2008-08-19 23:25:02.000000000 +0200 +++ pulseaudio-0.9.15/m4/tls.m4 2009-07-10 09:55:25.266365511 +0200 @@ -1,12 +1,19 @@ AC_DEFUN([CC_CHECK_TLS], [ AC_CACHE_CHECK([whether $CC knows __thread for Thread-Local Storage], cc_cv_tls___thread, - [AC_COMPILE_IFELSE( - AC_LANG_PROGRAM( - [[static __thread int a = 6;]], - [[a = 5;]]), - [cc_cv_tls___thread=yes], - [cc_cv_tls___thread=no]) + [AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }], + [chktls_save_LDFLAGS="$LDFLAGS" + LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" + chktls_save_CFLAGS="$CFLAGS" + CFLAGS="-fPIC $CFLAGS" + dnl If -shared works, test if TLS works in a shared library. + AC_LINK_IFELSE([int f() { return 0; }], + AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }], + [cc_cv_tls___thread=yes], + [cc_cv_tls___thread=no]), + [cc_cv_tls___thread=yes]) + CFLAGS="$chktls_save_CFLAGS" + LDFLAGS="$chktls_save_LDFLAGS"], [cc_cv_tls___thread=no]) ]) AS_IF([test "x$cc_cv_tls___thread" = "xyes"],