diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/ChangeLog | 5 | ||||
-rw-r--r-- | config/mh-ppc-darwin | 5 | ||||
-rw-r--r-- | config/tls.m4 | 10 |
3 files changed, 16 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/mh-ppc-darwin b/config/mh-ppc-darwin index 44fd620..231415e 100644 --- a/config/mh-ppc-darwin +++ b/config/mh-ppc-darwin @@ -4,3 +4,8 @@ BOOT_CFLAGS=-g -O2 -mdynamic-no-pic +# The spiffy cpp-precomp chokes on some legitimate constructs in GCC +# sources; use -no-cpp-precomp to get to GNU cpp. +# Apple's GCC has bugs in designated initializer handling, so disable +# that too. +STAGE1_CFLAGS += -no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0 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; }], |