summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/i386
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S13
1 files changed, 7 insertions, 6 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
index d4fb50ac5b..484beafca9 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
@@ -88,10 +88,10 @@ __lll_mutex_timedlock_wait:
movl %ecx, %ebp
movl %edx, %edi
- leal 1(%eax), %esi
+
+1: leal 1(%eax), %esi
/* Get current time. */
-1:
movl %esp, %ebx
xorl %ecx, %ecx
movl $SYS_gettimeofday, %eax
@@ -120,11 +120,12 @@ __lll_mutex_timedlock_wait:
movl %ebp, %ebx
movl $SYS_futex, %eax
ENTER_KERNEL
+ movl %eax, %ecx
- movl $1, %esi
+ movl $1, %eax
LOCK
- xaddl %esi, (%ebx)
- testl %esi, %esi
+ xaddl %eax, (%ebx)
+ testl %eax, %eax
jne 7f
movl $2, (%ebx)
@@ -138,7 +139,7 @@ __lll_mutex_timedlock_wait:
ret
/* Check whether the time expired. */
-7: cmpl $-ETIMEDOUT, %eax
+7: cmpl $-ETIMEDOUT, %ecx
je 5f
jmp 1b