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
This commit is contained in:
parent
fa9d7d3b70
commit
dbd34b899f
|
@ -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>
|
||||
|
||||
|
|
|
@ -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);])],
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue