* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S:
commit339dbf0e392567a5f14acc81cf94f997b8262b98
authorUlrich Drepper <drepper@redhat.com>
Sun, 17 Jun 2007 16:42:55 +0000 (17 16:42 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 17 Jun 2007 16:42:55 +0000 (17 16:42 +0000)
tree1edba81b692119c53a53c5963f40eb0781681ecc
parente0d4a4e53c831995fbb5ab4a17ea07ddc9b5ab52
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S:

(__pthread_rwlock_rdlock): Don't use non SH-3/4 instruction.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S:
(__pthread_rwlock_wrlock): Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S:
(pthread_rwlock_timedrdlock): Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S:
(pthread_rwlock_timedwrlock): Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S:
(__pthread_rwlock_unlock): Likewise.

2007-06-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

* sysdeps/sh/tcb-offsets.sym: Add PRIVATE_FUTEX.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Include endian.h.
Split __flags into __flags, __shared, __pad1 and __pad2.
* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Use private
        futexes if they are available.
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Adjust so that change
        in libc-lowlevellock.S allow using private futexes.
* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define
FUTEX_PRIVATE_FLAG.  Add additional parameter to lll_futex_wait,
lll_futex_timed_wait and lll_futex_wake.  Change lll_futex_wait
to call lll_futex_timed_wait.  Add lll_private_futex_wait,
lll_private_futex_timed_wait and lll_private_futex_wake.
(lll_robust_mutex_unlock): Fix typo.
* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Use private
        field in futex command setup.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Use
COND_NWAITERS_SHIFT instead of COND_CLOCK_BITS.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_once.S: Use private futexes
        if they are available.  Remove clear_once_control.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Use private
futexes if they are available.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sem_post.S: Add private futex support.
Wake only when there are waiters.
* sysdeps/unix/sysv/linux/sh/sem_wait.S: Add private futex
support.  Indicate that there are waiters.  Remove unnecessary
        extra cancellation test.
* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.  Removed
left-over duplication of __sem_wait_cleanup.
18 files changed:
nptl/ChangeLog
nptl/sysdeps/sh/tcb-offsets.sym
nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S
nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S