diff --git a/nptl/ChangeLog b/nptl/ChangeLog index a1cb40c46e..0bbdd6e316 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,17 @@ +2008-05-10 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Access + __pshared correctly. + * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: + Likewise. + * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: + Likewise. + * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: + Likewise. + * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: + Likewise. + Reported by Clemens Kolbitsch . + 2008-04-14 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c 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 d8f1bd54a2..2ddeed072f 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 @@ -122,7 +122,7 @@ __pthread_rwlock_rdlock: #else leal MUTEX(%ebx), %edx #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_lock_wait jmp 2b @@ -138,7 +138,7 @@ __pthread_rwlock_rdlock: #else leal MUTEX(%ebx), %eax #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_unlock_wake jmp 7b @@ -158,7 +158,7 @@ __pthread_rwlock_rdlock: #else leal MUTEX(%ebx), %eax #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_unlock_wake jmp 11b @@ -168,7 +168,7 @@ __pthread_rwlock_rdlock: #else leal MUTEX(%ebx), %edx #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_lock_wait jmp 13b .size __pthread_rwlock_rdlock,.-__pthread_rwlock_rdlock diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S index 0d96e03252..89027284ec 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S @@ -162,7 +162,7 @@ pthread_rwlock_timedrdlock: #else leal MUTEX(%ebp), %edx #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_lock_wait jmp 2b @@ -177,7 +177,7 @@ pthread_rwlock_timedrdlock: #else leal MUTEX(%ebp), %eax #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_unlock_wake jmp 7b @@ -197,7 +197,7 @@ pthread_rwlock_timedrdlock: #else leal MUTEX(%ebp), %eax #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_unlock_wake jmp 11b @@ -207,7 +207,7 @@ pthread_rwlock_timedrdlock: #else leal MUTEX(%ebp), %edx #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_lock_wait jmp 13b diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S index e78fdf6dda..0cf02e057e 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S @@ -160,7 +160,7 @@ pthread_rwlock_timedwrlock: #else leal MUTEX(%ebp), %edx #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_lock_wait jmp 2b @@ -175,7 +175,7 @@ pthread_rwlock_timedwrlock: #else leal MUTEX(%ebp), %eax #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_unlock_wake jmp 7b @@ -190,7 +190,7 @@ pthread_rwlock_timedwrlock: #else leal MUTEX(%ebp), %eax #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_unlock_wake jmp 11b @@ -200,7 +200,7 @@ pthread_rwlock_timedwrlock: #else leal MUTEX(%ebp), %edx #endif - movl PSHARED(%ebp), %ecx + movzbl PSHARED(%ebp), %ecx call __lll_lock_wait jmp 13b 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 a23e1b50a8..bf9c33ea9f 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 @@ -110,7 +110,7 @@ __pthread_rwlock_unlock: #else leal MUTEX(%edi), %edx #endif - movl PSHARED(%edi), %ecx + movzbl PSHARED(%edi), %ecx call __lll_lock_wait jmp 2b @@ -120,7 +120,7 @@ __pthread_rwlock_unlock: #else leal MUTEX(%edi), %eax #endif - movl PSHARED(%edi), %ecx + movzbl PSHARED(%edi), %ecx call __lll_unlock_wake jmp 4b @@ -130,7 +130,7 @@ __pthread_rwlock_unlock: #else leal MUTEX(%edi), %eax #endif - movl PSHARED(%edi), %ecx + movzbl PSHARED(%edi), %ecx call __lll_unlock_wake jmp 8b diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S index 65b99fe7d3..d13bb5132c 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S @@ -120,7 +120,7 @@ __pthread_rwlock_wrlock: #else leal MUTEX(%ebx), %edx #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_lock_wait jmp 2b @@ -135,7 +135,7 @@ __pthread_rwlock_wrlock: #else leal MUTEX(%ebx), %eax #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_unlock_wake jmp 7b @@ -149,7 +149,7 @@ __pthread_rwlock_wrlock: #else leal MUTEX(%ebx), %eax #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_unlock_wake jmp 11b @@ -159,7 +159,7 @@ __pthread_rwlock_wrlock: #else leal MUTEX(%ebx), %edx #endif - movl PSHARED(%ebx), %ecx + movzbl PSHARED(%ebx), %ecx call __lll_lock_wait jmp 13b .size __pthread_rwlock_wrlock,.-__pthread_rwlock_wrlock