diff options
author | Iain Sandoe <iains@gcc.gnu.org> | 2010-06-09 09:27:04 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2010-06-09 09:27:04 +0000 |
commit | dbd34b899f1ec8facc25649349cda3ffe482b3bf (patch) | |
tree | 307696aa3f195e924bc7c2146bbcf51ca3871cf7 | |
parent | fa9d7d3b70bae40150022c469b6b50c001474e11 (diff) | |
download | gcc-dbd34b899f1ec8facc25649349cda3ffe482b3bf.zip gcc-dbd34b899f1ec8facc25649349cda3ffe482b3bf.tar.gz gcc-dbd34b899f1ec8facc25649349cda3ffe482b3bf.tar.bz2 |
re PR bootstrap/43170 (gcc 4.5 20100218 bootstrap compare fails on os x 10.6)
config:
PR bootstrap/43170
* tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test
references. Move the main () test reference ahead of
pthread_create(). Add a comment to explain the requirements
of the test.
libgomp:
PR bootstrap/43170
* configure: Regenerate.
libjava:
PR bootstrap/43170
* configure: Regenerate.
libmudflap:
PR bootstrap/43170
* configure: Regenerate.
libstdc++-v3:
PR bootstrap/43170
* configure: Regenerate.
From-SVN: r160457
-rw-r--r-- | config/ChangeLog | 8 | ||||
-rw-r--r-- | config/tls.m4 | 11 | ||||
-rw-r--r-- | libgomp/ChangeLog | 5 | ||||
-rwxr-xr-x | libgomp/configure | 6 | ||||
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rwxr-xr-x | libjava/configure | 6 | ||||
-rw-r--r-- | libmudflap/ChangeLog | 5 | ||||
-rwxr-xr-x | libmudflap/configure | 6 | ||||
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rwxr-xr-x | libstdc++-v3/configure | 18 |
10 files changed, 54 insertions, 21 deletions
diff --git a/config/ChangeLog b/config/ChangeLog index a211292..27f49c2 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,11 @@ +2010-06-09 Iain Sandoe <iains@gcc.gnu.org> + + PR bootstrap/43170 + * tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test + references. Move the main () test reference ahead of + pthread_create(). Add a comment to explain the requirements + of the test. + 2010-06-03 Joern Rennecke <joern.rennecke@embecosm.com> Ralf Wildenhues <Ralf.Wildenhues@gmx.de> diff --git a/config/tls.m4 b/config/tls.m4 index ef7e6d0..4e170c8 100644 --- a/config/tls.m4 +++ b/config/tls.m4 @@ -38,11 +38,16 @@ AC_DEFUN([GCC_CHECK_TLS], [ CFLAGS="$chktls_save_CFLAGS" if test "X$thread_CFLAGS" != Xfailed; then CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS" + dnl Test for an old glibc bug that violated the __thread property. + dnl Use volatile to ensure the compiler won't optimize away pointer + dnl accesses it might otherwise assume to be redundant, or reorder + dnl them and reuse storage, which might lead to them pointing to + dnl the same location. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [#include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -51,11 +56,11 @@ AC_DEFUN([GCC_CHECK_TLS], [ }], [pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread);])], diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index c298ce9..c2dfeb1 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2010-06-09 Iain Sandoe <iains@gcc.gnu.org> + + PR bootstrap/43170 + * configure: Regenerate. + 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> PR other/43620 diff --git a/libgomp/configure b/libgomp/configure index 3b5b349..e9b3a65 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -15380,7 +15380,7 @@ else /* end confdefs.h. */ #include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -15392,11 +15392,11 @@ main () { pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread); diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 47caffe..55d384b 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2010-06-09 Iain Sandoe <iains@gcc.gnu.org> + + PR bootstrap/43170 + * configure: Regenerate. + 2010-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure: Regenerate. diff --git a/libjava/configure b/libjava/configure index c0bfdea..c204809 100755 --- a/libjava/configure +++ b/libjava/configure @@ -24390,7 +24390,7 @@ else /* end confdefs.h. */ #include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -24402,11 +24402,11 @@ main () { pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread); diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog index 8ea482c..aa88a73 100644 --- a/libmudflap/ChangeLog +++ b/libmudflap/ChangeLog @@ -1,3 +1,8 @@ +2010-06-09 Iain Sandoe <iains@gcc.gnu.org> + + PR bootstrap/43170 + * configure: Regenerate. + 2010-05-16 Uros Bizjak <ubizjak@gmail.com> * testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall. diff --git a/libmudflap/configure b/libmudflap/configure index 65b2daa3..03aec3f 100755 --- a/libmudflap/configure +++ b/libmudflap/configure @@ -11479,7 +11479,7 @@ else /* end confdefs.h. */ #include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -11491,11 +11491,11 @@ main () { pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread); diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index edb1519..43d1354 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2010-06-09 Iain Sandoe <iains@gcc.gnu.org> + + PR bootstrap/43170 + * configure: Regenerate. + 2010-06-09 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/44413 diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 53f0ce3..0650404 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -25548,7 +25548,7 @@ else /* end confdefs.h. */ #include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -25560,11 +25560,11 @@ main () { pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread); @@ -44486,7 +44486,7 @@ else /* end confdefs.h. */ #include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -44498,11 +44498,11 @@ main () { pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread); @@ -50571,7 +50571,7 @@ else /* end confdefs.h. */ #include <pthread.h> __thread int a; - static int *a_in_other_thread; + static int *volatile a_in_other_thread; static void * thread_func (void *arg) { @@ -50583,11 +50583,11 @@ main () { pthread_t thread; void *thread_retval; - int *a_in_main_thread; + int *volatile a_in_main_thread; + a_in_main_thread = &a; if (pthread_create (&thread, (pthread_attr_t *)0, thread_func, (void *)0)) return 0; - a_in_main_thread = &a; if (pthread_join (thread, &thread_retval)) return 0; return (a_in_other_thread == a_in_main_thread); |