Commit Graph

606 Commits

Author SHA1 Message Date
Ulrich Drepper ea473bad4c Update.
2003-03-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Avoid
	netlink_open calls if netlink is known to not be available.
2003-03-29 09:24:03 +00:00
Ulrich Drepper cc4f0dde88 (libpthread-routines): Add pthread_atfork. (libpthread-static-only-routines): Add pthread_atfork. 2003-03-29 08:30:34 +00:00
Ulrich Drepper dd731d53dc Update.
2003-03-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/bits/atomic.h (__arch_compare_and_exchange_val_8_acq):
	Return old value. Make asm output reg constraint earlyclobber.
	Renamed from...
	(__arch_compare_and_exchange_8_acq): ... this.
	(__arch_compare_and_exchange_val_16_acq):
	Return old value. Make asm output reg constraint earlyclobber.
	Renamed from...
	(__arch_compare_and_exchange_16_acq): ... this.
	(__arch_compare_and_exchange_val_32_acq):
	Return old value. Make asm output reg constraint earlyclobber.
	Renamed from...
	(__arch_compare_and_exchange_32_acq): ... this.
	(__arch_compare_and_exchange_val_64_acq):
	Renamed from...
	(__arch_compare_and_exchange_64_acq): ... this.
	(atomic_exchange_and_add): Use local variables and
	__arch_compare_and_exchange_val_64_acq.
	(atomic_add): Likewise.
	(atomic_add_negative, atomic_add_zero): Use local variables.

	* Makefile: Remove libmd5crypt goal.
2003-03-29 01:24:20 +00:00
Ulrich Drepper 10e717a207 Include nptl/descr.h after the definition of TLS_DTV_AT_TP. (INSTALL_DTV): Add parens. (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Use passed descr instead of THREAD_SELF. 2003-03-29 01:06:39 +00:00
Ulrich Drepper 9a0248ec8e Bump to 0.32. 2003-03-28 06:53:54 +00:00
Ulrich Drepper 5f5004df21 Update.
* sysdeps/unix/sysv/linux/kernel-posix-timers.h: Don't declare
	__timer_helper_thread.  Declare __start_helper_thread, __helper_once,
	and __helper_tid.
	(struct timer): Remove th and bar field.
	* sysdeps/unix/sysv/linux/timer_create.c (timer_create): Remove
	debugging code.  Create only one helper thread.
	* sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Don't kill
	helper thread.
	* sysdeps/unix/sysv/linux/timer_routines.c (timer_helper_thread):
	Renamed.  Define statically.  Use thread info from siginfo.
	(__helper_once): New variable.
	(__helper_tid): New variable.
	(__reset_helper_control): New function.
	(__start_helper_thread): New function.
2003-03-28 06:27:21 +00:00
Ulrich Drepper f07d234541 Don't declare __timer_helper_thread. Declare __start_helper_thread, __helper_once, and __helper_tid. (struct timer): Remove th and bar field. 2003-03-28 06:22:13 +00:00
Ulrich Drepper 4881449817 Bump to 0.31. 2003-03-27 21:19:02 +00:00
Ulrich Drepper 18d009ca00 Update.
* pthread_create.c (start_thread): Don't use setjmp inside
	__builtin_expect to work around gcc bug.
2003-03-27 21:14:41 +00:00
Ulrich Drepper 28cf305854 Update.
2003-03-27  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/getcontext.S: Restore caller's
	ar.unat before returning.  Add missing .mem.offset directives
	to ensure file gets assembled without warnings.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
2003-03-27 19:51:26 +00:00
Ulrich Drepper c75d02f056 Update.
2003-03-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Even if
	timer_delete syscall fails, but not with ENOSYS, set
	__no_posix_timers.

	* sysdeps/unix/sysv/linux/timer_settime.c [!__ASSUME_POSIX_TIMERS]
	(timer_settime): Fix typo.
2003-03-27 19:10:51 +00:00
Jakub Jelinek 049ac25989 * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Fix
offset of cleanupbuf.__prev.
2003-03-27 12:43:17 +00:00
Jakub Jelinek 2ec5130254 Fix offset of cleanupbuf.__prev. 2003-03-27 12:43:08 +00:00
Jakub Jelinek f93d39dd07 * sysdeps/unix/sysv/linux/timer_getoverr.c: Fix typo in name
of included file.
2003-03-26 15:33:23 +00:00
Jakub Jelinek 0f6918e293 Fix typo in name of included file. 2003-03-26 15:33:14 +00:00
Ulrich Drepper f064e4c5d7 Update.
2003-03-26  Ulrich Drepper  <drepper@redhat.com>

	* abilist/librt.abilist: Add new timer interfaces for 64-bit archs.
2003-03-26 09:41:23 +00:00
Roland McGrath 83e886a32a * sysdeps/pthread/posix-timer.h (TIMER_MAX): Define if not defined.
(timer_id2ptr): Fix typo.
2003-03-26 08:06:59 +00:00
Roland McGrath 333ab52196 2003-03-25 Roland McGrath <roland@redhat.com>
* sysdeps/pthread/posix-timer.h (TIMER_MAX): Define if not defined.
	(timer_id2ptr): Fix typo.
2003-03-26 08:06:52 +00:00
Ulrich Drepper 09402f5bc1 Update.
2003-03-25  Ulrich Drepper  <drepper@redhat.com>

	* csu/tst-atomic.c: Adjust tests to what atomic_add_negative and
	atomic_add_zero were supposed to do.
	* include/atomic.h: Adjust atomic_add_negative and atomic_add_zero
	to x86 behavior.

	* sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*.
	This matches the new timer implementation.
	* sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust
	timer info for what the kernel provides these days.
	(struct sigevent): Add _tid field.
	Define SIGEV_THREAD_ID.

	* Versions.def (librt): Add GLIBC_2.3.3.

	* abilist/libpthread.abilist: Update for nptl.
2003-03-25 20:41:26 +00:00
Ulrich Drepper 2a9ae45c3f Define SIGCANCEL and SIGTIMER. Remove FRAME_LEFT definition. 2003-03-25 19:13:30 +00:00
Ulrich Drepper 5e826ab537 Update.
2003-03-24  Jon Grimm  <jgrimm@us.ibm.com>

	* inet/netinet/in.h: Add IPPROTO_SCTP.

2003-03-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLET): Define.
2003-03-25 01:14:36 +00:00
Roland McGrath 3045a1fe89 * Makeconfig (+includes): Don't use $(last-includes). 2003-03-23 11:17:28 +00:00
Roland McGrath 85047fe3b9 * tst-mutex5.c (do_test): Unlock before destroy, otherwise we invoke
undefined behavior.
2003-03-23 10:12:59 +00:00
Roland McGrath b910f7887b * tst-join5.c (tf1, tf2): Add a cast.
* Makeconfig (includes): Append -I$(..)nptl to this variable.

	* tst-barrier2.c (do_test) [! _POSIX_THREAD_PROCESS_SHARED]:
	Don't test anything.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-flock2.c: Likewise.
	* tst-mutex4.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-signal1.c: Likewise.
	* tst-spin2.c: Likewise.
	* tst-cond11.c [! _POSIX_CLOCK_SELECTION]: Likewise.

	* tst-mutex4.c: Use test-skeleton.c.
	* tst-spin2.c: Likewise.
	* tst-sysconf.c: Likewise.
	* tst-barrier2.c: Likewise.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-unload.c: Likewise.
	* tst-flock2.c (do_test): Use return instead of exit.
