From e009e2f51de3419e119cadd2737c11c2506b2770 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 23 Sep 2005 17:28:31 +0000 Subject: * enable.m4: New file. * tls.m4: New file. --- config/tls.m4 | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 config/tls.m4 (limited to 'config/tls.m4') diff --git a/config/tls.m4 b/config/tls.m4 new file mode 100644 index 000000000..5cbb6854f --- /dev/null +++ b/config/tls.m4 @@ -0,0 +1,21 @@ +dnl Check whether the target supports TLS. +AC_DEFUN([GCC_CHECK_TLS], [ + GCC_ENABLE(tls, yes, [Use thread-local storage]) + AC_CACHE_CHECK([whether the target supports thread-local storage], + have_tls, [ + AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }], + [dnl If the test case passed with dynamic linking, try again with + dnl static linking. This fails at least with some older Red Hat + dnl releases. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="-static $LDFLAGS" + AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }], + [have_tls=yes], [have_tls=no], []) + LDFLAGS="$save_LDFLAGS"], + [have_tls=no], + [AC_COMPILE_IFELSE([__thread int foo;], [have_tls=yes], [have_tls=no])] + )]) + if test "$enable_tls $have_tls" = "yes yes"; then + AC_DEFINE(HAVE_TLS, 1, + [Define to 1 if the target supports thread-local storage.]) + fi]) -- cgit v1.2.3