diff options
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S index c61c697985..db0639d21c 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -61,7 +61,7 @@ __pthread_rwlock_rdlock: jne 14f cmpl $0, WRITERS_QUEUED(%ebx) je 5f - cmpb $0, FLAGS(%ebx) + cmpl $0, FLAGS(%ebx) je 5f 3: addl $1, READERS_QUEUED(%ebx) @@ -77,18 +77,8 @@ __pthread_rwlock_rdlock: #endif jne 10f -11: -#if __ASSUME_PRIVATE_FUTEX - movzbl PSHARED(%ebx), %ecx - xorl $FUTEX_PRIVATE_FLAG|FUTEX_WAIT, %ecx -#else - movzbl PSHARED(%ebx), %ecx -# if FUTEX_WAIT != 0 - orl $FUTEX_WAIT, %ecx -# endif - xorl %gs:PRIVATE_FUTEX, %ecx -#endif - addl $READERS_WAKEUP, %ebx +11: addl $READERS_WAKEUP, %ebx + movl %esi, %ecx /* movl $FUTEX_WAIT, %ecx */ movl $SYS_futex, %eax ENTER_KERNEL |