aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2006-12-04 12:10:38 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2006-12-04 11:10:38 +0000
commitaad741f435aac46420c6294df03e0f78ee177747 (patch)
tree38c687216b40ee374097b4fbb790fb3131adfdc3 /config
parent22568cc62cabbea1eec20ef65e1da9b0caaa6f02 (diff)
downloadgcc-aad741f435aac46420c6294df03e0f78ee177747.zip
gcc-aad741f435aac46420c6294df03e0f78ee177747.tar.gz
gcc-aad741f435aac46420c6294df03e0f78ee177747.tar.bz2
tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work.
config/ * tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work. libgomp/ * configure: Regenerate. libmudflap/ * configure: Regenerate. libjava/ * configure: Regenerate. libstdc++-v3/ * configure: Regenerate. From-SVN: r119487
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog5
-rw-r--r--config/tls.m410
2 files changed, 11 insertions, 4 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index fda6f95..88b688c 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking
+ if static linking doesn't even work.
+
2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
* tls.m4 (GCC_CHECK_TLS): Fall back to a link test.
diff --git a/config/tls.m4 b/config/tls.m4
index b66b6d7..41f11ab 100644
--- a/config/tls.m4
+++ b/config/tls.m4
@@ -5,12 +5,14 @@ AC_DEFUN([GCC_CHECK_TLS], [
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.
+ dnl static linking, but only if static linking is supported (not
+ dnl on Solaris 10). This fails with some older Red Hat 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], [])
+ AC_LINK_IFELSE([int main() { return 0; }],
+ AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
+ [have_tls=yes], [have_tls=no],[]),
+ [have_tls=yes])
LDFLAGS="$save_LDFLAGS"],
[have_tls=no],
[AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }],