Commit Graph

254 Commits

Author SHA1 Message Date
Ulrich Drepper
3a4d1e1e49 Update.
2003-06-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once):
	Use correct cleanup handler registration.  Add unwind info.
	* tst-once3.c: Add cleanup handler and check it is called.
	* tst-once4.c: Likewise.
	* tst-oncex3.c: New file.
	* tst-oncex4.c: New file.
	* Makefile: Add rules to build and run tst-oncex3 and tst-oncex4.
2003-07-01 03:29:50 +00:00
Ulrich Drepper
7d7ff54cb9 Update.
2003-06-27  Ulrich Drepper  <drepper@redhat.com>

	* rt/Makefile (CFLAGS-librt-cancellation.c): Define.
2003-06-27 08:17:46 +00:00
Ulrich Drepper
7539c7ecfd Update.
2003-06-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/librt-cancellation.c: Move __pthread_unwind
	definition to the front.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Rename
	the cleanup functions to make the names unique.  Fix dwarf opcode
	un unwind table.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Rename cleanup
	functions to make the names unique.  Fix CFA offset for two blocks.
2003-06-27 07:02:58 +00:00
Ulrich Drepper
7f8f7b9dc8 Update.
* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: New file.
2003-06-25 05:32:19 +00:00
Ulrich Drepper
16015b92d0 POSIX options for Linux/x86-64 with nptl. 2003-06-25 05:26:47 +00:00
Ulrich Drepper
67b78ef91b Update.
* sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex,
	__aio_enqueue_request, __aio_find_req, __aio_find_req_fd,
	__aio_free_request, __aio_notify, and __aio_sigqueue as hidden.

	* sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result
	of pthread_cond_wait if there was an error.  Use pthread_cleanup_*
	instead of __lbic_cleanup_region_*.
2003-06-24 02:50:16 +00:00
Ulrich Drepper
6162364368 Update.
2003-06-22  Ulrich Drepper  <drepper@redhat.com>

	* pthreadP.h (__pthread_mutex_init_internal): Mark hidden.
	(__pthread_mutex_lock_internal): Likewise.
	(__pthread_mutex_unlock_internal): Likewise.
	(__pthread_mutex_unlock_usercnt): Declare.
	* pthread_mutex_destroy.c: Always fail if used in any way.
	* pthread_mutex_init.c: Update comment.
	* pthread_mutex_lock.c: If NO_INCR is not defined adjust __nusers.
	* pthread_mutex_timedlock.c: Adjust __nusers.
	* pthread_mutex_trylock.c: Adjust __nusers.
	* pthread_mutex_unlock.c: Old code is in __pthread_mutex_unlock_usercnt
	and public interfaces are wrapper with pass additional parameter.
	__pthread_mutex_unlock_usercnt does not adjust __nusers if second
	parameter zero.
	* tst-mutex8.c: New file.
	* Makefile (tests): Add tst-mutex8.
	* sysdeps/pthread/pthread_cond_timedwait.c: Call
	__pthread_mutex_unlock_usercnt.
	* sysdeps/pthread/pthread_cond_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Define NO_INCR.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
	Add __nusers.
	* 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/x86_64/bits/pthreadtypes.h: Likewise.

	* pthread_mutex_lock.c: Don't store THREAD_ID in __owner, use TID.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Adjust __nusers.
	* pthread_mutex_unlock.c: Compare with TID not THREAD_ID.
	* tst-mutex9.c: New file.
	* Makefile (tests): Add tst-mutex9.
	* sysdeps/i386/tls.h: Remove THREAD_ID definition.
	* sysdeps/ia64/tls.h: Likewise.
	* sysdeps/powerpc/tls.h: Likewise.
	* sysdeps/s390/tls.h: Likewise.
	* sysdeps/sh/tls.h: Likewise.
	* sysdeps/x86_64/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
	Change type of __owner.
	* 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/x86_64/bits/pthreadtypes.h: Likewise.
