summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m47
1 files changed, 5 insertions, 2 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index ed537d0bd..43a227bc9 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -341,8 +341,11 @@ dnl Check for compiler thread-local storage (TLS) support.
AC_DEFUN([GUILE_THREAD_LOCAL_STORAGE], [
AC_CACHE_CHECK([whether the `__thread' storage class is available],
[ac_cv_have_thread_storage_class],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([__thread int tls_integer;],
- [tls_integer = 123;])],
+ [dnl On some systems, e.g., NetBSD 5.0 with GCC 4.1, `__thread' is
+ dnl properly compiled but fails to link due to the lack of TLS
+ dnl support in the C library. Thus we try to link, not just compile.
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([__thread int tls_integer;],
+ [tls_integer = 123;])],
[ac_cv_have_thread_storage_class="yes"],
[ac_cv_have_thread_storage_class="no"])])