diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-07-12 01:29:23 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-07-12 01:29:23 +0000 |
commit | 4a17085f1589c5451d031995534e00e763364fb0 (patch) | |
tree | 7c4d50a5c79d4d8a6adbe7f4729929bd20daaff6 /nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S | |
parent | 6080ecdf3cfc34b45bdfc7669f03359adc77d959 (diff) |
Update.
2003-07-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/socket.S: Save and restore the PR
register across CENABLE and CDISABLE.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S index 36febf484e..14008279e3 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S +++ b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <lowlevelrwlock.h> #include <pthread-errnos.h> +#include <tcb-offsets.h> #include "lowlevel-atomic.h" #define SYS_gettimeofday __NR_gettimeofday @@ -154,6 +155,8 @@ pthread_rwlock_timedwrlock: 5: mov #0, r3 stc gbr, r0 + mov.w .Ltidoff, r1 + mov.l @(r0,r1), r0 mov.l r0, @(WRITER,r8) 9: #if MUTEX == 0 @@ -193,6 +196,9 @@ pthread_rwlock_timedwrlock: nop 14: stc gbr, r1 + mov.w .Ltidoff, r2 + add r2, r1 + mov.l @r1, r1 cmp/eq r1, r0 bf 3b bra 9b @@ -209,6 +215,9 @@ pthread_rwlock_timedwrlock: bra 7b mov #0, r3 +.Ltidoff: + .word TID - TLS_PRE_TCB_SIZE + 4: /* Overflow. */ mov.l @(WRITERS_QUEUED,r8), r1 |