2003-06-22 23:55:27 +00:00
Ulrich Drepper
9bdabb94da Update.
2003-06-19  Jakub Jelinek  <jakub@redhat.com>

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

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

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

	compat_timer_getoverrun.
2003-06-19 19:53:12 +00:00
Ulrich Drepper
50441a984d Update.
* sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
	Fix completely broken impleentation.  The second parameter is of
	type struct ucontext*.

	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Always
	inline.

	* sysdeps/i386/i686/dl-hash.h: Don't inline _dl_elf_hash.
	* sysdeps/generic/dl-hash.h: Likewise.

	* sysdeps/generic/memcmp.c: Remove inline from
	memcmp_common_alignment and memcmp_not_common_alignment definition.
2003-06-18 19:34:34 +00:00
Ulrich Drepper
1d53508d2c Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_mutex_lock):
	Add ax to clobber list.
	(lll_mutex_cond_lock): Likewise.
	(lll_mutex_unlock): Likewise.
	(lll_lock): Likewise.
	(lll_unlock): Likewise.
2003-06-18 00:00:50 +00:00
Ulrich Drepper
60d73a7ac4 Update.
* sysdeps/unix/clock_nanosleep.c (clock_nanosleep): nanosleep
	takes care of enabling cancellation.

	* sysdeps/pthread/aio_suspend.c (aio_suspend): Make aio_suspend
	cancelable.  It's not correct to disable cancellation.  Instead of
	a cleanup handler.
2003-06-17 22:11:22 +00:00
Ulrich Drepper
bbde852717 Update.
2003-06-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sleep.c: Use CANCELLATION_P if defined before
	returning because seconds==0.
2003-06-17 08:58:31 +00:00
Ulrich Drepper
2667645020 Update.
2003-06-17  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c: Add tests for the socket and signal functions, pause.
	Also test early cancellation before the thread reaches the cancellation
	point.

	* Makefile: Compile forward.c with exceptions.

	* sysdeps/unix/sysv/linux/sleep.c: New file.
2003-06-17 08:44:32 +00:00
Ulrich Drepper
452aea842f Update.
* sysdeps/unix/sysv/linux/i386/dl-sysdep.h
	(DL_SYSINFO_IMPLEMENTATION): Use CFI opcodes.
	* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
	(DL_SYSINFO_IMPLEMENTATION): Likewise.
2003-06-16 05:29:24 +00:00
Ulrich Drepper
7a1147946e Update.
2003-06-15  Ulrich Drepper  <drepper@redhat.com>

	Fix cancellation point handling wrt exception based cleanup.
	* io/Makefile: Compile fcntl.c, poll.c, and lockf.c with exceptions.
	* misc/Makefile: Compile pselect.c, readv.c, writev.c, and usleep.c
	with exceptions.
	* posix/Makefile: Compile pread.c, pread64.c, pwrite.c, pwrite64.c,
	sleep.c, wait.c, waitid.c, and waitpid.c with exceptions.
	* rt/Makefile: Compile aio_suspend.c and clock_nanosleep.c with
	exceptions.
	* signal/Makefile: Compile sigpause.c, sigsuspend.c, sigtimedwait.c,
	sigwait.c, and sigwaitinfo.c with exceptions.
	* stdlib/Makefile: Compile system.c with exceptions.
	* sysvipc/Makefile: Compile msgrcv.c and msgsnd.c with exceptions.
	* termios/Makefile: Compile tcdrain.c with exceptions.
	* sysdeps/generic/lockf.c: Add comment explaining the cancellation
	situation.
	* sysdeps/generic/pselect.c: Likewise.
	* sysdeps/posix/sigpause.c: Likewise.
	* sysdeps/posix/system.c: Likewise.
	* sysdeps/posix/waitid.c: Likewise.
	* sysdeps/unix/sysv/linux/sleep.c: Likewise.
	* sysdeps/unix/sysv/linux/usleep.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Major rewrite of
	INTERNAL_SYSCALL to not use push inside asm statement so that
	unwind info is correct around the syscall.
	* sysdeps/unix/clock_nanosleep.c: Add cancellation support.
	* sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise.
