sync changelog with gcc, plus commit the following patch:
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.
This commit is contained in:
parent
9f12743a8f
commit
c947dcc182
|
@ -1,25 +1,35 @@
|
||||||
2010-06-03 Joern Rennecke <joern.rennecke@embecosm.com>
|
2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
|
||||||
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
||||||
|
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>
|
||||||
|
|
||||||
Sync from GCC:
|
|
||||||
PR bootstrap/42798
|
PR bootstrap/42798
|
||||||
* override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
|
* override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
|
||||||
definitions from git Autoconf.
|
definitions from git Autoconf.
|
||||||
|
|
||||||
2010-06-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
2010-04-13 Steve Ellcey <sje@cup.hp.com>
|
||||||
|
|
||||||
Sync from GCC:
|
|
||||||
|
|
||||||
2010-04-13 Steve Ellcey <sje@cup.hp.com>
|
|
||||||
* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.
|
* elf.m4: Add hppa[12]*-*-hpux* to list of non-elf platforms.
|
||||||
|
|
||||||
2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
2010-03-23 Kai Tietz <kai.tietz@onevision.com>
|
||||||
|
|
||||||
|
* mh-mingw: Revert accidentally checking r156315.
|
||||||
|
|
||||||
|
2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc. if
|
* stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc. if
|
||||||
corresponding macros already exist.
|
corresponding macros already exist.
|
||||||
|
|
||||||
2010-02-15 Nick Clifton <nickc@redhat.com>
|
2010-01-02 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
* elf.m4: Import from gcc mainline.
|
PR lto/41529
|
||||||
|
* elf.m4: New file.
|
||||||
|
|
||||||
2009-11-30 Joseph Myers <joseph@codesourcery.com>
|
2009-11-30 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,16 @@ AC_DEFUN([GCC_CHECK_TLS], [
|
||||||
CFLAGS="$chktls_save_CFLAGS"
|
CFLAGS="$chktls_save_CFLAGS"
|
||||||
if test "X$thread_CFLAGS" != Xfailed; then
|
if test "X$thread_CFLAGS" != Xfailed; then
|
||||||
CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
|
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_RUN_IFELSE(
|
||||||
[AC_LANG_PROGRAM(
|
[AC_LANG_PROGRAM(
|
||||||
[#include <pthread.h>
|
[#include <pthread.h>
|
||||||
__thread int a;
|
__thread int a;
|
||||||
static int *a_in_other_thread;
|
static int *volatile a_in_other_thread;
|
||||||
static void *
|
static void *
|
||||||
thread_func (void *arg)
|
thread_func (void *arg)
|
||||||
{
|
{
|
||||||
|
@ -51,11 +56,11 @@ AC_DEFUN([GCC_CHECK_TLS], [
|
||||||
}],
|
}],
|
||||||
[pthread_t thread;
|
[pthread_t thread;
|
||||||
void *thread_retval;
|
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,
|
if (pthread_create (&thread, (pthread_attr_t *)0,
|
||||||
thread_func, (void *)0))
|
thread_func, (void *)0))
|
||||||
return 0;
|
return 0;
|
||||||
a_in_main_thread = &a;
|
|
||||||
if (pthread_join (thread, &thread_retval))
|
if (pthread_join (thread, &thread_retval))
|
||||||
return 0;
|
return 0;
|
||||||
return (a_in_other_thread == a_in_main_thread);])],
|
return (a_in_other_thread == a_in_main_thread);])],
|
||||||
|
|
Loading…
Reference in New Issue