diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-16 08:09:26 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-16 08:09:26 +0000 |
commit | 51d0678c29b8e49e838c85d0ee7e98210a105695 (patch) | |
tree | 00c6476008122b40d8ec531ad305cf467ea48fc1 /nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S | |
parent | ad032aee17008c7799fee97679a6d20efdcd7bee (diff) |
Update.
2003-03-16 Ulrich Drepper <drepper@redhat.com>
* tst-rwlock6.c: Add some more status output.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S index fd04e116c7..b522f3c07e 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S @@ -45,6 +45,7 @@ pthread_rwlock_timedrdlock: pushq %r12 pushq %r13 + pushq %r14 subq $16, %rsp movq %rdi, %r12 @@ -76,14 +77,14 @@ pthread_rwlock_timedrdlock: incl READERS_QUEUED(%r12) je 4f - movl READERS_WAKEUP(%r12), %edx + movl READERS_WAKEUP(%r12), %r14d /* Unlock. */ LOCK #if MUTEX == 0 - subl $1, (%r12) + decl (%r12) #else - subl $1, MUTEX(%r12) + decl MUTEX(%r12) #endif jne 10f @@ -112,7 +113,8 @@ pthread_rwlock_timedrdlock: movq %rdi, 8(%rsp) xorq %rsi, %rsi /* movq $FUTEX_WAIT, %rsi */ - xorq %r10, %r10 + movq %rsp, %r10 + movl %r14d, %edx leaq READERS_WAKEUP(%r12), %rdi movq $SYS_futex, %rax syscall @@ -152,6 +154,7 @@ pthread_rwlock_timedrdlock: 7: movq %rdx, %rax addq $16, %rsp + popq %r14 popq %r13 popq %r12 retq |