2003-03-23 10:01:48 +00:00
Roland McGrath 24eaaef61d 2003-03-23 Roland McGrath <roland@redhat.com>
* tst-mutex4.c: Use test-skeleton.c.
	* tst-spin2.c: Likewise.
	* tst-sysconf.c: Likewise.
	* tst-barrier2.c: Likewise.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-flock2.c (do_test): Use return instead of exit.
2003-03-23 09:59:34 +00:00
Roland McGrath 4baa087aff * sysdeps/i386/i486/bits/atomic.h (atomic_bit_set): Use "ir"
constraint to permit non-constant BIT argument.
	(atomic_bit_test_set): Likewise.
	* sysdeps/x86_64/bits/atomic.h (atomic_bit_test_set): Likewise.
	(atomic_bit_set): Likewise.  Use 1UL in case that BIT might be >= 32.
	For quadword case, use "i" constraint if __builtin_constant_p and < 32
	or "r" constraint otherwise.

	* configure.in: Move AC_PROG_CC and other program-finding before all
	the version checks.
	* configure: Regenerated.
2003-03-22 00:07:21 +00:00
Ulrich Drepper 9f07eae298 Update.
2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h: Define atomic_compare_and_exchange_val_acq,
	atomic_compare_and_exchange_val_rel,
	atomic_compare_and_exchange_bool_acq, and
	atomic_compare_and_exchange_bool_rel instead of
	atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel.
	* sysdeps/i386/i486/bits/atomic.h: Define
	__arch_compare_and_exchange_val_*_acq instead of
	__arch_compare_and_exchange_*_acq.
	* sysdeps/x86_64/bits/atomic.h: Likewise.
	* sysdeps/ia64/bits/atomic.h: Define
	__arch_compare_and_exchange_bool_*_acq instead of
	__arch_compare_and_exchange_*_acq.
	* sysdeps/powerpc/bits/atomic.h: Likewise.
	* sysdeps/s390/bits/atomic.h: Likewise.
	* gmon/mcount.c: Adjust for new form of compare&exchange macros.
	* malloc/set-freeres.c: Likewise.
	* nscd/cache.c: Likewise.
	* stdlib/cxa_finalize.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
2003-03-21 08:13:51 +00:00
Ulrich Drepper 5a3ab2fc18 Update.
2003-03-21  Ulrich Drepper  <drepper@redhat.com>

	* cancellation.c: Adjust for new form of compare&exchange macros.
	* cleanup_defer.c: Likewise.
	* init.c: Likewise.
	* libc-cancellation.c: Likewise.
	* old_pthread_cond_broadcast.c: Likewise.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.
	* pthread_cancel.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_detach.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_key_delete.c: Likewise.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setcanceltype.c: Likewise.
	* pthread_timedjoin.c: Likewise.
	* pthread_tryjoin.c: Likewise.
	* sysdeps/pthread/createthread.c: Likewise.
2003-03-21 08:03:25 +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
Ulrich Drepper 9daba4f4b9 Replace __lll_add calls with atomic_exchange_and_add calls respectively. 2003-03-20 10:28:06 +00:00
Ulrich Drepper 7793bf7fd7 Replace __lll_add and __lll_test_and_set calls with atomic_exchange_and_add and atomic_exchange call respectively. 2003-03-20 10:23:47 +00:00
Roland McGrath 100a7100a7 * sysdeps/s390/pthread_spin_lock.c (pthread_spin_lock): Use type
int for variable OLDVAL and correct inline assembler contraint.
	* sysdeps/s390/pthread_spin_trylock.c (pthread_spin_trylock): Use
	type int for variable OLD.

	* sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it
	only for s390-32.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
	(SINGLE_THREAD_P): Use global variable __local_multiple_threads
	instead of multiple_threads field in the TCB.
2003-03-20 09:51:17 +00:00
Ulrich Drepper 91958edc84 (allocate_stack): Assume atomic_exchange_and_add returns the old value. 2003-03-20 08:58:35 +00:00
Ulrich Drepper 4009bf4044 Update.
2003-03-19  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (distribute): Add include/atomic.h and bits/atomic.h.
	* include/atomic.h: New file.
	* sysdeps/i386/i486/bits/atomic.h: New file.
	* sysdeps/x86_64/bits/atomic.h: New file.
	* sysdeps/s390/bits/atomic.h: New file.
	* sysdeps/sh/bits/atomic.h: New file.
	* sysdeps/ia64/bits/atomic.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/generic/bits/atomic.h: New file.
	* sysdeps/i386/i486/atomicity.h: Removed.
	* sysdeps/x86_64/atomicity.h: Removed.
	* sysdeps/s390/s390-32/atomicity.h: Removed.
	* sysdeps/s390/s390-64/atomicity.h: Removed.
	* sysdeps/ia64/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc32/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc64/atomicity.h: Removed.
	* elf/dl-profile.c: Use atomic.h instead of atomicity.h.  Adjust
	use of macros from atomicity.h to new names and semantics.
	* gmon_mcount.c: Likewise.
	* malloc/set-freeres.c: Likewise.
	* nscd/cache.c: Likewise.
	* stdlib/cxa_finalize.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.

	* sysdeps/mips/ieee754.h: New file, suitable to replace both
	* stdlib/strtod.c (INTERNAL): While eating trailing zeros handle
2003-03-20 07:19:17 +00:00
Ulrich Drepper 560a784f03 Update.
2003-03-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/Makefile: Fix cut&paste error.
2003-03-19 19:15:36 +00:00
Ulrich Drepper 95767b36d4 Update.
2003-03-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_broadcast.c: Release lock before
	signalling waiters.
2003-03-19 09:52:49 +00:00
Ulrich Drepper bbb9ba4324 (__pthread_cond_broadcast): Release lock before waking waiters. 2003-03-19 09:42:14 +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
Roland McGrath 8a477363f4 2003-03-18 Roland McGrath <roland@redhat.com>
* Versions (libpthread: GLIBC_2.3.2): Move pthread_tryjoin_np and
	pthread_timedjoin_np to ...
	(libpthread: GLIBC_2.3.3): ... here.
	(libpthread: GLIBC_2.2): Move pthread_barrierattr_getpshared there too.
