Commit Graph

206 Commits

Author SHA1 Message Date
Ulrich Drepper
4773086e04 Update.
* sysdeps/unix/sysv/linux/ia64/pthread_once.c: Use __builtin_expect.
	Use __lll_add instead of spelling it out.  Use protected symbol names.
	* sysdeps/unix/sysv/linux/ia64/sem_post.c: Use __builtin_expect.
	Use __lll_add.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_compare_and_swap):
	Renamed from lll_compare_and_swap.  Use new name where necessary.
	(__lll_add): Defined.
	(__lll_dec_if_positive): Defined.
	(__lll_test_and_set): Defined.
	* sysdeps/ia64/pthread_spin_init.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/sem_trywait.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/sem_wait.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/libc-lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/libc-lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Removed.
2003-03-18 05:31:53 +00:00
Ulrich Drepper
970269474a Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-start.c [!SHARED &&
	!LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly.
2003-03-18 01:56:11 +00:00
Ulrich Drepper
09044a7360 pthread_spin_unlock implementation for Linux/i386. 2003-03-18 01:52:02 +00:00
Roland McGrath
5bfd37b634 2003-03-17 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait):
	Formatting tweaks.
2003-03-18 01:21:42 +00:00
Ulrich Drepper
f911cc4a74 (lll_unlock_wake_cb): Correct last patch. (__lll_timedwait_tid): Don't check abstime for NULL pointer. 2003-03-18 00:50:30 +00:00
Ulrich Drepper
bd0fa4cefd Add __builtin_expect where appropriate. 2003-03-18 00:31:30 +00:00
Roland McGrath
de4471dd55 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/lowlevelmutex.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/sem_wait.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.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.c: Use __gettimeofday,
	not gettimeofday.
	* sysdeps/unix/sysv/linux/ia64/lowlevelmutex.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
2003-03-17 11:25:18 +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
Ulrich Drepper
46a32546c9 Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

	* localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy.
	Added ^ to LC_MESSAGES regex "^[yY].*".
	Confirmed LC_PAPER adn LC_MEASUREMENT settings.
	Added country and language names to LC_ADDRESS.
	Added missing info for LC_TELEPHONE.
	Patch by Dwayne Bailey <dwayne@obsidian.co.za>.
2003-03-17 10:11:31 +00:00
Ulrich Drepper
fb2ee178fa Load correct registers. 2003-03-17 04:49:21 +00:00
Ulrich Drepper
25d025ce77 (__lll_lock_wait): Remove jump prediction suffix. 2003-03-17 01:53:39 +00:00
Ulrich Drepper
b6e2f87a61 Update.
2003-03-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Define tv here,
	not at function level.
	* sysdeps/unix/clock_gettime.c (HANDLE_REALTIME): Likewise.
2003-03-16 10:16:43 +00:00
Ulrich Drepper
51d0678c29 Update.
2003-03-16  Ulrich Drepper  <drepper@redhat.com>

	* tst-rwlock6.c: Add some more status output.
2003-03-16 08:09:26 +00:00
Ulrich Drepper
ad032aee17 Really use R12 and r13. 2003-03-16 03:49:51 +00:00
Roland McGrath
eb64f8cbe3 * posix/fnmatch_loop.c: Add casts for signedness.
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
	* gmon/gmon.c (write_call_graph): Use u_long for FROM_LEN.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Use nscd_ssize_t for CNT.
