From 96e15df109ccfdcc2f6b2cffc0b64a083f000903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 15 Oct 2009 23:52:00 +0200 Subject: Improve TLS detection for systems with compiler support but no libc support. * acinclude.m4 (GUILE_THREAD_LOCAL_STORAGE): Use `AC_LINK_IFELSE' instead of `AC_COMPILE_IFELSE'. --- acinclude.m4 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'acinclude.m4') 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"])]) -- cgit v1.2.1