2003-06-15 21:22:26 +00:00
Ulrich Drepper
8ba1d42919 Update.
* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Use __close,
	not close.

	* inet/inet6_option.c (inet6_option_alloc): Add libc_hidden_def.
	* include/netinet/in.h (inet6_option_alloc): Add libc_hidden_proto
	definition.
2003-06-14 09:00:28 +00:00
Jakub Jelinek
1dee0a7eff (sem_timedwait): Fix a typo. 2003-06-10 09:58:19 +00:00
Ulrich Drepper
06120d793a Update.
2003-06-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory
	from getifaddr calls.
2003-06-10 07:45:18 +00:00
Ulrich Drepper
5b318f8556 Update.
(__pthread_cond_signal): Use correct futex pointer in
	__lll_mutex_lock_wait call.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
2003-06-09 22:49:50 +00:00
Ulrich Drepper
b17203463d Update.
2003-06-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Some more tweaks to handle cond_lock!=0.
2003-06-09 07:39:03 +00:00
Ulrich Drepper
ecf7955d55 Update.
* sysdeps/unix/sysv/linux/s390/sem_wait.c (__new_sem_wait): Make
	cancelable.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c (__sem_timedwait):
	Likewise.
2003-06-08 16:30:17 +00:00
Ulrich Drepper
3e36c37d35 Update.
2003-06-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Remove
	hand-written CFI generation code.  Since ENTRY/END also initiated
	CFI frames this caused two CFI sets to be generated.
2003-06-08 08:16:08 +00:00
Ulrich Drepper
7726edc273 Update.
2003-06-07  Ulrich Drepper  <drepper@redhat.com>

	* cleanup_routine.c: New file.
	* Versions (libpthread) [GLIBC_2.3.3]: Add __pthread_cleanup_routine.
	* sysdeps/pthread/pthread.h: Add support for fully exception-based
	cleanup handling.
	* Makefile (libpthread-routines): Add cleanup_routine.
	Add more CFLAGS variables to compile with exceptions.  Add comments
	why which file needs unwind tables.
	(tests) [have-forced-unwind==yes]: Add tst-cancelx* and tst-cleanupx*
	tests.
	* tst-cancelx1.c: New file.
	* tst-cancelx2.c: New file.
	* tst-cancelx3.c: New file.
	* tst-cancelx4.c: New file.
	* tst-cancelx5.c: New file.
	* tst-cancelx6.c: New file.
	* tst-cancelx7.c: New file.
	* tst-cancelx8.c: New file.
	* tst-cancelx9.c: New file.
	* tst-cancelx10.c: New file.
	* tst-cancelx11.c: New file.
	* tst-cancelx12.c: New file.
	* tst-cancelx13.c: New file.
	* tst-cancelx14.c: New file.
	* tst-cancelx15.c: New file.
	* tst-cleanupx0.c: New file.
	* tst-cleanupx0.expect: New file.
	* tst-cleanupx1.c: New file.
	* tst-cleanupx2.c: New file.
	* tst-cleanupx3.c: New file.

	* tst-cleanup0.c: Make standard compliant.
	* tst-cleanup1.c: Likewise.

	* sysdeps/unix/sysv/linux/sem_timedwait.c: Add cancellation support.
	* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/i386/tcb-offsets.sym: Add RESULT, CANCELHANDLING, and
	CLEANUP_JMP_BUF.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* tst-cancel12.c: New file.
	* tst-cancel13.c: New file.
	* tst-cancel14.c: New file.
	* tst-cancel15.c: New file.
	* Makefile (tests): Add tst-cancel12, tst-cancel13, tst-cancel14,
	and tst-cancel15.

	* tst-cancel1.c: Add some comments.

	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Compute relative
	timeout correctly.
