Commit Graph

42 Commits

Author SHA1 Message Date
Ulrich Drepper
24a49f38ad Update.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(pthrad_cond_t): Replace __unused field with __clock.

	* sysdeps/pthread/pthread_cond_wait.c: Release condvar lock before
	waken all waiters in cleanup handler.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
2003-03-18 18:56:16 +00:00
Ulrich Drepper
86a9ee5e87 Update.
2003-03-18  Ulrich Drepper  <drepper@redhat.com>

	* pthread_condattr_getclock.c: New file.
	* pthread_condattr_setclock.c: New file.
	* sysdeps/pthread/pthread.h: Declare these new functions.
	* Versions [GLIBC_2.3.3] (libpthread): Add the new functions.
	* Makefile (libpthread-routines): Add the new functions.
	* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_condattr):
	Renamed field to value.  Document use of the bits.
	* pthread_condattr_getpshared.c: Adjust for struct pthread_condattr
	change.
	* pthread_condattr_setpshared.c: Likewise.
	* sysdeps/unix/sysv/linux/lowlevelcond.sym: Add cond_clock symbol.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
	Add __clock field.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
	Implement clock selection.
	* sysdeps/pthread/pthread_cond_timedwait.c: Likewise.
	* pthread-errnos.sym: Add ENOSYS.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_CLOCK_SELECTION.
	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Remove
	invalid .size directive.
2003-03-18 11:17:57 +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
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
Ulrich Drepper
7abed17041 More random patches. 2003-03-15 21:46:30 +00:00
Ulrich Drepper
979f5c31de Use 64-bit loading. 2003-03-15 09:59:21 +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
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
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
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
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
0bc91edf8e pthread_cond_wait implementation for Linux/x86-64. 2003-03-11 10:36:15 +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
Ulrich Drepper
2a544d82ce Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(__lll_mutex_lock_wait): Reverse order of first two parameters.
	(__lll_mutex_timedlock_wait): Likewise.
	(lll_mutex_lock): Adjust asm for that.
	(lll_mutex_timedlock): Likewise.  Mark cx, cc, r10 as clobbered.
	(lll_lock): Adjust asm for operand order change.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.
2003-03-11 04:07:00 +00:00
Ulrich Drepper
ec06436c5b Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait):
	Reverse order of parameters.
	(__lll_timedwait_tid): Remove regparms attribute.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.
2003-03-11 01:01:24 +00:00
Ulrich Drepper
4c3c2e8a6e Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_trylock): Fix
	register loading.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_trylock): Undo
	last changed.  D'oh.
2003-03-10 19:37:46 +00:00
Ulrich Drepper
f49d640711 Lowlevel lock definitions for x86-64/Linux. 2003-03-10 09:26:20 +00:00
Roland McGrath
f9cd7dfd6b 2003-03-10 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/lowlevelcond.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add it.
	* sysdeps/unix/sysv/linux/sh/lowlevelcond.h: File removed.
	* sysdeps/unix/sysv/linux/i386/lowlevelcond.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: Likewise.
2003-03-10 08:50:26 +00:00
Ulrich Drepper
48f3314a00 Definitions for condvar implementation on Linux/x86-64. 2003-03-10 08:06:20 +00:00
Ulrich Drepper
7b44a5e0a7 Update.
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
2003-03-10 08:00:02 +00:00
Ulrich Drepper
c2e5e08573 Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix many
	leftovers from the ia32 code.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Remove unneccessary
	memory load.
	(clear_once_control): Don't load %esi.

	* sysdeps/x86_64/tls.h: Remove all traces of segment descriptor
	handling.

	* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10 07:39:55 +00:00
Ulrich Drepper
181c92c2e6 Update. 2003-03-07 05:32:16 +00:00
Ulrich Drepper
0de28d5c71 Update.
2003-03-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/fpu/libm-test-ulps: Regenerated.
2003-03-04 23:01:30 +00:00
Ulrich Drepper
73e9ae887f Update.
2003-01-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Makefile: New file.
2003-01-05 10:55:15 +00:00
Ulrich Drepper
eaa4099fd6 Update.
* sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: (struct sigevent):
	Change type of _attribute to void*.
	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise.
2002-12-05 01:09:19 +00:00
Ulrich Drepper
975aa229a4 Update.
* sysdeps/unix/sysv/linux/x86_64/bits/semaphore.h: New file.
2002-11-28 10:11:51 +00:00
Ulrich Drepper
654dff90cc Update.
2002-11-28  Ulrich Drepper  <drepper@redhat.com>

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

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/pt-vfork.S: New file.
2002-11-28 10:08:49 +00:00