diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 3 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index cbedbc37f4..85df60f1bd 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2004-10-01 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S + (__lll_mutex_timedlock_wait): Address futex correctly. + * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S (__lll_mutex_timedlock_wait): I woken but cannot get the lock, make sure 2 is stored in the futex and we looked at the old value. diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S index 6827804f7f..d5c9345558 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S @@ -152,7 +152,7 @@ __lll_mutex_timedlock_wait: /* Make sure the current holder knows we are going to sleep. */ movl %edx, %eax - xchgl %eax, (%ebx) + xchgl %eax, (%rdi) testl %eax, %eax jz 6b jmp 1b |