2003-06-08 05:28:14 +00:00
Ulrich Drepper
4ad0bbf4fa Update.
2003-06-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_rwlock_t):
	Change type of __writer element to int.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/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/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/i386/tcb-offsets.sym: Replace SELF entry with TID entry.
	* sysdeps/x86_64/tcb-offsets.sym: Likewise.
	* pthread_rwlock_trywrlock.c: Store TID not self pointer in __writer.
	Compare with TID to determine deadlocks.
	* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.: Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* 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_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
	* Makefile (tests): Add tst-rwlock12.
	* tst-rwlock12.c: New file.
2003-06-05 19:31:57 +00:00
Jakub Jelinek
332faa9627 * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait,
__lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid): 
Remove bogus hidden_proto. 
* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock): 
Likewise. 
* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock, 
lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise. 
* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock, 
___lll_mutex_timedlock): Likewise.
2003-06-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait,
	__lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid):
	Remove bogus hidden_proto.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock,
	lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock,
	___lll_mutex_timedlock): Likewise.
2003-06-05 08:12:11 +00:00
Ulrich Drepper
29d9e2fd2c Update.
2003-06-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
	(__pthread_cond_signal): Add some code to eventually handle
	cond_lock!=0.
2003-06-04 19:48:29 +00:00
Ulrich Drepper
80b5421740 Update.
2003-06-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (CFLAGS-dl-runtime.c): Define.

	* wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match
	stpncpy.
2003-06-01 08:52:38 +00:00
Ulrich Drepper
31195be25b Update.
2003-05-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h (SA_NOCLDWAIT): Define.
2003-06-01 04:09:55 +00:00
Ulrich Drepper
5d4f57bd93 Update.
2003-05-30  Ulrich Drepper  <drepper@redhat.com>

	* scripts/config.guess: Update from master copy.
	* scripts/config.sub: Likewise.
2003-05-31 06:30:37 +00:00
Ulrich Drepper
a14c918ddd (__lll_mutex_lock_wait): Replace one memory operation with one register operation. 2003-05-30 17:49:37 +00:00
Ulrich Drepper
50794a453b Update.
2003-05-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
	(__lll_mutex_cond_lock): Add one to value parameter of
	__lll_lock_wait to reflect reality in the futex syscall.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_cond_lock): Likewise.
2003-05-30 16:36:18 +00:00
Ulrich Drepper
4761520e93 (lll_mutex_cond_lock): Add one to value parameter of __lll_lock_wait to reflect reality in the futex syscall. 2003-05-30 16:32:35 +00:00
Jakub Jelinek
ef276e6472 (__lll_mutex_cond_lock): New function. (lll_mutex_cond_lock): Define. 2003-05-30 13:46:04 +00:00
Ulrich Drepper
b8ba4a2741 Update.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h
	(__lll_mutex_unlock_force): New function
	(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.
2003-05-30 04:53:50 +00:00
Ulrich Drepper
65d46efed2 Update.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
	(__lll_mutex_unlock_force): New function.
	(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.

	* tst-rwlock7.c (do_test): Use correct format specifier.
2003-05-30 03:47:32 +00:00
Ulrich Drepper
284bdc42e8 Update.
2003-05-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/powerpc32/elf/start.S: Make code compilable with
	SHARED.
2003-05-30 03:20:29 +00:00
Ulrich Drepper
e7c5ac68ed Update.
2003-05-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue):
	Find break parameter in correct asm argument.

2003-05-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_cond_t): Add __mutex.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_REQUEUE,
	lll_futex_requeue, lll_mutex_unlock_force): Define.
