Commit Graph

13 Commits

Author SHA1 Message Date
Ulrich Drepper
39358e8b2b Update.
2003-09-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): Use
	lll_futex_timed_wait instead of lll_futex_wait.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Include atomic.h.
	Completely revamp the locking macros.  No distinction between
	normal and mutex locking anymore.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Fix prototypes.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Likewise.
	(lll_mutex_lock, lll_mutex_cond_lock): Use _val instead of _bool
	macros, add __builtin_expect.
	(lll_mutex_timedlock): Likewise.  Fix return value.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: Removed.
2003-09-22 21:30:25 +00:00
Ulrich Drepper
bc1989aad2 Update.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Likewise.
	* sysdeps/pthread/pthread_cond_signal.c: Don't use requeue.
2003-09-22 05:45:50 +00:00
Ulrich Drepper
13b3edfc73 Update.
2003-08-26  Steven Munroe <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_unlock_force): Add memory barrier between store and futex
	syscall.
2003-08-26 20:29:48 +00:00
Ulrich Drepper
9bdabb94da Update.
2003-06-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sem_post.c: Move to...
	* sysdeps/unix/sysv/linux/sem_post.c: ...here.

	* sysdeps/unix/sysv/linux/sem_post.c: Move to...
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c: ... here.  Pass nr + 1
	instead of nr to lll_futex_wake.  Only set errno and return -1
	if err < 0.

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_wait,
	lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success
	return actual return value from the syscall, not 0.

	compat_timer_getoverrun.
2003-06-19 19:53:12 +00:00
Ulrich Drepper
4761520e93 (lll_mutex_cond_lock): Add one to value parameter of __lll_lock_wait to reflect reality in the futex syscall. 2003-05-30 16:32:35 +00:00
Ulrich Drepper
b8ba4a2741 Update.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h
	(__lll_mutex_unlock_force): New function
	(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.
2003-05-30 04:53:50 +00:00
Ulrich Drepper
7158eae4a8 Update.
2003-05-12  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/bits/atomic.h
	(__arch_compare_and_exchange_bool_8_rel): Define.
	(__arch_compare_and_exchange_bool_16_rel): Define.
	(__ARCH_REL_INSTR): Define if not already defined.
	(__arch_atomic_exchange_and_add_32): Add "memory" to clobber list.
	(__arch_atomic_decrement_if_positive_32):
	Add "memory" to clobber list.
	(__arch_compare_and_exchange_val_32_acq): Remove release sync.
	(__arch_compare_and_exchange_val_32_rel): Define.
	(__arch_atomic_exchange_32): Remove.
	(__arch_atomic_exchange_32_acq): Define.
	(__arch_atomic_exchange_32_rel): Define.
	(atomic_compare_and_exchange_val_rel): Define.
	(atomic_exchange_acq): Use __arch_atomic_exchange_*_acq forms.
	(atomic_exchange_rel): Define.
	* sysdeps/powerpc/powerpc32/bits/atomic.h
	(__arch_compare_and_exchange_bool_32_acq): Remove release sync.
	(__arch_compare_and_exchange_bool_32_rel): Define.
	(__arch_compare_and_exchange_bool_64_rel): Define.
	(__arch_compare_and_exchange_val_64_rel): Define.
	(__arch_atomic_exchange_64): Remove.
	(__arch_atomic_exchange_64_acq): Define.
	(__arch_atomic_exchange_64_rel): Define.
	* sysdeps/powerpc/powerpc64/bits/atomic.h
	(__arch_compare_and_exchange_bool_32_rel): Define.
	(__arch_compare_and_exchange_bool_64_acq): Remove release sync.
	(__arch_compare_and_exchange_bool_64_rel): Define.
	(__arch_compare_and_exchange_val_64_acq): Remove release sync.
	(__arch_compare_and_exchange_val_64_rel): Define.
	(__arch_atomic_exchange_64): Remove.
	(__arch_atomic_exchange_64_acq): Define.
	(__arch_atomic_exchange_64_rel): Define.
	(__arch_atomic_exchange_and_add_64): Add "memory" to clobber list.
	(__arch_atomic_decrement_if_positive_64):
	Add "memory" to clobber list.
	[!UP](__ARCH_REL_INSTR): Define as lwsync.

	the space-padded-by-default conversion specifiers, %e, %k, %l.
2003-05-13 21:14:28 +00:00
Ulrich Drepper
b1aea0989d Update.
2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Include <atomic.h>.
	Remove __lll_add, __lll_dev_if_positive, and __lll_test_and_set
	definitions.  Replace uses with calls to atomic_* functions.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Replace __lll_add and
	__lll_test_and_set calls with atomic_exchange_and_add and
	atomic_exchange calls respectively.
	* sysdeps/unix/sysv/linux/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/pthread_once.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sem_port.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: Likewise.

	* allocatestack.c (allocate_stack): Assume atomic_exchange_and_add
	returns the old value.
2003-03-20 10:29:20 +00:00
Roland McGrath
ca341eb2bd (__lll_test_and_set): Fix typos. 2003-03-19 09:08:47 +00:00
Roland McGrath
9465949559 * abilist: New directory of libfoo.abilist files maintained using
scripts/merge-abilist.awk and "make update-abi" rules.
	* Makefile (distribute): Add abilist/*.abilist.
	* Makerules [$(build-shared) = yes] [$(subdir)] (tests):
	Depend on check-abi.
2003-03-19 08:27:55 +00:00
Roland McGrath
043ad426e7 * Versions (libpthread: GLIBC_2.2): Remove
pthread_barrierattr_getpshared, never really existed.
	(libpthread: GLIBC_2.0): Move __pthread_initialize to ...
	(libpthread: GLIBC_PRIVATE): ... here.
2003-03-19 03:34:48 +00:00
Ulrich Drepper
bd0fa4cefd Add __builtin_expect where appropriate. 2003-03-18 00:31:30 +00:00
Roland McGrath
f3c13160fe 2003-03-17 Roland McGrath <roland@redhat.com>
PowerPC port contributed by Paul Mackerras <paulus@samba.org>.
	* sysdeps/pthread/pthread_spin_init.c: New file.
	* sysdeps/pthread/pthread_spin_unlock.c: New file.
	* sysdeps/powerpc/Makefile: New file.
	* sysdeps/powerpc/pthread_spin_lock.c: New file.
	* sysdeps/powerpc/pthread_spin_trylock.c: New file.
	* sysdeps/powerpc/pthreaddef.h: New file.
	* sysdeps/powerpc/tcb-offsets.sym: New file.
	* sysdeps/powerpc/td_ta_map_lwp2thr.c: New file.
	* sysdeps/powerpc/tls.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sem_trywait.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: New file.
	* sysdeps/unix/sysv/linux/powerpc/createthread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/fork.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file.
2003-03-17 11:22:52 +00:00