about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S14
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S14
2 files changed, 14 insertions, 14 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
index 81a4623a9c..b2a5d53e31 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
@@ -56,20 +56,20 @@ __pthread_cond_broadcast:
 	testl	%eax, %eax
 	jne	1f
 
-2:	movl	total_seq+4(%ebx), %eax
-	movl	total_seq(%ebx), %ecx
-	cmpl	wakeup_seq+4(%ebx), %eax
+2:	addl	$wakeup_seq, %ebx
+	movl	total_seq+4-wakeup_seq(%ebx), %eax
+	movl	total_seq-wakeup_seq(%ebx), %ecx
+	cmpl	4(%ebx), %eax
 	ja	3f
 	jb	4f
-	cmpl	wakeup_seq(%ebx), %ecx
+	cmpl	(%ebx), %ecx
 	jna	4f
 
 	/* Case all currently waiting threads to wake up.  */
-3:	movl	%ecx, wakeup_seq(%ebx)
-	movl	%eax, wakeup_seq+4(%ebx)
+3:	movl	%ecx, (%ebx)
+	movl	%eax, 4(%ebx)
 
 	/* Wake up all threads.  */
-	addl	$wakeup_seq, %ebx
 	movl	$FUTEX_WAKE, %ecx
 	xorl	%esi, %esi
 	movl	$SYS_futex, %eax
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
index a581c127b2..404bb4ff85 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
@@ -56,20 +56,20 @@ __pthread_cond_signal:
 	testl	%eax, %eax
 	jne	1f
 
-2:	movl	total_seq+4(%ebx), %eax
-	movl	total_seq(%ebx), %ecx
-	cmpl	wakeup_seq+4(%ebx), %eax
+2:	addl	$wakeup_seq, %ebx
+	movl	total_seq+4-wakeup_seq(%ebx), %eax
+	movl	total_seq-wakeup_seq(%ebx), %ecx
+	cmpl	4(%ebx), %eax
 	ja	3f
 	jb	4f
-	cmpl	wakeup_seq(%ebx), %ecx
+	cmpl	(%ebx), %ecx
 	jbe	4f
 
 	/* Bump the wakeup number.  */
-3:	addl	$1, wakeup_seq(%ebx)
-	adcl	$0, wakeup_seq+4(%ebx)
+3:	addl	$1, (%ebx)
+	adcl	$0, 4(%ebx)
 
 	/* Wake up one thread.  */
-	addl	$wakeup_seq, %ebx
 	movl	$FUTEX_WAKE, %ecx
 	xorl	%esi, %esi
 	movl	$SYS_futex, %eax