diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2010-10-13 22:12:03 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2010-10-13 22:12:03 -0400 |
commit | f90681487d90a6eea8f1c60021bc8dd83313c59b (patch) | |
tree | 79e5d816abda65fc72f4a163e552bdac4580deb6 | |
parent | b833d51fbbf78b38c6ff68074c22d3fe3ddd0ce3 (diff) | |
download | glibc-f90681487d90a6eea8f1c60021bc8dd83313c59b.tar glibc-f90681487d90a6eea8f1c60021bc8dd83313c59b.tar.gz glibc-f90681487d90a6eea8f1c60021bc8dd83313c59b.tar.bz2 glibc-f90681487d90a6eea8f1c60021bc8dd83313c59b.zip |
Fix alignment of AVX safe area on x86-64.
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | nptl/ChangeLog | 7 | ||||
-rw-r--r-- | nptl/sysdeps/x86_64/pthreaddef.h | 5 | ||||
-rw-r--r-- | nptl/sysdeps/x86_64/tls.h | 7 |
4 files changed, 14 insertions, 10 deletions
@@ -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 diff --git a/nptl/ChangeLog b/nptl/ChangeLog index dcb94b2200..e3bfd0000b 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -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) diff --git a/nptl/sysdeps/x86_64/pthreaddef.h b/nptl/sysdeps/x86_64/pthreaddef.h index be63a8c74a..8ec135c048 100644 --- a/nptl/sysdeps/x86_64/pthreaddef.h +++ b/nptl/sysdeps/x86_64/pthreaddef.h @@ -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. */ diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h index e39eb5f69d..41b5e6daa2 100644 --- a/nptl/sysdeps/x86_64/tls.h +++ b/nptl/sysdeps/x86_64/tls.h @@ -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. */ |