[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: