Fix alignment of AVX safe area on x86-64.

This commit is contained in:
H.J. Lu 2010-10-13 22:12:03 -04:00 committed by Ulrich Drepper
parent b833d51fbb
commit f90681487d
4 changed files with 14 additions and 10 deletions

5
NEWS
View File

@ -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

View 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)

View 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. */

View 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. */