From 586fa886ad1473759cddf897691fd3c63a6d2360 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 29 Jul 2009 09:01:04 -0700 Subject: Fix x86-64 TCB alignment for future processor versions. --- nptl/sysdeps/x86_64/tls.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'nptl/sysdeps') diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h index a51b770..4212038 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. */ -- cgit v1.1