]> sourceware.org Git - glibc.git/commitdiff
Fix x86-64 TCB alignment for future processor versions.
authorUlrich Drepper <drepper@redhat.com>
Wed, 29 Jul 2009 16:01:04 +0000 (09:01 -0700)
committerUlrich Drepper <drepper@redhat.com>
Wed, 29 Jul 2009 16:01:04 +0000 (09:01 -0700)
ChangeLog
nptl/ChangeLog
nptl/sysdeps/x86_64/tls.h

index 081d59b28d6789d48ea4584b43e25433e83b5a70..0273a595c455d836edd6ade98135d6e7e9b97581 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,6 @@
 2009-07-29  Ulrich Drepper  <drepper@redhat.com>
 
-       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Improve CFI
-       information.
+       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Improve CFI.
 
 2009-07-28  H.J. Lu  <hongjiu.lu@intel.com>
 
index 24fd28a0dc0533029ba29afab155f98cc13424dd..20031b5ae67c5456d0dfa7420f9b9a424c325080 100644 (file)
@@ -1,9 +1,13 @@
 2009-07-29  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Define explicitly to 32.
+
        * sysdeps/x86_64/tls.h (tcbhead_t): Add room for SSE registers the
-       dynamic linker might have to save.  Define RTLD_CHECK_FOREIGN_CALL,
-       RTLD_ENABLE_FOREIGN_CALL, RTLD_PREPARE_FOREIGN_CALL, and
-       RTLD_FINALIZE_FOREIGN_CALL.  Pretty printing.
+       dynamic linker might have to save.
+       Define RTLD_CHECK_FOREIGN_CALL, RTLD_ENABLE_FOREIGN_CALL,
+       RTLD_PREPARE_FOREIGN_CALL, and RTLD_FINALIZE_FOREIGN_CALL.  Pretty
+       printing.
+
        * sysdeps/x86_64/tcb-offsets.sym: Add RTLD_SAVESPACE_SSE.
 
 2009-07-28  Ulrich Drepper  <drepper@redhat.com>
index a51b77052ae0138b8f8b802073946402af8509a1..4212038ab507b1490906f2ee2c940cac0e103651 100644 (file)
@@ -117,7 +117,12 @@ typedef struct
 # define TLS_TCB_SIZE sizeof (struct pthread)
 
 /* Alignment requirements for the TCB.  */
-# define TLS_TCB_ALIGN __alignof__ (struct pthread)
+//# define TLS_TCB_ALIGN __alignof__ (struct pthread)
+// Normally the above would be correct  But we have to store post-AVX
+// vector registers in the TCB and we want the storage to be aligned.
+// unfortunately there isn't yet a type for these values and hence no
+// 32-byte alignment requirement.  Make this explicit, for now.
+# define TLS_TCB_ALIGN 32
 
 /* The TCB can have any size and the memory following the address the
    thread pointer points to is unspecified.  Allocate the TCB there.  */
This page took 0.066052 seconds and 5 git commands to generate.