2003-03-19 03:25:04 +00:00
Ulrich Drepper 00bd9cc9ab Remove unnecessary instruction in case clock_gettime isn't available. 2003-03-19 02:27:27 +00:00
Ulrich Drepper ac9e0aa1b0 Update.
* Makefile (tests): Add tst-cond11.
	* tst-cond11.c: New file.
2003-03-19 00:38:11 +00:00
Ulrich Drepper 604b15cf5f Test pthread_condattr_[sg]etclock. 2003-03-19 00:34:59 +00:00
Ulrich Drepper a14b373c5d Update.
2003-03-18  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/memcpy.S: New file.
2003-03-18 23:00:03 +00:00
Ulrich Drepper ee2af3e835 Reorder struct passed to cleanup handler to eliminate one more instruction. 2003-03-18 22:20:54 +00:00
Ulrich Drepper 856874c5e9 (__pthread_cond_init): Handle NULL cond_attr parameter. 2003-03-18 20:08:20 +00:00
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 d5cb838958 Update.
2003-03-18  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def: Add GLIBC_2.3.3 for libpthread.
2003-03-18 11:25:37 +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 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 98054a05df * include/ctype.h: Revert last change. 2003-03-18 01:21:49 +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 001bea714d Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/bits/atomic.h: Add __builtin_expect where appropriate.
	* sysdeps/ia64/pthread_spin_unlock.c (pthread_spin_unlock): Use
	__sync_lock_release_si.
	Patch by Jakub Jelinek.

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait):
	Fix timeout handling.
	(__lll_timedwait_tid): Likewise.
	(lll_unlock_wake_cb): Wake up other waiters if necessary.
	Patch by Jakub Jelinek.

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Pretty printing.
2003-03-18 00:39:58 +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 5778033ffc Update.
* localedata/en_ZA: Changed %x for LC_TIME to use dd/mm/ccyy.
2003-03-17 10:16:36 +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
Roland McGrath 796038f863 * tst-fork4.c: Include <string.h>.
* tst-signal2.c: Likewise.
	* tst-mutex5.c (do_test): exit -> return.
	* tst-mutex2.c: Include <stdlib.h>.
2003-03-17 02:48:34 +00:00
Roland McGrath 2c5567a08e 2003-03-16 Roland McGrath <roland@redhat.com>
* tst-fork4.c: Include <string.h>.
	* tst-signal2.c: Likewise.
	* tst-mutex5.c (do_test): exit -> return.
	* tst-mutex2.c: Include <stdlib.h>.
2003-03-17 02:48:28 +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 8112cc70b4 * nis/nss_nis/nis-hosts.c (internal_gethostbyname2_r): int -> size_t
* nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Likewise.
	* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Likewise.
	* nis/nis_table.c (__create_ib_request): Likewise.
2003-03-16 03:36:32 +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 49773c1993 Update.
2003-03-15  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Store the exact stack size of
	user allocated stacks.
2003-03-16 01:40:57 +00:00
Ulrich Drepper 580088c900 (allocate_stack): Store the exact stack size of user allocated stacks. 2003-03-16 01:39:10 +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 9b89567d85 Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use correct
	amount of stack correction.
2003-03-14 23:56:44 +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
Ulrich Drepper 42c8f44c05 (start_thread): Use CALL_THREAD_FCT if defined. 2003-03-14 23:18:42 +00:00
Roland McGrath 2e49caba0e * init.c: Fix typo "#eli" for "#else". 2003-03-14 23:16:51 +00:00
Roland McGrath 415ef7d893 * allocatestack.c (__stack_user): Use hidden_data_def.
* pthread_create.c (__pthread_keys): Likewise.

	* init.c [__powerpc__] (__NR_set_tid_address): Define it.

	* tst-fork4.c: New file.
	* Makefile (tests): Add it.
2003-03-14 23:12:09 +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 0eb1828169 Update.
2003-03-14  Ulrich Drepper  <drepper@redhat.com>

	* localedata/mn_MN: New file.
	Contributed by Sanlig Badral <badral@chinggis.com>.
2003-03-14 22:04:21 +00:00
Ulrich Drepper c44bf9aa9e Update.
2003-03-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h (THREAD_GETMEM): Mark asms volatile.
	(THREAD_GETMEM_NC): Likewise.
2003-03-14 09:46:25 +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
Ulrich Drepper 59b28a2e4b (allocate_stack): If MULTI_PAGE_ALIASING is defined and the size of the stack which must be allocated is a multiple, allocate one more page. 2003-03-14 06:11:06 +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 ea69482383 Update.
2003-03-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: New file.
2003-03-11 10:38:41 +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
Ulrich Drepper 3de7c2a965 Update.
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelbarrier.sym.
	* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S:
	Include lowlevelbarrier.h and don't define offsets locally.
