diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-12 08:57:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-12 08:57:35 +0000 |
commit | 35e148cb96ec7e34c206c80888f18f52859b8d5f (patch) | |
tree | 5a40b38bab8d8a58badf0aa526d33066ff0a2c65 /nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | |
parent | a3cd7da30f9ac88b43c913ef0c5b5a014e0dd2e7 (diff) |
Update.
2003-03-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
(__pthread_rwlock_timedwrlock): Add missing opcode suffix.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
(__pthread_rwlock_timedrdlock): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
(__pthread_rwlock_wrlock): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
(__pthread_rwlock_rdlock): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: New file.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Return
result of lock re-get if it fails.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | 8 |
1 files changed, 2 insertions, 6 deletions
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 831d4f9c90..5b6f1ea0a7 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 @@ -126,7 +126,7 @@ __pthread_cond_wait: testl %eax, %eax jne 12f - movq (%rsp), %rdi + movq 8(%rsp), %rdi addq $1, total_seq(%rdi) /* Install cancellation handler. */ @@ -163,7 +163,6 @@ __pthread_cond_wait: movq $SYS_futex, %rax movq %r10, %rsi /* movl $FUTEX_WAIT, %ecx */ syscall - subl $wakeup_seq-cond_lock, %ebx movq (%rsp), %rdi callq __pthread_disable_asynccancel @@ -202,7 +201,7 @@ __pthread_cond_wait: /* Remove cancellation handler. */ 11: movq 32+CLEANUP_PREV(%rsp), %rdx - movq %rdx, %gs:CLEANUP + movq %rdx, %fs:CLEANUP movq 16(%rsp), %rdi callq __pthread_mutex_lock_internal @@ -227,9 +226,6 @@ __pthread_cond_wait: addq $cond_lock, %rdi #endif callq __lll_mutex_unlock_wake -#if cond_lock != 0 - subq $cond_lock, %rdi -#endif jmp 4b /* Locking in loop failed. */ |