r4885 - in glibc-package/trunk/debian: . patches patches/amd64
Author: aurel32
Date: 2011-08-16 15:55:56 +0000 (Tue, 16 Aug 2011)
New Revision: 4885
Added:
glibc-package/trunk/debian/patches/amd64/cvs-pthread-stack-alignment.diff
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/series
Log:
* Add patches/amd64/cvs-pthread-stack-alignment.diff from upstream to fix
stack alignment issues on amd64.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2011-08-16 15:50:47 UTC (rev 4884)
+++ glibc-package/trunk/debian/changelog 2011-08-16 15:55:56 UTC (rev 4885)
@@ -12,6 +12,8 @@
Rupee symbol (U20B9).
* Add patches/sparc/cvs-rlimits.diff from upstream to fix issues with
rlimits on sparc. Closes: #637767.
+ * Add patches/amd64/cvs-pthread-stack-alignment.diff from upstream to fix
+ stack alignment issues on amd64.
-- Aurelien Jarno <aurel32@debian.org> Tue, 09 Aug 2011 11:40:02 +0200
Added: glibc-package/trunk/debian/patches/amd64/cvs-pthread-stack-alignment.diff
===================================================================
--- glibc-package/trunk/debian/patches/amd64/cvs-pthread-stack-alignment.diff (rev 0)
+++ glibc-package/trunk/debian/patches/amd64/cvs-pthread-stack-alignment.diff 2011-08-16 15:55:56 UTC (rev 4885)
@@ -0,0 +1,51 @@
+2011-08-08 Andreas Schwab <schwab@redhat.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Maintain aligned
+ stack.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
+
+diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+index 6806962..a06cd9b 100644
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+@@ -71,7 +71,9 @@ ENTRY(__pthread_enable_asynccancel)
+
+ 1: ret
+
+-3: movq $TCB_PTHREAD_CANCELED, %fs:RESULT
++3: subq $8, %rsp
++ cfi_adjust_cfa_offset(8)
++ movq $TCB_PTHREAD_CANCELED, %fs:RESULT
+ lock
+ orl $TCB_EXITING_BITMASK, %fs:CANCELHANDLING
+ movq %fs:CLEANUP_JMP_BUF, %rdi
+diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+index e6535fb..48ea8b9 100644
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+@@ -63,9 +63,9 @@ __pthread_cond_timedwait:
+ cfi_adjust_cfa_offset(8)
+ cfi_rel_offset(%r15, 0)
+ #ifdef __ASSUME_FUTEX_CLOCK_REALTIME
+-# define FRAME_SIZE 32
++# define FRAME_SIZE (32+8)
+ #else
+-# define FRAME_SIZE 48
++# define FRAME_SIZE (48+8)
+ #endif
+ subq $FRAME_SIZE, %rsp
+ cfi_adjust_cfa_offset(FRAME_SIZE)
+diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+index f5b929e..7535baa 100644
+--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+@@ -45,7 +45,7 @@ __pthread_cond_wait:
+ cfi_lsda(DW_EH_PE_udata4, .LexceptSTART)
+ #endif
+
+-#define FRAME_SIZE 32
++#define FRAME_SIZE (32+8)
+ leaq -FRAME_SIZE(%rsp), %rsp
+ cfi_adjust_cfa_offset(FRAME_SIZE)
+
Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series 2011-08-16 15:50:47 UTC (rev 4884)
+++ glibc-package/trunk/debian/patches/series 2011-08-16 15:55:56 UTC (rev 4885)
@@ -72,6 +72,7 @@
amd64/cvs-getcontext.diff
amd64/cvs-memset.diff
amd64/cvs-powl.diff
+amd64/cvs-pthread-stack-alignment.diff
arm/local-atomic.diff
arm/local-eabi-wchar.diff
Reply to: