diff options
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index d1ca161742..68bae39e74 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,10 @@ 2012-05-15 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Use LP_OP(mov) + to update pointer in memory. Load pointer into RDI_LP. + +2012-05-15 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (LLL_STUB_UNWIND_INFO_START): Align label to LP_SIZE instead of 8. diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S index d7c7e80cef..31bb08b376 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S @@ -72,10 +72,10 @@ ENTRY(__pthread_enable_asynccancel) 3: subq $8, %rsp cfi_adjust_cfa_offset(8) - movq $TCB_PTHREAD_CANCELED, %fs:RESULT + LP_OP(mov) $TCB_PTHREAD_CANCELED, %fs:RESULT lock orl $TCB_EXITING_BITMASK, %fs:CANCELHANDLING - movq %fs:CLEANUP_JMP_BUF, %rdi + mov %fs:CLEANUP_JMP_BUF, %RDI_LP #ifdef SHARED call __pthread_unwind@PLT #else @@ -106,7 +106,7 @@ ENTRY(__pthread_disable_asynccancel) /* Performance doesn't matter in this loop. We will delay until the thread is canceled. And we will unlikely enter the loop twice. */ -4: movq %fs:0, %rdi +4: mov %fs:0, %RDI_LP movl $__NR_futex, %eax xorq %r10, %r10 addq $CANCELHANDLING, %rdi |