2003-03-11 05:26:32 +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 3273832c67 Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedwait_tid): Remove one unnecessary instruction.
2003-03-11 00:49:38 +00:00
Ulrich Drepper 51f32ab883 Update.
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define
	__lll_mutex_timedlock_wait only for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include
	lowlevelmutex.S.

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
	lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only
	for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include
	lowlevellock.S.
2003-03-10 23:42:41 +00:00
Ulrich Drepper ebf0cbc5af Fix typo.
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Not needed anymore.
2003-03-10 23:02:10 +00:00
Ulrich Drepper fad48d9e2d Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define
	LOCK is already defined.  Don't define __lll_mutex_timedlock_wait
	for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevelmutex.S.
2003-03-10 22:27:01 +00:00
Ulrich Drepper 9356d063df Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
	LOCK is already defined.  Don't define lll_unlock_wake_cb and
	__lll_timedwait_tid for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevellock.S.
2003-03-10 22:11:26 +00:00
Ulrich Drepper 146fa1ee68 Update.
* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.
2003-03-10 21:44:36 +00:00
Ulrich Drepper 106f6f9d9d Update.
* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h
	instead of lowlevelsem.h.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.
2003-03-10 21:42:52 +00:00
Ulrich Drepper 0be8ee21f0 Update.
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: New needed anymore.
2003-03-10 21:32:44 +00:00
Ulrich Drepper 873010c8a4 Not needed at all. 2003-03-10 21:31:55 +00:00
Ulrich Drepper c915e5ad56 Update.
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelrwlock.sym.
	* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: New file.
	* sysdeps/unix/sysv/linux/i386/lowlevelrwlock.h: Removed.
2003-03-10 21:03:03 +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 8969b769c0 (lll_trylock): Undo last changed. D'oh. 2003-03-10 19:36:23 +00:00
Roland McGrath d38c777e8d * dlfcn/Makefile (libdl-routines): Add dladdr1.
* dlfcn/dladdr1.c: New file.
	* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
	[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
	* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
	a const ElfNN_Sym ** to fill in.
	* include/dlfcn.h: Update decl.  Include <link.h>.
	* dlfcn/dladdr.c (dladdr): Update caller.
	* malloc/mtrace.c (tr_where): Likewise.
	* sysdeps/generic/elf/backtracesyms.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
	* Versions.def (libdl): Define GLIBC_2.3.3 set.
2003-03-10 10:01:35 +00:00
Ulrich Drepper 2b30b2e51f Update.
2003-03-10  Ulrich Drepper  <drepper@redhat.com>

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

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove declaration
	of __libc_locking_needed.
	(lll_trylock): Initialize %eax to zero.

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

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Update
	pthread_cond_t definition.

	* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10 09:27:49 +00:00
Ulrich Drepper f49d640711 Lowlevel lock definitions for x86-64/Linux. 2003-03-10 09:26:20 +00:00
Roland McGrath e48f96382f * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
assembler command.
	* sysdeps/unix/Makefile (compile-syscall): New variable.
	Pass -g0 to compiler for assembling syscall stubs from stdin.

	* sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO]
	(STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END):
	Define these to do nothing.

	* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:11:13 +00:00
Ulrich Drepper 9921a88000 (lll_trylock): Initialize %eax to zero. 2003-03-10 09:10:30 +00:00
Ulrich Drepper acdcbad953 Remove declaration of __libc_locking_needed. 2003-03-10 09:00:47 +00:00
Ulrich Drepper 4cf82237a1 (lll_trylock): Initialize %eax to zero. 2003-03-10 08:51:08 +00:00
Roland McGrath d4f64e1ad7 2003-03-10 Roland McGrath <roland@redhat.com>
* allocatestack.c (allocate_stack) [!TLS_MULTIPLE_THREADS_IN_TCB]:
	Instead of setting PD->multiple_threads, set globals
	__pthread_multiple_threads and __libc_multiple_threads.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* sysdeps/i386/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it.
	* sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Likewise.
	* descr.h (struct pthread): Conditionalize first member on
	[!TLS_DTV_AT_TP].  Replace the `header' member with an anonymous union
	containing an anonymous tcbhead_t.  Move `list' member out.
	[TLS_MULTIPLE_THREADS_IN_TCB]: Define a `multiple_threads' member.
	* allocatestack.c: Remove use of `header.data.' prefix.
	* pthread_create.c: Likewise.
	* init.c (__pthread_initialize_minimal_internal): Likewise.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens.
	(THREAD_SELF, THREAD_DTV, INSTALL_NEW_DTV): No `header.data.' prefix.
	* 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/i386/tls.h (tcbhead_t): Remove `list' member.
	* sysdeps/s390/tls.h (tcbhead_t): Likewise.