2003-03-16 03:22:41 +00:00
Ulrich Drepper
7abed17041 More random patches. 2003-03-15 21:46:30 +00:00
Jakub Jelinek
eec0ca9f25 * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
(SINGLE_THREAD): Use `header' prefix instead of `header.data'.
	* sysdeps/sh/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Likewise.
	* sysdeps/sh/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (SINGLE_THREAD_P):
	Use `header.' prefix.
	* sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Likewise.
2003-03-15 11:44:47 +00:00
Jakub Jelinek
1419a9581c (SINGLE_THREAD): Use header' prefix instead of header.data'. 2003-03-15 11:43:02 +00:00
Ulrich Drepper
979f5c31de Use 64-bit loading. 2003-03-15 09:59:21 +00:00
Ulrich Drepper
a87731e262 Update.
2003-03-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/pthreaddef.h (CURRENT_STACK_FRAME): Don't use
	__builtin_frame_address, use stack pointer.

	* sysdeps/unix/sysv/linux/jmp-unwind.c: Use CURRENT_STACK_FRAME
	instead of __builtin_frame_pointer.
2003-03-15 09:51:22 +00:00
Ulrich Drepper
92ed3daf01 Update.
* tst-basic1.c (do_test): Add cast to avoid warning.
	* tst-basic2.c (do_test): Likewise.
2003-03-15 07:54:39 +00:00
Ulrich Drepper
8b4a0b2f78 Use correct amount of stack correction. 2003-03-14 23:46:29 +00:00
Ulrich Drepper
e22a221d6b Update.
2003-03-14  Ulrich Drepper  <drepper@redhat.com>

	* tst-fork4.c: Use test-skeleton.c.

	* pthread_create.c (start_thread): Use CALL_THREAD_FCT if defined.
	* sysdeps/i386/tls.h: Define CALL_THREAD_FCT.
2003-03-14 23:28:23 +00:00
Roland McGrath
5228750594 * descr.h (struct pthread): Move the union out of [!TLS_DTV_AT_TP], so
we always define the padding space.
	[!TLS_DTV_AT_TP]: Give tcbhead_t field a name, `header', since GCC
	stopped supporting its own extensions fully.
	[TLS_MULTIPLE_THREADS_IN_TCB]: Put `multiple_threads' inside a wrapper
	struct also called `header', so `header.multiple_threads' is the field
	name to use on all machines.
	* allocatestack.c (allocate_stack): Use `header.' prefix.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* pthread_create.c (__pthread_create_2_1): Likewise.
	* sysdeps/i386/tls.h (INSTALL_NEW_DTV, THREAD_DTV): Likewise.
	(THREAD_SELF): Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.

	* sysdeps/s390/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Use REGS[18]
	value directly.
2003-03-14 22:34:30 +00:00
Roland McGrath
55c11fbdb0 2003-03-14 Roland McGrath <roland@redhat.com>
* descr.h (struct pthread): Move the union out of [!TLS_DTV_AT_TP], so
	we always define the padding space.
	[!TLS_DTV_AT_TP]: Give tcbhead_t field a name, `header', since GCC
	stopped supporting its own extensions fully.
	[TLS_MULTIPLE_THREADS_IN_TCB]: Put `multiple_threads' inside a wrapper
	struct also called `header', so `header.multiple_threads' is the field
	name to use on all machines.
	* allocatestack.c (allocate_stack): Use `header.' prefix.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* pthread_create.c (__pthread_create_2_1): Likewise.
	* sysdeps/i386/tls.h (INSTALL_NEW_DTV, THREAD_DTV): Likewise.
	(THREAD_SELF): Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
2003-03-14 22:34:02 +00:00
Ulrich Drepper
7f2936863e (THREAD_GETMEM): Makr asms volatile. (THREAD_GETMEM_NC): Likewise. 2003-03-14 09:45:53 +00:00
Ulrich Drepper
564cd8b67e Update.
2003-03-13  Ulrich Drepper  <drepper@redhat.com>

	* posix/getconf.c: Recognize POSIX2_SYMLINKS.
	* sysdeps/generic/bits/confname.h: Define _PC_2_SYMLINKS.
	* sysdeps/posix/fpathconf.c: Handle _PC_2_SYMLINKS.
	* sysdeps/posix/pathconf.c: Likewise.
	* sysdeps/unix/sysv/linux/fpathconf.c: Likewise.
	* sysdeps/unix/sysv/linux/pathconf.c: Likewise.
	* sysdeps/unix/sysv/linux/pathconf.h: Define statfs_symlinks.

	* sysdeps/unix/sysv/linux/linux_fsinfo.h: Define some more magic
	words.
2003-03-14 06:28:45 +00:00
Roland McGrath
6461e57784 * elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line
entries in the map file match too.
2003-03-13 21:51:07 +00:00
Roland McGrath
0579fabbe8 2003-03-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Only declare and set
	PPID if [! NDEBUG].
2003-03-13 21:00:18 +00:00
Ulrich Drepper
b5ec56172d Update.
2003-03-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.h (BREAK_INSN_1, BREAK_INSN,
	ASM_OUTARGS_0, ASM_OUTARGS_1, ASM_OUTARGS_2, ASM_OUTARGS_3,
	ASM_OUTARGS_4, ASM_OUTARGS_5, ASM_OUTARGS_6): Define.
	(INTERNAL_SYSCALL, INLINE_SYSCALL): Use it.  Make syscall arguments
	clobbered by the syscall.
	(ASM_ARGS_1, ASM_ARGS_2, ASM_ARGS_3, ASM_ARGS_4, ASM_ARGS_5,
	ASM_ARGS_6): Change constraints from r to index of corresponding
	output register.
	* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Swap
	ptid and ctid to match kernel.
	* sysdeps/unix/sysv/linux/ia64/system.c (FORK): Likewise.

	* sysdeps/powerpc/powerpc64/elf/configure.in: Remove
	* sysdeps/powerpc/powerpc64/elf/configure: Regenerated.
2003-03-13 04:41:39 +00:00
Ulrich Drepper
7588880f50 Update.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
	libc_multiple_threads.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Move definition of
	__libc_multiple_threads to...
	* sysdeps/unix/sysv/linux/libc_multiple_threads.c: ...here.  New file.

	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Remove unnecessary
	versioning.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S
	(__pthread_once_internal): Define.

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Use shlib-compat.h
	macros instead of .symver directly.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
2003-03-13 01:51:12 +00:00
Ulrich Drepper
959c5bbfee Use shlib-compat.h macros instead of .symver directly. 2003-03-13 01:06:30 +00:00
Ulrich Drepper
d0369fb8a9 Update.
2003-03-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h [__ASSEMBLER__]: Include tcb-offsets.h.
	* sysdeps/x86_64/tcb-offsets.sym: New file.
	* sysdeps/x86_64/Makefile: New file.

	* sysdeps/i386/tcb-offsets.sym: Add SELF.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use SELF
	to access own pthread_t in TCB.
	* 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_wrlock.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: New
	file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: New
	file.

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(pthread_cond_t): Add padding.
2003-03-12 20:03:07 +00:00
Ulrich Drepper
6aebe7340d (pthread_cond_t): Add padding. 2003-03-12 18:44:29 +00:00
Roland McGrath
0bb2ac85a6 * pthread-errnos.sym: New file.
* Makefile (gen-as-const-headers): New variable, list that file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include generated
	header <pthread-errnos.h> instead of defining errno values here.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Likewise.
	* sysdeps/i386/i486/pthread_spin_trylock.S: Likewise.
	* sysdeps/x86_64/pthread_spin_trylock.S: Likewise.
	* sysdeps/sh/pthread_spin_trylock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.

	* sysdeps/unix/sysv/linux/fork.c: Add an assert to check that
	CLONE_CHILD_SETTID worked.
2003-03-12 10:30:26 +00:00
Roland McGrath
326132dbdb 2003-03-12 Roland McGrath <roland@redhat.com>
* pthread-errnos.sym: New file.
	* Makefile (gen-as-const-headers): New variable, list that file.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Include generated
	header <pthread-errnos.h> instead of defining errno values here.
	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/i386/i486/pthread_spin_trylock.S: Likewise.
	* sysdeps/x86_64/pthread_spin_trylock.S: Likewise.
	* sysdeps/sh/pthread_spin_trylock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
2003-03-12 10:28:07 +00:00
Ulrich Drepper
da49194d2d Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: New file.
2003-03-12 09:53:44 +00:00
Ulrich Drepper
35e148cb96 Update.
2003-03-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S
	(__pthread_rwlock_timedwrlock): Add missing opcode suffix.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
	(__pthread_rwlock_timedrdlock): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
	(__pthread_rwlock_wrlock): Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
	(__pthread_rwlock_rdlock): Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Return
	result of lock re-get if it fails.
2003-03-12 08:57:35 +00:00
Ulrich Drepper
a3cd7da30f Return result of lock re-get if it fails. 2003-03-12 08:41:10 +00:00
Ulrich Drepper
5a03acfe37 Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Fix asm syntax.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.

	* sysdeps/x86_64/tls.h (THREAD_SELF, THREAD_GETMEM, THREAD_GETMEM_NC,
	THREAD_SETMEM, THREAD_SETMEM_NC): Correct asm syntax.

	* allocatestack.c [! TLS_MULTIPLE_THREADS_IN_TCB] (allocate_stack):
	Initialize *__libc_multiple_threads_ptr not __libc_multiple_threads.
	* sysdeps/pthread/createthread.c [! TLS_MULTIPLE_THREADS_IN_TCB]
	(create_thread): Likewise.
	Define __pthread_multiple_threads and __libc_multiple_threads_ptr.
	* init.c (__pthread_initialize_minimal_internal): Initialize
	__libc_multiple_threads_ptr if necessary.
	* pthreadP.h: Adjust prototype for __libc_pthread_init.  Declare
	__pthread_multiple_threads and __libc_multiple_threads_ptr.
	* sysdeps/unix/sysv/linux/libc_pthread_init.c: Define
	__libc_multiple_threads.
	(__libc_pthread_init): Return pointer to __libc_pthread_init if
	necessary.

	* sysdeps/i386/tls.h (THREAD_SETMEM): Fix one-byte variant.
	(THREAD_SETMEM_NC): Likewise.

	* sysdeps/x86_64/pthread_spin_trylock.c: Removed.
	* sysdeps/x86_64/pthread_spin_trylock.S: New file.
	* sysdeps/x86_64/pthread_spin_unlock.c: Removed.
	* sysdeps/x86_64/pthread_spin_unlock.S: New file.

	* sysdeps/i386/i486/pthread_spin_trylock.S (pthread_spin_trylock):
	Eliminate one entire instruction.
2003-03-12 05:45:00 +00:00
Ulrich Drepper
32a589b1ea Update.
* cancellation.c (__pthread_enable_asynccancel_2): New function.
	* pthreadP.h: Declare __pthread_enable_asynccancel_2.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Use __pthread_enable_asynccancel_2
	instead of __pthread_enable_asynccancel.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__pthread_cond_wait): Likewise.
	* sysdeps/pthread/pthread_cond_timedwait.c
	(__pthread_cond_timedwait): Likewise.
	* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
2003-03-11 23:26:35 +00:00
Ulrich Drepper
3e976b962a Update.
2003-03-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
	(__condvar_cleanup): Wake up all waiters in case we got signaled
	after being woken up but before disabling asynchronous
	cancellation.
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
	(__condvar_cleanup): Likewise.

	* init.c (__NR_set_tid_address): If already defined, don't redefine.
	Make it an error if architecture has no #if case.  Add x86-64.

	* sysdeps/unix/sysv/linux/x86_64/Makefile: Add flags for
	pt-initfini.s generation.

	* sysdeps/x86_64/tls.h: Include <asm/prctl.h>.
	(TLS_INIT_TP): Fix typo.
2003-03-11 22:02:29 +00:00
Ulrich Drepper
6c477888ca Update.
2003-03-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define
	to __NR_pread if not defined.
	(__NR_pwrite64): Define to __NR_pwrite if not defined.
2003-03-11 19:40:00 +00:00
Ulrich Drepper
f006d3a007 Update.
* sysdeps/unix/sysv/linux/ia64/system.c: New file.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with
	kernel >= 2.5.64.

2003-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
2003-03-11 19:02:26 +00:00
Ulrich Drepper
0bc91edf8e pthread_cond_wait implementation for Linux/x86-64. 2003-03-11 10:36:15 +00:00
Roland McGrath
b33e61633a * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1,
allocate space even for the trailing '/'.
	Reported by John Reiser <jreiser@BitWagon.com>.

	* sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6,
	ASM_CLOBBERS_6): Define.
	(ASM_CLOBBERS_5): Use ASM_CLOBBERS_6.
	* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments
	to match IA-32 order.
	* sysdeps/unix/sysv/linux/i386/clone.S: Fix comment.
2003-03-11 09:30:37 +00:00
Roland McGrath
5d5d5969b1 2003-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/createthread.c (ARCH_CLONE): Define if not defined.
	(create_thread): Only assert PD->tcb != NULL under [TLS_TCB_AT_TP].
	Use ARCH_CLONE.
	* allocatestack.c (ALLOCATE_STACK_PARMS): New macro.
	[NEED_SEPARATE_REGISTER_STACK] (STACK_VARIABLES,
	STACK_VARIABLES_ARGS, STACK_VARIABLES_PARMS, ALLOCATE_STACK_PARMS,
	ALLOCATE_STACK): New macros.
	(TLS_TPADJ): New macro.
	(get_cached_stack, queue_stack, __deallocate_stack): Use TLS_TPADJ.
	(allocate_stack): Handle TLS_DTV_AT_TP and
	NEED_SEPARATE_REGISTER_STACK.  Use TLS_TPADJ.
	* pthread_create.c (__pthread_create_2_1) [! TLS_TCB_AT_TP]:
	Don't set PD->self.
	* init.c [__ia64__] (__NR_set_tid_address): Define.
2003-03-11 09:20:36 +00:00
Ulrich Drepper
d0aacb47f9 pthread_cond_signal implementation for Linux/x86-64. 2003-03-11 08:31:35 +00:00
Ulrich Drepper
db5f2fc93d Update.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Fix error value in
	unused code.
2003-03-11 06:52:08 +00:00
Ulrich Drepper
6a4263e3d5 Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: New file

	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
2003-03-11 05:52:12 +00:00