summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--nptl/ChangeLog10
-rw-r--r--nptl/sysdeps/x86_64/tls.h7
3 files changed, 14 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 081d59b28d..0273a595c4 100644
--- 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>
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 24fd28a0dc..20031b5ae6 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -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>
diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h
index a51b77052a..4212038ab5 100644
--- a/nptl/sysdeps/x86_64/tls.h
+++ b/nptl/sysdeps/x86_64/tls.h
@@ -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. */