|
|
b9ba6d |
2011-08-08 Andreas Schwab <schwab@redhat.com>
|
|
|
b9ba6d |
|
|
|
b9ba6d |
* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Maintain aligned
|
|
|
b9ba6d |
stack.
|
|
|
b9ba6d |
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
|
|
|
b9ba6d |
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
|
|
|
b9ba6d |
|
|
|
b9ba6d |
Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
|
|
|
b9ba6d |
===================================================================
|
|
|
b9ba6d |
--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
|
|
|
b9ba6d |
+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
|
|
|
b9ba6d |
@@ -71,7 +71,9 @@ ENTRY(__pthread_enable_asynccancel)
|
|
|
b9ba6d |
|
|
|
b9ba6d |
1: ret
|
|
|
b9ba6d |
|
|
|
b9ba6d |
-3: movq $TCB_PTHREAD_CANCELED, %fs:RESULT
|
|
|
b9ba6d |
+3: subq $8, %rsp
|
|
|
b9ba6d |
+ cfi_adjust_cfa_offset(8)
|
|
|
b9ba6d |
+ movq $TCB_PTHREAD_CANCELED, %fs:RESULT
|
|
|
b9ba6d |
lock
|
|
|
b9ba6d |
orl $TCB_EXITING_BITMASK, %fs:CANCELHANDLING
|
|
|
b9ba6d |
movq %fs:CLEANUP_JMP_BUF, %rdi
|
|
|
b9ba6d |
Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
|
|
|
b9ba6d |
===================================================================
|
|
|
b9ba6d |
--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
|
|
|
b9ba6d |
+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
|
|
|
b9ba6d |
@@ -63,9 +63,9 @@ __pthread_cond_timedwait:
|
|
|
b9ba6d |
cfi_adjust_cfa_offset(8)
|
|
|
b9ba6d |
cfi_rel_offset(%r15, 0)
|
|
|
b9ba6d |
#ifdef __ASSUME_FUTEX_CLOCK_REALTIME
|
|
|
b9ba6d |
-# define FRAME_SIZE 32
|
|
|
b9ba6d |
+# define FRAME_SIZE (32+8)
|
|
|
b9ba6d |
#else
|
|
|
b9ba6d |
-# define FRAME_SIZE 48
|
|
|
b9ba6d |
+# define FRAME_SIZE (48+8)
|
|
|
b9ba6d |
#endif
|
|
|
b9ba6d |
subq $FRAME_SIZE, %rsp
|
|
|
b9ba6d |
cfi_adjust_cfa_offset(FRAME_SIZE)
|
|
|
b9ba6d |
Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
|
|
|
b9ba6d |
===================================================================
|
|
|
b9ba6d |
--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
|
|
|
b9ba6d |
+++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
|
|
|
b9ba6d |
@@ -45,7 +45,7 @@ __pthread_cond_wait:
|
|
|
b9ba6d |
cfi_lsda(DW_EH_PE_udata4, .LexceptSTART)
|
|
|
b9ba6d |
#endif
|
|
|
b9ba6d |
|
|
|
b9ba6d |
-#define FRAME_SIZE 32
|
|
|
b9ba6d |
+#define FRAME_SIZE (32+8)
|
|
|
b9ba6d |
leaq -FRAME_SIZE(%rsp), %rsp
|
|
|
b9ba6d |
cfi_adjust_cfa_offset(FRAME_SIZE)
|
|
|
b9ba6d |
|