r4461 - in glibc-package/trunk/debian: . patches patches/amd64
Author: aurel32
Date: 2011-01-23 18:54:21 +0000 (Sun, 23 Jan 2011)
New Revision: 4461
Added:
glibc-package/trunk/debian/patches/amd64/cvs-avx-tcb-alignment.diff
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/series
Log:
* Add patches/amd64/cvs-avx-tcb-alignment.diff from upstream to fix
alignement issues on CPU supporting the AVX instruction set. Closes:
#610657.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2011-01-20 18:49:48 UTC (rev 4460)
+++ glibc-package/trunk/debian/changelog 2011-01-23 18:54:21 UTC (rev 4461)
@@ -1,3 +1,11 @@
+eglibc (2.11.2-10) UNRELEASED; urgency=low
+
+ * Add patches/amd64/cvs-avx-tcb-alignment.diff from upstream to fix
+ alignement issues on CPU supporting the AVX instruction set. Closes:
+ #610657.
+
+ -- Aurelien Jarno <aurel32@debian.org> Sun, 23 Jan 2011 19:52:52 +0100
+
eglibc (2.11.2-9) unstable; urgency=low
* Disable build failure in case of testsuite regressions, will be
Added: glibc-package/trunk/debian/patches/amd64/cvs-avx-tcb-alignment.diff
===================================================================
--- glibc-package/trunk/debian/patches/amd64/cvs-avx-tcb-alignment.diff (rev 0)
+++ glibc-package/trunk/debian/patches/amd64/cvs-avx-tcb-alignment.diff 2011-01-23 18:54:21 UTC (rev 4461)
@@ -0,0 +1,41 @@
+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".
+
+diff --git a/nptl/sysdeps/x86_64/pthreaddef.h b/nptl/sysdeps/x86_64/pthreaddef.h
+index be63a8c..8ec135c 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 e39eb5f..41b5e6d 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. */
Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series 2011-01-20 18:49:48 UTC (rev 4460)
+++ glibc-package/trunk/debian/patches/series 2011-01-23 18:54:21 UTC (rev 4461)
@@ -64,6 +64,7 @@
amd64/local-clone.diff
amd64/local-linuxthreads-gscope.diff
amd64/submitted-tst-audit6-avx.diff
+amd64/cvs-avx-tcb-alignment.diff
arm/local-atomic.diff
arm/local-eabi-wchar.diff
Reply to: