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 4e5f0c5..1df0dcc 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 @@ -105,6 +105,7 @@ __pthread_rwlock_rdlock: jmp 2b 5: xorl %edx, %edx + LOCK addl $1, NR_READERS(%ebx) je 8f 9: LOCK diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S index aabb929..7debc36 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S @@ -52,6 +52,7 @@ __pthread_rwlock_unlock: 2: cmpl $0, WRITER(%edi) jne 5f + LOCK subl $1, NR_READERS(%edi) jnz 6f