summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2010-06-10 16:01:32 +0000
committerPaolo Bonzini <bonzini@gnu.org>2010-06-10 16:01:32 +0000
commit8b4e6b9f21bb2bb2dca5f190f2934702c3ede888 (patch)
treefd108602b58d1ba472ec2692f62098157aec0f86 /config
parent3baae9d67ef47142e1d2681aa11a4640414a9748 (diff)
downloadbinutils-8b4e6b9f21bb2bb2dca5f190f2934702c3ede888.tar.gz
binutils-8b4e6b9f21bb2bb2dca5f190f2934702c3ede888.tar.bz2
binutils-8b4e6b9f21bb2bb2dca5f190f2934702c3ede888.zip
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.
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog28
-rw-r--r--config/tls.m411
2 files changed, 27 insertions, 12 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index e0561d2f142..27f49c2ee6a 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,25 +1,35 @@
+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>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
- Sync from GCC:
PR bootstrap/42798
* override.m4 (_AC_CHECK_DECL_BODY, _AC_CHECK_DECLS): Import
definitions from git Autoconf.
-2010-06-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- Sync from GCC:
+2010-04-13 Steve Ellcey <sje@cup.hp.com>
- 2010-04-13 Steve Ellcey <sje@cup.hp.com>
* 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
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>
diff --git a/config/tls.m4 b/config/tls.m4
index ef7e6d0b555..4e170c8d6ae 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);])],