From 7901e715e5cac42ac5ced5a62797510b159b946f Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 22 Oct 2011 09:46:16 +0000 Subject: [PATCH] configure.in: Rearranged the TLS test such that autoreconf doesn't complain about it git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12193 --- configure.in | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/configure.in b/configure.in index ada91ea890..26ccfecc7a 100644 --- a/configure.in +++ b/configure.in @@ -1555,27 +1555,22 @@ AM_CONDITIONAL(BUILD_SSE42_TESTS, test x$ac_have_as_sse42 = xyes) # when building the tool executables. I think we should get rid of it. # # Check for TLS support in the compiler and linker -if test "x${cross_compiling}" = "xno"; then +AC_LINK_IFELSE([AC_LANG_PROGRAM([[static __thread int foo;]], + [[return foo;]])], + [vg_cv_linktime_tls=yes], + [vg_cv_linktime_tls=no]) # Native compilation: check whether running a program using TLS succeeds. # Linking only is not sufficient -- e.g. on Red Hat 7.3 linking TLS programs # succeeds but running programs using TLS fails. -AC_CACHE_CHECK([for TLS support], vg_cv_tls, - [AC_ARG_ENABLE(tls, [ --enable-tls platform supports TLS], - [vg_cv_tls=$enableval], - [AC_RUN_IFELSE([AC_LANG_PROGRAM([[static __thread int foo;]], - [[return foo;]])], - [vg_cv_tls=yes], - [vg_cv_tls=no])])]) -else # Cross-compiling: check whether linking a program using TLS succeeds. AC_CACHE_CHECK([for TLS support], vg_cv_tls, [AC_ARG_ENABLE(tls, [ --enable-tls platform supports TLS], [vg_cv_tls=$enableval], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[static __thread int foo;]], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[static __thread int foo;]], [[return foo;]])], [vg_cv_tls=yes], - [vg_cv_tls=no])])]) -fi + [vg_cv_tls=no], + [vg_cv_tls=$vg_cv_linktime_tls])])]) if test "$vg_cv_tls" = yes; then AC_DEFINE([HAVE_TLS], 1, [can use __thread to define thread-local variables]) -- 2.47.2