2003-05-30 03:04:29 +00:00
Ulrich Drepper
ea2630c632 Update.
2003-05-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/tcb-offsets.sym: Define MUTEX_FUTEX.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
        Add __mutex field.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h (SYSCALL_WITH_INST_PAD):
	Define.
	(lll_futex_wait, lll_futex_wake): Define.
	* sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Try using
	FUTEX_REQUEUE instead of FUTEX_WAIT.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Remember
	mutex which was used in condvar structure.  Call
	__pthread_mutex_cond_lock instead of __pthread_mutex_lock_internal.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.

	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Don't
	include tcb-offsets.h.  Read wakeup value in locked region.
	Use the value of gbr register as THREAD_ID.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.

	* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Remove futex related
	macros.
2003-05-29 05:38:43 +00:00
Ulrich Drepper
7661d9f783 Update.
2003-05-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Fix
	typo in register name.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Use parameters
	correctly.  Actually use requeue.  Little optimization.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Store
	mutex address early.  Handle cancellation state as 32-bit value.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
	Remove unnecessary label.
2003-05-27 04:24:31 +00:00
Ulrich Drepper
91ceedb37f Fix typo in register name. 2003-05-27 04:19:58 +00:00
Ulrich Drepper
69431c9a21 Update.
2003-05-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_FUTEX_REQUEUE for >= 2.5.70.

	* math/test-fenv.c (feexcp_nomask_test): Fix comment.
2003-05-26 02:47:39 +00:00
Roland McGrath
3e335bbc32 2003-05-16 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/register-atfork.c (libc_freeres_fn): Fix
	uninitialized variable braino.
2003-05-17 00:59:09 +00:00
Ulrich Drepper
23ae645174 Update.
* include/features.h (__USE_XOPEN2K): Define also for
	_POSIX_C_SOURCE>=200112L.
2003-05-17 00:38:41 +00:00
Ulrich Drepper
7158eae4a8 Update.
2003-05-12  Steven Munroe  <sjmunroe@us.ibm.com>

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

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

	* sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Remove futex
	related macros.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
2003-05-10 20:38:31 +00:00
Ulrich Drepper
949ec76407 Update.
* posix/sched.h: Change prototypes of sched_getaffinity and
	sched_setaffinity.  Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO.
	* sysdeps/generic/sched_getaffinity.c: Adjust definition.
	* sysdeps/generic/sched_setaffinity.c: Likewise.
	* sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS,
	__CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET,
	__CPU_CLR, and __CPU_ISSET.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* sysdeps/unix/sysv/linux/sched_getaffinity.c: New file.
	* sysdeps/unix/sysv/linux/sched_setaffinity.c: New file.

	* include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange.
	(atomic_exchange_rel): New #define.
	* sysdeps/ia64/bits/atomic.h: Likewise.
	* sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from
	atomic_exchange.
	* sysdeps/m68k/m68020/bits/atomic.h: Likewise.
	* sysdeps/powerpc/bits/atomic.h: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise.
	* sysdeps/sparc/sparc64/bits/atomic.h: Likewise.
	* sysdeps/x86_64/bits/atomic.h: Likewise.
	* csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange.
2003-05-10 05:36:37 +00:00
Ulrich Drepper
880867a475 Update.
2003-05-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: New file.
2003-05-09 07:53:33 +00:00
Ulrich Drepper
92d83c725e Update.
2003-05-08  Ulrich Drepper  <drepper@redhat.com>

	* malloc/thread-m.h: Remove special handling of thread_atfork if
	HAVE_register_atfork_malloc is defined.
2003-05-09 03:17:42 +00:00
Ulrich Drepper
7da168bf21 Update.
2003-05-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
	(pthread_condattr_t): Size is only an int, don't use long for
	alignment.
	(pthread_mutexattr_t): Likewise.
	(pthread_barrierattr_t): Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
2003-05-03 05:05:57 +00:00
Ulrich Drepper
a234e27dba Update.
2003-05-01  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (mSTATs): Call ptmalloc_init if necessary.

2003-04-29  Andreas Schwab  <schwab@suse.de>

	* string/test-strcat.c (do_one_test): Fix attribute name.
2003-05-01 07:38:32 +00:00