2003-03-10 08:50:36 +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 cd4b2a553a Update.
* sysdeps/unix/sysv/linux/s390/createthread.c: Moved to...
	* sysdeps/unix/sysv/linux/createthread.c: ...here.
2003-03-10 06:32:42 +00:00
Ulrich Drepper c37cae9e8a Update.
* po/da.po: Likewise.
2003-03-09 23:59:21 +00:00
Ulrich Drepper ccf1d5737a Update.
* tst-tls2.c (do_test): Add TEMP_FAILURE_RETRY around sem_wait call.
	* tst-signal3.c (do_test): Likewise.
	* tst-sem5.c (do_test): Likewise.
	* tst-kill6.c (do_test): Likewise.
	* tst-tls3.c (do_test): Likewise.  Include <errno.h>.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use add/sub instead
	of inc/dec.
	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.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_unlock.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_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
2003-03-08 10:30:42 +00:00
Ulrich Drepper d130a34156 Update.
2003-03-08  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): If mprotect() fails free the
	TLS memory.
2003-03-08 09:41:16 +00:00
Ulrich Drepper 41d4d22399 Update.
* sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of
	lll_wake_tid.  This was used only to work around kernel limits in
	the early days.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
2003-03-07 18:37:10 +00:00
Ulrich Drepper 0a0ee8be8f Fix a few unused definitions. 2003-03-07 18:34:43 +00:00
Ulrich Drepper bc6389ad56 Update.
2003-03-07  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__static_tls_align_m1): Renamed from __static_tls_align.
	(__pthread_initialize_minimal_internal): Change initialization of
	__static_tls_align_m1 appropriately.
	* pthreadP.h (__static_tls_align_m1): Renamed from
	__static_tls_align.
	* allocatestack.c (allocate_stack): Use __static_tls_align_m1
	instead of __static_tls_align-1.
2003-03-07 09:55:05 +00:00
Ulrich Drepper 923e02eae4 (__static_tls_align_m1): Renamed from __static_tls_align. (__pthread_initialize_minimal_internal): Change initialization of __static_tls_align_m1 appropriately. 2003-03-07 09:53:04 +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 6245b6ae6a Update.
* pthread_attr_setstack.c: Moved to...
	* sysdeps/pthread/pthread_attr_setstack.c: ...here.  New file.
	* pthread_attr_setstackaddr.c: Moved to...
	* sysdeps/pthread/pthread_attr_setstackaddr.c: ...here.  New file.
2003-03-04 21:28:14 +00:00
Ulrich Drepper 518b53086c Update.
* pthread_create.c: Define __pthread_keys using nocommon
	attribute, not by placing it explicitly in bss.
	Remove DEFINE_DEALLOC definition.  Not needed anymore.

	* allocatestack.c: Define ARCH_MAP_FLAGS if not already defined.
	Use it in mmap call to allocate stacks.

	* sysdeps/pthread/createthread.c (create_thread): Fix comment.
2003-03-04 20:55:08 +00:00
Ulrich Drepper a05be180bc Update.
* misc/Versions [libc:GLIBC_2.3.3]: Add remap_file_pages.
2003-03-04 19:20:26 +00:00
Ulrich Drepper cc775edf2d Update.
* sysdeps/generic/dl-sysdep.h: Add double include protection.
2003-03-04 08:56:12 +00:00
Ulrich Drepper f04a27210a Update.
* sysdeps/unix/sysv/linux/s390/dl-sysdep.h: Removed.  The generic
	version is just fine.
2003-03-04 07:58:19 +00:00
Ulrich Drepper 7508154210 Update.
* po/tr.po: Update from translation team.
2003-03-04 04:22:47 +00:00
Ulrich Drepper 87a36c0975 Update.
* po/tr.po: Update from translation team.
2003-03-04 04:20:46 +00:00
Ulrich Drepper 4f6f0a8fcf Update.
2003-03-03  Ulrich Drepper  <drepper@redhat.com>

	* include/sched.h (__clone2): Use ... instead of adding all the
	new parameters.
