Fix alignment of AVX safe area on x86-64.
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 14 Oct 2010 02:12:03 +0000 (22:12 -0400)
committerUlrich Drepper <drepper@gmail.com>
Thu, 14 Oct 2010 02:12:03 +0000 (22:12 -0400)
NEWS
nptl/ChangeLog
nptl/sysdeps/x86_64/pthreaddef.h
nptl/sysdeps/x86_64/tls.h

diff --git a/NEWS b/NEWS
index bd0f21c..48efcbd 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2010-10-11
+GNU C Library NEWS -- history of user-visible changes.  2010-10-13
 Copyright (C) 1992-2009, 2010 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -10,7 +10,8 @@ Version 2.13
 * The following bugs are resolved with this release:
 
   3268, 7066, 10851, 11611, 11640, 11701, 11840, 11856, 11883, 11903, 11904,
-  11968, 11979, 12005, 12037, 12067, 12077, 12078, 12092, 12093, 12107, 12108
+  11968, 11979, 12005, 12037, 12067, 12077, 12078, 12092, 12093, 12107, 12108,
+  12113
 
 * New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark
 
index dcb94b2..e3bfd00 100644 (file)
@@ -1,3 +1,10 @@
+2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #12113]
+       * sysdeps/x86_64/pthreaddef.h (TCB_ALIGNMENT): Changed to 32.
+       * sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Defined with alignment
+       of "struct pthread".
+
 2010-09-21  Andreas Schwab  <schwab@redhat.com>
 
        * sysdeps/pthread/pthread.h (pthread_cleanup_push)
index be63a8c..8ec135c 100644 (file)
@@ -27,8 +27,9 @@
 /* Minimal stack size after allocating thread descriptor and guard size.  */
 #define MINIMAL_REST_STACK     2048
 
-/* Alignment requirement for TCB.  */
-#define TCB_ALIGNMENT          16
+/* Alignment requirement for TCB.  Need to store post-AVX vector registers
+   in the TCB and we want the storage to be aligned at 32-byte.  */
+#define TCB_ALIGNMENT          32
 
 
 /* Location of current stack frame.  The frame pointer is not usable.  */
index e39eb5f..41b5e6d 100644 (file)
@@ -117,12 +117,7 @@ typedef struct
 # define TLS_TCB_SIZE sizeof (struct pthread)
 
 /* Alignment requirements for the TCB.  */
-//# 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
+# define TLS_TCB_ALIGN __alignof__ (struct pthread)
 
 /* The TCB can have any size and the memory following the address the
    thread pointer points to is unspecified.  Allocate the TCB there.  */