diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 3927717f19..133af22726 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/pthread_cond_signal.S: Use + LP_OP(cmp) and RCX_LP on dep_mutex pointer. + +2012-05-15 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Use LP_OP(op) on NWAITERS. (__gcc_personality_v0): Replace 8-byte data alignment with diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S index bb9a8134d6..a77b7d5965 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S @@ -55,14 +55,14 @@ __pthread_cond_signal: addl $1, (%rdi) /* Wake up one thread. */ - cmpq $-1, dep_mutex(%r8) + LP_OP(cmp) $-1, dep_mutex(%r8) movl $FUTEX_WAKE_OP, %esi movl $1, %edx movl $SYS_futex, %eax je 8f /* Get the address of the mutex used. */ - movq dep_mutex(%r8), %rcx + mov dep_mutex(%r8), %RCX_LP movl MUTEX_KIND(%rcx), %r11d andl $(ROBUST_BIT|PI_BIT), %r11d cmpl $PI_BIT, %r11d @@ -134,7 +134,7 @@ __pthread_cond_signal: #if cond_lock != 0 addq $cond_lock, %rdi #endif - cmpq $-1, dep_mutex-cond_lock(%rdi) + LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) movl $LLL_PRIVATE, %eax movl $LLL_SHARED, %esi cmovne %eax, %esi @@ -150,7 +150,7 @@ __pthread_cond_signal: #if cond_lock != 0 addq $cond_lock, %rdi #endif - cmpq $-1, dep_mutex-cond_lock(%rdi) + LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi) movl $LLL_PRIVATE, %eax movl $LLL_SHARED, %esi cmovne %eax, %esi |