2003-03-03 22:02:13 +00:00
Ulrich Drepper be095ffaf4 (pthread_rwlock_timedwrlock): Fix clobber of result variable by lll_futex_timed_wait call. 2003-03-03 21:26:07 +00:00
Ulrich Drepper 7ce5c1640c Update.
2003-03-03  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* atomic.h (atomic_exchange_and_add): Return newval, not oldval.

	* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
	Fix handling of cancellation and failing pthread_mutex_unlock call.
	* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
	(__pthread_cond_wait): Likewise.

	* sysdeps/pthread/pthread_rwlock_timedrdlock.c
	(pthread_rwlock_timedrdlock): Fix clobber of result variable by
	lll_futex_timed_wait call.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c
	(pthread_rwlock_timedwrlock): Likewise.

	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
	Don't define lll_unlock_wake_cb and ___lll_timedwait_tid in libc.so.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Remove XXX comments.

	* sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Fix
	check of lll_futex_wake return value.
2003-03-03 21:11:12 +00:00
Roland McGrath ea6a015bd7 * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg.
* sysdeps/ia64/dl-machine.h: Update decl.
2003-03-03 08:44:46 +00:00
Roland McGrath 83f2fcbe7b 2003-03-03 Roland McGrath <roland@redhat.com>
* forward.c: Fix typo in __pthread_attr_init_2_0 compat_symbol decl.
2003-03-03 08:43:31 +00:00
Ulrich Drepper 1be3d6642e Update.
* elf/dl-load.c (struct filebuf): Reduce buf array to 512 bytes.
2003-03-03 07:31:25 +00:00
Ulrich Drepper 5324b81cb3 (timer_create): Return correct error for CPU clocks. 2003-03-03 07:29:24 +00:00
Ulrich Drepper 885bafa14a Update.
2003-03-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC.
	* sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only
	if not already defined.  Use SYSDEP_GETRES to allow other files to
	provide alternative implementations.
	* sysdeps/unix/sysv/linux/clock_getres.c: New file
	* sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only
	if not already defined.  Use SYSDEP_GETTIME to allow other files to
	provide alternative implementations.
	* sysdeps/unix/sysv/linux/clock_gettime.c: New file.
	* sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only
	if not already defined.  Use SYSDEP_GETTIME to allow other files to
	provide alternative implementations.
	* sysdeps/unix/sysv/linux/clock_settime.c: New file.
	* sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow
	other files to provide alternative implementations.  Rearrange
	tests for invalid parameters.
	* sysdeps/unix/sysv/linux/clock_nanosleep.c: New file.
	* sysdeps/unix/sysv/linux/sysconf.c: New file.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_POSIX_TIMERS for Linux 2.4.63 and up.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
	_POSIX_MONOTONIC_CLOCK.
2003-03-03 05:29:09 +00:00
Ulrich Drepper e5497892bb Update.
* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
2003-03-03 05:00:33 +00:00
Ulrich Drepper 4adacf579f Update.
2003-03-02  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c (tf_sleep): Lower sleep time a bit to not upset
	recent kernels.
2003-03-03 01:20:35 +00:00
Ulrich Drepper f6fbf49230 (tf_sleep): Lower sleep time a bit to not upset recent kernels. 2003-03-03 01:19:01 +00:00
Ulrich Drepper 816a5a6a69 Typo in comment. 2003-03-02 08:44:23 +00:00
Ulrich Drepper 86bfff4d52 Update.
2003-03-01  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move cleanup field to the front.
2003-03-02 07:54:30 +00:00
Ulrich Drepper 748bec0865 Update.
* sysdeps/i386/tcb-offsets.sym: Add CLEANUP and CLEANUP_PREV.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Inline
	__pthread_cleanup_pop functionality.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
2003-03-02 07:52:31 +00:00
Ulrich Drepper 78429f1231 Add CLEANUP and CLEANUP_PREV. 2003-03-02 07:49:51 +00:00
Roland McGrath d114938564 * configure.in: In "running configure fragment for" message,
omit $srcdir from the name if we prepended it.
	* configure: Regenerated.
2003-03-01 22:40:30 +00:00
Ulrich Drepper bd8bb78ba2 Update.
2003-03-01  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move tid field to the front now that
	it is often used.

	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S
	(__lll_mutex_timedlock_wait): Remove.
	(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
	(__lll_mutex_unlock_wake): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(lll_unlock_wake_cb): Don't save and restore %esi.
	(__lll_unlock_wake): Add alignment.  Don't save, load, and restore
	%esi.
	(__lll_timedwait_tid): Add alignment.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S
	(__lll_unlock_wake): Add alignment.  Don't save, load, and restore
	%esi.
	(__lll_timedwait_tid): Removed.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
	(__pthread_cond_broadcast): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
	(pthread_barrier_wait): Don't save, load, and restore %esi for
	last thread.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
	(__pthread_rwlock_unlock): Don't save, load, and restore %esi.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__new_sem_post):
	Don't save, load, and restore %esi.
2003-03-01 09:45:23 +00:00
Ulrich Drepper 206a5cdea2 Update. 2003-02-28 03:47:32 +00:00
Ulrich Drepper 567fb22ae3 Update.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S:
	Release lock before waking up the waiters.
2003-02-27 23:45:12 +00:00
Ulrich Drepper 427f5fa1a4 Update.
2003-02-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Increase ULPs for yn due to
	code generation changes in recent gcc.
2003-02-27 22:29:25 +00:00
Ulrich Drepper abeb300799 (do_test): Don't start more than one thread in parallel. 2003-02-27 21:48:41 +00:00
Ulrich Drepper a2d83cfb21 Update.
* tst-rwlock9.c (writer_thread): Correct adding TIMEOUT.
	(reader_thread): Likewise.
2003-02-27 19:49:35 +00:00
Ulrich Drepper d2637c7053 Update.
2003-02-24  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Fix
	unwind info.
2003-02-27 10:32:38 +00:00
Ulrich Drepper dbf6131c49 Update.
Patch by Neil Brown <neilb@cse.unsw.edu.au> [PR libc/4973].
2003-02-27 08:03:17 +00:00
Ulrich Drepper d148ed257a Update.
2003-02-27  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/svc_udp.c (svcudp_recv): Remove all control messages
	except the PKTINFO.  Reset interface in PKTINFO.

	* elf/elf.h: Add new R_PPC64_* relocs for TLS.
	* elf/tls-macros.h [__powerpc64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD):
	Define.
	* sysdeps/powerpc/elf/libc-start.c (__libc_start_main):
2003-02-27 08:01:47 +00:00
Ulrich Drepper 695799feb3 Update.
* Makefile (tests): Add tst-dlsym1.
	* tst-dlsym1.c: New file.
2003-02-27 04:42:04 +00:00
Ulrich Drepper b1531183c5 Update.
2003-02-26  Ulrich Drepper  <drepper@redhat.com>

	* init.c (__pthread_initialize_minimal_internal): Set
	GL(dl_error_catch_tsd) to __libc_dl_error_tsd.
	* Versions (libc:GLIBC_PRIVATE): Export __libc_dl_error_tsd.
2003-02-27 04:12:53 +00:00
Ulrich Drepper d4a763f922 (libc:GLIBC_PRIVATE): Export __libc_dl_error_tsd. 2003-02-27 04:09:48 +00:00
Ulrich Drepper 73983ece25 (sem_open): Only call __libc_close if file descriptor is valid. 2003-02-25 08:47:25 +00:00
Ulrich Drepper 3857ca787c Update.
* sem_open.c (sem_open): Fix handling of O_CREAT without O_EXCL.
2003-02-25 06:19:22 +00:00
Ulrich Drepper 80d807799f Update.
2003-02-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Remove EACCES
	test.
2003-02-25 02:46:33 +00:00
Ulrich Drepper 8637130890 Update.
* tst-rwlock8.c (reader_thread): Remove unused variable.
2003-02-25 00:10:26 +00:00
Ulrich Drepper fa05898776 (reader_thread): Remove unused variable. 2003-02-25 00:10:01 +00:00
Ulrich Drepper 20c54fe445 Bump to 0.26. 2003-02-24 10:05:02 +00:00
Ulrich Drepper ffeb4481f4 Update.
* Makefile: Add rules to build and run tst-tls3.
	* tst-tls3.c: New file.
	* tst-tls3mod.c: New file.
2003-02-24 10:03:02 +00:00
Ulrich Drepper 18a535792b Update.
* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_unlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
2003-02-24 09:23:15 +00:00
Ulrich Drepper 3724f268b1 Update.
2003-02-24  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-rwlock8 and tst-rwlock9.
	* tst-rwlock8.c: New file.
	* tst-rwlock9.c: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Fix
	complete broken rwlock implementation.
	* 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_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
2003-02-24 08:50:25 +00:00
Ulrich Drepper 26a526fa5e Stress test of timed rwlock functions. 2003-02-24 08:48:33 +00:00
Roland McGrath 8915cc4099 * Makefile (nptl-version): Change regexp so case sensitivity is ok. 2003-02-24 07:19:55 +00:00
Roland McGrath f83b9d2107 2003-02-23 Roland McGrath <roland@redhat.com>
* Makefile (nptl-version): Change regexp so case sensitivity is ok.
2003-02-24 07:19:44 +00:00