Commit Graph

586 Commits

Author SHA1 Message Date
Ulrich Drepper
9d08fbbb29 Update.
2003-09-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Don't play tricks
	like jumping over the lock prefix.
2003-09-22 16:47:50 +00:00
Ulrich Drepper
bc1989aad2 Update.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Likewise.
	* sysdeps/pthread/pthread_cond_signal.c: Don't use requeue.
2003-09-22 05:45:50 +00:00
Ulrich Drepper
3a226d3301 Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Adjust
	for new mutex implementation.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: 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/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_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.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/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_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	Don't use requeue.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
2003-09-22 04:41:12 +00:00
Ulrich Drepper
71451de2f1 Update.
2003-09-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Completely revamp the
	locking macros.  No distinction between normal and mutex locking
	anymore.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Rewrite mutex
	locking.  Merge bits from lowlevelmutex.S we still need.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Removed.
	* Makefile (routines): Remove libc-lowlevelmutex.
	(libpthread-rountines): Remove lowlevelmutex.
	* pthread_barrier_wait.S: Adjust for new mutex implementation.
	* pthread_cond_broadcast.S: Likewise.
	* pthread_cond_timedwait.S: Likewise.
	* pthread_cond_wait.S: Likewise.
	* pthread_rwlock_rdlock.S: Likewise.
	* pthread_rwlock_timedrdlock.S: Likewise.
	* pthread_rwlock_timedwrlock.S: Likewise.
	* pthread_rwlock_unlock.S: Likewise.
	* pthread_rwlock_wrlock.S: Likewise.
	* pthread_cond_signal.S: Likewise.  Don't use requeue.
2003-09-21 07:40:24 +00:00
Ulrich Drepper
56a4aa9886 Update.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't match memory
	in parameters of asm with output parameters.
2003-09-20 08:10:41 +00:00
Ulrich Drepper
9ba96eda70 Update.
* elf/Makefile (distribute): Add tst-alignmod.c.
	(tests): Add tst-align.
	(modules-names): Add tst-alignmod.
	(CFLAGS-tst-align.c, CFLAGS-tst-alignmod.c): Add
	$(stack-align-test-flags).
	($(objpfx)tst-align): Depend on libdl.
	($(objpfx)tst-align.out): Depend on tst-alignmod.so.
	* elf/tst-align.c: New file.
	* elf/tst-alignmod.c: New file.
	* misc/Makefile (CFLAGS-tst-tsearch.c): Add $(stack-align-test-flags).
	* misc/tst-tsearch.c: Include tst-stack-align.h.
	(stack_align_check): New array.
	(cmp_fn, walk_action): Use TEST_STACK_ALIGN ().
	(main): Report error if stack was not enough aligned
	in cmp_fn or walk_action.
	* stdlib/Makefile (CFLAGS-tst-qsort.c): Add $(stack-align-test-flags).
	* stdlib/tst-qsort.c: Include tst-stack-align.h.
	(align_check): New var.
	(compare): Use TEST_STACK_ALIGN () macro.
	(main): Report error if stack was not enough aligned in compare.
	* sysdeps/i386/i686/Makefile (stack-align-test-flags): Remove
	unneeded -mpreferred-stack-boundary=4.
	* sysdeps/x86_64/tst-stack-align.h: New file.

	* libio/memstream.c (_IO_wmem_jumps): Remove unused structure.
	(_IO_wmem_sync, _IO_wmem_finish): Remove unused functions.

2003-09-17  Philip Blundell  <philb@gnu.org>

	* sysdeps/arm/dl-machine.h (CALL_ROUTINE): Deleted.
	(BX): Define.
	(ELF_MACHINE_RUNTIME_TRAMPOLINE): Optimise a little.

	* sysdeps/arm/sysdep.h (DO_RET): New.

	* sysdeps/unix/sysv/linux/arm/vfork.S: Add #error if __NR_vfork
	required but not defined.  Improve test of error code.

2003-09-17  Jakub Jelinek  <jakub@redhat.com>
2003-09-17 19:15:35 +00:00
Ulrich Drepper
06f6ca9019 Update.
2003-09-17  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
	libpthread is loaded.  Elide backwards compatibility code when not
	required.
2003-09-17 18:23:49 +00:00
Ulrich Drepper
65af7e6142 Update.
2003-09-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (stack-align-test-flags): Add
	-malign-double -mpreferred-stack-boundary=4.
2003-09-17 09:39:59 +00:00
Ulrich Drepper
3402852c2c Update.
2003-09-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/utimes.c (__utimes): Truncate instead of round.
	* sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise.
2003-09-17 09:18:37 +00:00
Ulrich Drepper
854f9ec4a6 Update.
2003-09-11  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/pt-machine.h [MEMORY_BARRIER]: Use lwsync.
	[READ_MEMORY_BARRIER]: Define.
	[WRITE_MEMORY_BARRIER]: Define.
2003-09-11 18:56:41 +00:00
Roland McGrath
7f08f55a9f * sysdeps/unix/sysv/linux/speed.c
(cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED].
	(cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED].
	* sysdeps/unix/sysv/linux/bits/termios.h
	(_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define.
	* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
2003-09-09 07:01:01 +00:00
Ulrich Drepper
806e4a4a01 Update.
2003-09-08  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/bits/types.h (__quad_t): Make long int if 64-bit.
	(__u_quad_t): Make unsigned long int if 64-bit.
	(__SQUAD_TYPE): Make long int if 64-bit.
	(__UQUAD_TYPE): Make unsigned long int if 64-bit.
	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove.

2003-09-08  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Run check-c++-types.sh if possible.
	* scripts/check-c++-types.h: New file.
	* scripts/data/c++-ctypes-i386-linux-gnu.data: New file.

	contiguous case.  Bug report from Prem Gopalan <prem@mazunetworks.com>.
2003-09-09 00:07:08 +00:00
Ulrich Drepper
ce42435cab Update.
* sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all
	over the place.  It would be allowed to have these fucntions as
	cancellation points but the cleanup would be ugly and a lot of
	work.

	* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define.
	* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define.

	* include/fcntl.h (__fcntl_nocancel): Declare.
	* sysdeps/unix/sysv/linux/fcntl.c: New file.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable
	cancellation if absolutely needed.
	(__fcntl_nocancel): Define.

	* posix/unistd.h (gethostid): Remove __THROW.  Clarify comment.
	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add
	-fexceptions.
	* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use
	extend_alloca.

	* resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status
	instead of __close.
2003-09-04 14:08:24 +00:00
Ulrich Drepper
58e8ec84f4 Update.
22003-09-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/unwind.h (_Unwind_GetBSP): Add prototype.

003-09-03  Ulrich Drepper  <drepper@redhat.com>
2003-09-04 05:57:06 +00:00
Ulrich Drepper
4a244f0dce Update.
2003-09-02  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
	rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo and
	rt_sigpending.
	* sysdeps/unix/sysv/linux/alpha/sigaction.c (__syscall_rt_sigaction):
	New prototype.
	* sysdeps/unix/sysv/linux/arm/syscalls.list (__syscall_*): Remove
	unused __syscall_ stubs.
	* sysdeps/unix/sysv/linux/arm/Makefile (sysdep_routines): Remove
	rt_*.
	* sysdeps/unix/sysv/linux/cris/Makefile: Removed.
	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
	(__syscall_recvfrom, __syscall_sendto): Remove unused aliases.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__syscall_*): Remove
	unused __syscall_ stubs.
	* sysdeps/unix/sysv/linux/mips/Makefile (sysdep_routines): Remove rt_*.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
	(__syscall_*): Remove unused __syscall_ stubs.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
	(__syscall_*): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile (sysdep_routines): Remove
	rt_*.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__syscall_*):
	Remove unused __syscall_ stubs.
	* sysdeps/unix/sysv/linux/sh/Makefile (sysdep_routines): Remove rt_*.
	* sysdeps/unix/sysv/linux/rt_sigaction.c: Removed.
	* sysdeps/unix/sysv/linux/rt_sigpending.c: Removed.
	* sysdeps/unix/sysv/linux/rt_sigprocmask.c: Removed.
	* sysdeps/unix/sysv/linux/rt_sigqueueinfo.c: Removed.
	* sysdeps/unix/sysv/linux/rt_sigreturn.c: Removed.
	* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Removed.
	* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Removed.
	* sysdeps/unix/sysv/linux/s_pread64.c: Removed.
	* sysdeps/unix/sysv/linux/s_pwrite64.c: Removed.
	* sysdeps/unix/sysv/linux/alpha/gethostname.c: Remove unused
	__syscall_* prototypes.
	* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fchown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getegid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/getuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lchown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ustat.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/execve.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/reboot.c: Likewise.
	* sysdeps/unix/sysv/linux/_exit.c: Likewise.
	* sysdeps/unix/sysv/linux/ftruncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/readahead.c: Likewise.
	* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
	* sysdeps/unix/sysv/linux/sigwait.c: Likewise.
	* sysdeps/unix/sysv/linux/getdents.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/getpriority.c: Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ipc_priv.h: Likewise.
	* sysdeps/unix/sysv/linux/llseek.c: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/mmap64.c: Likewise.
	* sysdeps/unix/sysv/linux/ustat.c: Likewise.
	* sysdeps/unix/sysv/linux/poll.c: Likewise.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/ptrace.c: Likewise.
	* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
	* sysdeps/unix/sysv/linux/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c: Likewise.

2003-09-02  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Revert last change.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: New file.
	* sysdeps/unix/sysv/linux/sparc/syscalls.list: New file.

	* stdio-common/Makefile (CFLAGS-vprintf.c): Add -fexceptions.

	* intl/loadmsgcat.c: For _LIBC, call not cancelable versions of
	open, close, and read.
2003-09-03 03:22:23 +00:00
Ulrich Drepper
5777d565ad Update.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Also
	defined symbol for entry point to avoid cancellation.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/not-cancel.h (__open_nocancel,
	__close_nocancel, __read_nocancel, __write_nocancel,
	__waitpid_nocancel): Add attribute_hidden.  If not in libc.so,
	libpthread.so or librt.so, define to corresponding function
	without _nocancel suffix.
	* sysdeps/unix/sysv/linux/s390/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sparc/not-cancel.h: New file.
2003-09-03 02:53:32 +00:00
Jakub Jelinek
ee33620ea1 Fix a typo. 2003-09-02 13:25:06 +00:00
Ulrich Drepper
8348dcc8ed Update.
2003-09-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/x86-64/not-cancel.h: New file.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Make sure the code
	in subsections has a symbol associated with it.

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Also
	defined symbol for entry point to avoid cancellation.
	* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Likewise.
2003-09-02 08:47:09 +00:00
Ulrich Drepper
c503d3dc51 Update.
2003-09-01  Thorsten Kukuk  <kukuk@suse.de>

	* nis/nss_compat/compat-spwd.c (getspnam_plususer): Return
	NSS_STATUS_SUCCESS if entry was found.
	(getspent_next_file): Store user in blacklist after entry
	was found, use innetgr.

2003-09-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise.c: New.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: New.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Fix tls offset
	computation for TCB_AT_TP.  Support l_firstbyte_offset != 0 for
	DTV_AT_TP, optimize.
2003-09-02 00:49:47 +00:00
Jakub Jelinek
56a1b8778c * sysdeps/unix/sysv/linux/alpha/timer_create.c: New file.
* sysdeps/unix/sysv/linux/alpha/timer_delete.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_getoverr.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_gettime.c: New file.
	* sysdeps/unix/sysv/linux/alpha/timer_settime.c: New file.
	* sysdeps/unix/sysv/linux/alpha/Versions: New file.

	* sysdeps/unix/sysv/linux/alpha/aio_cancel.c: New file.
2003-09-01 21:38:29 +00:00
Jakub Jelinek
c11b090183 Define _POSIX_THREAD_PRIORITY_SCHEDULING. 2003-09-01 20:05:59 +00:00
Ulrich Drepper
38226fe3a6 Update.
2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove __syscall_
	functions.
2003-08-31 20:43:59 +00:00
Ulrich Drepper
28c97261ea Update.
2003-08-31  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/Versions: Add posix_fadvise64 and
	posix_fallocate64 at GLIBC_2.3.3.
2003-08-31 18:55:52 +00:00
Ulrich Drepper
cd2fbe58e6 Update.
2003-08-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET.
	* include/setjmp.h: Add libc_hidden_proto for __sigsetjmp.

	(CFLAGS-clnt_perr.c): Likewise.
2003-08-31 18:10:47 +00:00
Ulrich Drepper
0261d33f87 Update.
2003-08-29  Jakub Jelinek  <jakub@redhat.com>

	* libio/Makefile: Compile fputc.c, fputwc.c, freopen64.c, freopen.c,
	fseek.c, fseeko64.c, fseeko.c, ftello64.c, ftello.c, fwide.c, getc.c,
	getchar.c, getwc.c, getwchar.c, iofclose.c, iofflush.c, iofgetpos64.c,
	iofgetpos.c, iofgets.c, iofgetws.c, iofputs.c, iofputws.c, iofread.c,
	iofsetpos64.c, iofsetpos.c, ioftell.c, iofwrite.c, iogetdelim.c,
	iogetline.c, iogets.c, iogetwline.c, ioputs.c, ioseekoff.c,
	ioseekpos.c, iosetbuffer.c, iosetvbuf.c, ioungetc.c, ioungetwc.c,
	oldfileops.c, oldiofclose.c, oldiofgetpos64.c, oldiofgetpos.c,
	oldiofsetpos64.c, oldiofsetpos.c, peekc.c, putc.c, putchar.c, putwc.c,
	putwchar.c and rewind.c with exceptions.
	* sysdeps/generic/bits/stdio-lock.h (_IO_acquire_lock,
	_IO_release_lock): Define.
	* libio/fileops.c (_IO_new_file_underflow): Use it.
	* libio/fputc.c (fputc): Likewise.
	* libio/fputwc.c (fputwc): Likewise.
	* libio/freopen64.c (freopen64):
	* libio/freopen.c (freopen): Likewise.
	* libio/fseek.c (fseek): Likewise.
	* libio/fseeko64.c (fseeko64): Likewise.
	* libio/fseeko.c (fseeko): Likewise.
	* libio/ftello64.c (ftello64): Likewise.
	* libio/ftello.c (ftello): Likewise.
	* libio/fwide.c (fwide): Likewise.
	* libio/getc.c (_IO_getc): Likewise.
	* libio/getchar.c (getchar): Likewise.
	* libio/getwc.c (_IO_getwc): Likewise.
	* libio/getwchar.c (getwchar): Likewise.
	* libio/iofclose.c (_IO_new_fclose):
	* libio/iofflush.c (_IO_fflush): Likewise.
	* libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise.
	* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
	* libio/iofgets.c (_IO_fgets): Likewise.
	* libio/iofgetws.c (fgetws): Likewise.
	* libio/iofputs.c (_IO_fputs):
	* libio/iofputws.c (_IO_fputs): Likewise.
	* libio/iofread.c (_IO_fread): Likewise.
	* libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise.
	* libio/iofsetpos.c (_IO_new_fsetpos): Likewise.
	* libio/ioftell.c (_IO_ftell): Likewise.
	* libio/iofwrite.c (_IO_fwrite): Likewise.
	* libio/iogetdelim.c (_IO_getdelim): Likewise.
	* libio/iogets.c (_IO_gets): Likewise.
	* libio/ioputs.c (_IO_puts): Likewise.
	* libio/ioseekoff.c (_IO_seekoff): Likewise.
	* libio/ioseekpos.c (_IO_seekpos): Likewise.
	* libio/iosetbuffer.c (_IO_setbuffer): Likewise.
	* libio/iosetvbuf.c (_IO_setvbuf): Likewise.
	* libio/ioungetc.c (_IO_ungetc): Likewise.
	* libio/ioungetwc.c (ungetwc): Likewise.
	* libio/oldiofclose.c (_IO_old_fclose): Likewise.
	* libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise.
	* libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise.
	* libio/oldiofsetpos64.c (_IO_old_fsetpos64): Likewise.
	* libio/oldiofsetpos.c (_IO_old_fsetpos): Likewise.
	* libio/peekc.c (_IO_peekc_locked): Likewise.
	* libio/putc.c (_IO_putc): Likewise.
	* libio/putchar.c (putchar): Likewise.
	* libio/putwc.c (putwc): Likewise.
	* libio/putwchar.c (putwchar): Likewise.
	* libio/rewind.c (rewind): Likewise.
	* libio/wfileops.c (_IO_wfile_underflow): Likewise.
2003-08-29 19:58:49 +00:00
Ulrich Drepper
68b9e1ae08 Update.
2003-08-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_exit): Remove __THROW.
	(__pthread_cleanup_class): Add missing return types of member
	functions.
2003-08-27 19:20:24 +00:00
Ulrich Drepper
13b3edfc73 Update.
2003-08-26  Steven Munroe <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
	(lll_mutex_unlock_force): Add memory barrier between store and futex
	syscall.
2003-08-26 20:29:48 +00:00
Ulrich Drepper
fd82139fa5 Define _POSIX_THREAD_PRIORITY_SCHEDULING. 2003-08-19 05:26:54 +00:00
Ulrich Drepper
334fcf2a65 Update.
2003-08-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/ldsodefs.h (_rtld_global): Add
	_dl_rtld_lock_recursive and _dl_rtld_unlock_recursive.
	* elf/rtld.c (rtld_lock_default_lock_recursive,
	rtld_lock_default_unlock_recursive): New functions.
	(dl_main): Initialize _dl_rtld_lock_recursive and
	_dl_rtld_unlock_recursive.

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

	* elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to
	config_file directories instead of prepending.
2003-08-08 07:43:03 +00:00
Ulrich Drepper
9c988b83bc Update.
2003-08-03  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/createthread.c (do_clone): Move error handling
	to first syscall error check.  Move syscall error check for tkill
	into __ASSUME_CLONE_STOPPED #ifdef.
2003-08-04 21:53:09 +00:00
Ulrich Drepper
f1205aa71f Update.
* sysdeps/pthread/createthread.c (do_clone): If __ASSUME_CLONE_STOPPED
	is not defined, do explicit synchronization.
	(create_thread): Do not lock pd->lock here.  If __ASSUME_CLONE_STOPPED
	is not defined also unlock pd->lock for non-debugging case in case
	it is necessary.
	* pthread_create.c (start_thread): Always get and release pd->lock
	if __ASSUME_CLONE_STOPPED is not defined.
	(start_thread_debug): Removed.  Adjust users.
	* allocatestack.c (allocate_stack): Always initialize lock if
	__ASSUME_CLONE_STOPPED is not defined.
	* Makefile (tests): Add tst-sched1.
	* tst-sched1.c: New file.
2003-08-03 06:47:02 +00:00
Ulrich Drepper
5c5252bd52 Update.
2003-08-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c (do_clone): Only use
	sched_setschduler and pass correct parameters.
2003-08-02 22:31:52 +00:00
Ulrich Drepper
973d66e453 Update.
* sysdeps/generic/bits/types.h (__ssize_t): Use __SSIZE_T_TYPE
	instead of __SWORD_TYPE.
	* sysdeps/generic/bits/typesizes.h (__SSIZE_T_TYPE): Define.
	* sysdeps/mach/hurd/bits/typesizes.h (__SSIZE_T_TYPE): Define.
	* sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h (__SSIZE_T_TYPE):
	Define.
	* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__SSIZE_T_TYPE):
	Define.
	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__SSIZE_T_TYPE):
	Define.
	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New file.
2003-07-31 19:34:52 +00:00
Ulrich Drepper
d347a4ab1d Update.
2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* dlfcn/dlerror.c (once): New.
	(dlerror): Call __libc_once.
	(_dlerror_run): Remove once.

2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
	Sync with 2.5.7 and 2.5.73 kernel changes.

2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings.
	* elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd
	formats to size_t.
	* elf/dl-lookup.c (_dl_debug_bindings): Likewise.
	* elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid.
	* elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2.
	* gmon/tst-sprofil.c (main): Add parens to shut up warning.
	* iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer
	difference argument.
	* stdio-common/tst-wc-printf.c (main): Cast arguments with %C
	format to wint_t.
	* stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use
	%d format and cast expected value to int.
	* sysdeps/generic/libc-start.c (STATIC): Add
	__attribute__((always_inline) if LIBC_START_MAIN is already defined.
	* sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t
	to ieee_float_shape_type.
	(__sqrt): Avoid type punning.
	* sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t
	to ieee_float_shape_type.
	(__sqrtf): Avoid type punning.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define
	refsym if in dl-conflict.c.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf.
	(__new_semctl): Shut up warning.
	* sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf.
	(__new_semctl): Shut up warning.
	* sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines.
	Change old into union of __old_shmid_ds and __old_shminfo structs.
	Adjust all users.
	* wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t.

2003-07-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and
	modtime computation.
	* sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise.
	* sysdeps/posix/utimes.c (__utimes): Likewise.
2003-07-31 19:26:38 +00:00
Ulrich Drepper
1b26e9a566 Update.
2003-07-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): Don't use cmov unless HAVE_CMOV is defined.
	* sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S:
	Define HAVE_CMOV.
	Patch by Nicholas Miell <nmiell@attbi.com>.
2003-07-31 09:25:54 +00:00
Roland McGrath
a7f6c66ec3 * rt/tst-timer2.c: New file.
* rt/Makefile (tests): Add it.
2003-07-29 09:32:03 +00:00
Ulrich Drepper
9d79e0377b Update.
* include/stdio.h (__libc_fatal): Add libc_hidden_proto.
	* include/dlfcn.h (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose):
	Likewise.
	* elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose):
	Add libc_hidden_def.
	* sysdeps/generic/libc_fatal.c (__libc_fatal): Likewise.
	* sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise.
	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Likewise.
	* elf/Versions (libc): Export __libc_dlopen_mode@@GLIBC_PRIVATE,
	__libc_dlsym@@GLIBC_PRIVATE and __libc_dlclose@@GLIBC_PRIVATE.
	* libio/Versions (libc): Export __libc_fatal@@GLIBC_PRIVATE.
	* sysdeps/generic/unwind-dw2.c: Readd #ifs removed during last
	change.
	* sysdeps/generic/unwind.inc: Removed.
2003-07-22 23:56:53 +00:00
Ulrich Drepper
7e939b2198 Update.
* sysdeps/unix/sysv/linux/bits/sched.h (CLONE_STOPPED): Define.
2003-07-22 03:43:27 +00:00
Ulrich Drepper
ca86a76366 Update.
2003-07-21  HJ Lu  <hongjiu.lu@intel.com>

	* elf/ldconfig.c (search_dir): Treat symlink as regular file
	if it won't point to itself.
2003-07-21 20:17:47 +00:00
Ulrich Drepper
80f536dbf2 Update.
2003-07-20  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (libpthread-routines): Add pthread_attr_getaffinity and
	pthread_attr_setaffinity.
	* Versions [libpthread] (GLIBC_2.3.3): Likewise.
	* sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c: New file.
	* sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c: New file.
	* pthread_attr_destroy.c: Free cpuset element if allocated.
	* pthread_create.c: Pass iattr as additional parameter to
	create_thread.
	* sysdeps/pthread/createthread.c: If attribute is provided and
	a new thread is created with affinity set or scheduling parameters,
	start thread with CLONE_STOPPED.
	* sysdeps/pthread/pthread.h: Declare pthread_attr_getaffinity and
	pthread_attr_setaffinity.
	* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_attr): Add
	cpuset element.
2003-07-20 08:56:05 +00:00
Ulrich Drepper
7329994338 Update.
More cancellation handling fixups.
	* sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel.
	* sysdeps/generic/not-cancel.h: Likewise.
	* catgets/open_catalog.c: Use not-cancelable syscalls.
	* time/Makefile (CFLAGS-getdate.c): Add -fexceptions.
	* sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable.
	* sysdeps/unix/syscalls.list: Don't mark lseek as cancelable.
	* dlfcn/dlfcn.h: Mark dlopen with __THROW again.
	* io/fcntl.h: Don't mark posix_fallocate with __THROW.
	* libio/fileops.c: Use not-cancelable syscalls for fclose.
	* libio/iopopen.c: Use no-cancelable syscalls.
	* libio/stdio.h: Mark popen and pclose with __THROW again.
	* misc/Makefile (CFLAGS-syslog.c): Add -fexceptions.
	* misc/syslog.c: Fix locking and cancellation cleanup handling.
	* posix/unistd.h: Mark ttyname and ttyname_r again with __THROW.
	* stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c,
	CFLAGS-tempname.c): Add -fexceptions.
	* stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions.
	* string/string.h: Mark strerror and strerror_r with _THROW again.
	* sysdeps/generic/unwind.inc: New file.  Copied from gcc.
	* sysdeps/generic/unwind-dw2.c: Update from gcc version.  Remove
	#ifs since we now need all the code compiled.
	* sysdeps/posix/spawni.c: Use close_not_cancel instead of close.
	* sysdeps/unix/closedir.c: Use not-cancelable syscalls.
	* sysdeps/unix/opendir.c: Likewise.
2003-07-15 07:52:52 +00:00
Ulrich Drepper
da35d15e2b Update.
2003-07-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/configure.in: Require CFI directives also for
	ppc and s390.
2003-07-15 04:34:40 +00:00
Ulrich Drepper
75540d8ad4 Update.
2003-07-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Fix typo
	in test for compilation in libc.
2003-07-14 23:05:23 +00:00
Ulrich Drepper
4a17085f15 Update.
2003-07-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/socket.S: Save and restore the PR
	register across CENABLE and CDISABLE.
2003-07-12 01:29:23 +00:00
Ulrich Drepper
6080ecdf3c Update.
* sysdeps/unix/sysv/linux/sigwait.c: Include string.h.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sleep.c (__sleep): Cast value to unsigned
	int before assigning to max to avoid warnings.

2003-07-11  Jakub Jelinek  <jakub@redhat.com>
2003-07-11 22:50:16 +00:00
Ulrich Drepper
da0c02eee1 Update.
2003-07-08  Jakub Jelinek  <jakub@redhat.com>

	* pthreadP.h (__pthread_unwind_next, __pthread_register_cancel,
	__pthread_unregister_cancel): Add prototypes and hidden_proto.
	* unwind.c (__pthread_unwind_next): Add hidden_def.
	* cleanup.c (__pthread_register_cancel, __pthread_unregister_cancel):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (__new_sem_wait):
	Use HIDDEN_JUMPTARGET to jump to __pthread_unwind.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S (sem_wait): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once): Use
	HIDDEN_JUMPTARGET to call __pthread_register_cancel,
	__pthread_unregister_cancel and __pthread_unwind_next.
2003-07-08 21:08:13 +00:00
Ulrich Drepper
57a5ea0215 Update.
2003-07-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/s390/s390-32/elf/start.S: Emit position independent code
	if PIC.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.

2003-07-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/powerpc64/elf/start.S: Put L(start_address)
	into .data.rel.ro.local section if PIC to avoid DT_TEXTREL.
2003-07-08 03:49:44 +00:00
Ulrich Drepper
d810b3584c Update.
2003-07-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Version
	__ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible.

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for
	compilation with HAVE_AUX_SECURE defined.
2003-07-08 03:42:49 +00:00
Ulrich Drepper
db54f488ee Update.
2003-07-07  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Add pid field.
	* allocatestack.c (allocate_stack): Initialize pid field in descriptor.
	(__reclaim_stacks): Likewise.
	* init.c (sigcancel_handler): If __ASSUME_CORRECT_SI_PID is defined
	also check for PID of the signal source.
	(__pthread_initialize_minimal_internal): Also initialize pid field
	of initial thread's descriptor.
	* pthread_cancel.c: Use tgkill instead of tkill if possible.
	* sysdeps/unix/sysv/linux/fork.c: Likewise.
	* sysdeps/unix/sysv/linux/pt-raise.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
	* sysdeps/unix/sysv/linux/raise.c: Likewise.
2003-07-08 03:40:49 +00:00
Ulrich Drepper
5e497a4142 Update.
2003-07-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__libc_cleanup_push): Renamed.
	Fix use of parameter.
	(__libc_cleanup_pop): Likewise.
2003-07-05 07:26:41 +00:00
Ulrich Drepper
86a0c4fafb Update.
2003-07-04  Ulrich Drepper  <drepper@redhat.com>

	* init.c (sigcancel_handler): Change parameters to match handler
	for SA_SIGACTION.  Check signal number and code to recognize
	invalid invocations.
2003-07-05 06:25:25 +00:00
Roland McGrath
65984e9839 2003-07-03 Roland McGrath <roland@redhat.com>
* sysdeps/ia64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr):
	Apply sizeof (struct pthread) bias to r13 value.
2003-07-03 23:55:19 +00:00
Ulrich Drepper
a916cb664b CFI is only really required (so far) for x86 and hammer. 2003-07-03 22:34:29 +00:00
Ulrich Drepper
fbd90f6c25 Update.
2003-07-03  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Also check for .cfi_rel_offset pseudo-op.
2003-07-03 21:08:05 +00:00
Ulrich Drepper
56421b23d7 Update.
2003-07-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/librt-cancellation.c (__pthread_unwind): Remove
	definition.
	* pthreadP.h (__pthread_unwind): Add hidden_proto if used in
	libpthread compilation.
	* unwind.c (__pthread_unwind): Add hidden_def.
	* Versions (libpthread) [GLIBC_PRIVATE]: Add __pthread_unwind.
2003-07-03 07:37:59 +00:00
Ulrich Drepper
ca2b4cd7b1 Update.
2003-07-01  Ulrich Drepper  <drepper@redhat.com>

	* libc-cancellation.c (__libc_cleanup_routine): Define.
	* sysdeps/pthread/bits/libc-lock.h (__pthread_cleanup_push): Define.
	(__pthread_cleanup_pop): Define.
2003-07-02 05:13:15 +00:00
Ulrich Drepper
f036e569ac Update.
2003-07-01  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/pt-initfini.c: New file.
	* sysdeps/alpha/pthread_spin_lock.S: New file.
	* sysdeps/alpha/pthread_spin_trylock.S: New file.
	* sysdeps/alpha/pthreaddef.h: New file.
	* sysdeps/alpha/td_ta_map_lwp2thr.c: New file.
	* sysdeps/alpha/tls.h: New file.
	* sysdeps/unix/sysv/linux/alpha/Makefile: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/alpha/createthread.c: New file.
	* sysdeps/unix/sysv/linux/alpha/fork.c: New file.
	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/alpha/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: New file.
2003-07-01 20:23:15 +00:00
Ulrich Drepper
3b985826ca Update.
2003-07-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Add correct
	cleanup support and unwind info.
2003-07-01 17:02:15 +00:00
Ulrich Drepper
96c814d3d8 Update.
* sysdeps/unix/sysv/linux/unwindbuf.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile: Add rule to build unwindbuf.h.
2003-07-01 03:33:06 +00:00
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
e479cc8e4c Update.
2003-06-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/configure.in: Check for C cleanup handling in gcc.
2003-06-29 23:01:49 +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
4ae89108d3 Move __pthread_unwind definition to the front. 2003-06-27 06:59:36 +00:00
Ulrich Drepper
63b9245a11 (class __pthread_cleanup_class): Add missing closing braces. 2003-06-26 01:13:19 +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
4165d44d70 Update.
* include/time.h: Define CLOCK_IDFIELD_SIZE.
	* sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new
	clock id for thread CPU clocks.
2003-06-25 00:00:50 +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
f0a91bb426 Bump to 0.46. 2003-06-14 16:47:07 +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
Roland McGrath
0597618676 2003-06-13 Roland McGrath <roland@redhat.com>
* sysdeps/x86_64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Pass FS
	constant from <sys/reg.h> to ps_get_thread_area, not register contents.
2003-06-13 07:30:47 +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
49b650430e Update.
2003-05-31  Ulrich Drepper  <drepper@redhat.com>

	* libio/fileops.c (_IO_file_open): Don't mark as inline.

	* sysdeps/ia64/elf/initfini.c ((gmon_initializer): Mark with
	attribute used.
2003-05-31 07:50:12 +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
5a77f1501d Update.
2003-05-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread_cond_broadcast.c
	(__pthread_cond_broadcast): Fix typo: MAX_INT -> INT_MAX.
2003-05-29 05:28:16 +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
e55674c65e (TLS_INIT_TP): Include \n in error message. 2003-05-06 05:40:11 +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
9a7178d611 Update.
2003-05-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tls.h: Define THREAD_ID.
	* 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.
	* pthread_mutex_lock.c: Use THREAD_ID instead of THREAD_SELF to
	record ownership.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	* pthread_rwlock_trywrlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlocklock_rdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
	* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.

	* sysdeps/pthread/createthread.c (create_thread): Use CLONE_SYSVSEM
	flag.
2003-05-01 23:19:51 +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
Ulrich Drepper
69278ade4a (__SIZEOF_PTHREAD_COND_T): Define to 48. (pthread_rwlock_t): Add 16 bytes of pad instead of 8 before __flags. 2003-05-01 07:12:52 +00:00
Ulrich Drepper
468777e1d0 Update.
* pthread.c (__pthread_initialize_manager): Subtract
	TLS_PRE_TCB_SIZE bytes from tcbp to get to descr.
	* manager.c (pthread_handle_create): Subtract or add TLS_PRE_TCB_SIZE
	instead of sizeof (pthread_descr).
	(pthread_free): Add TLS_PRE_TCB_SIZE instead of sizeof (pthread_descr).
	* sysdeps/powerpc/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Define to 0.
2003-04-25 22:28:13 +00:00
Ulrich Drepper
299601a1ef Update.
2003-04-22  Jakub Jelinek  <jakub@redhat.com>

	* include/link.h (NO_TLS_OFFSET): Define to 0 if not defined.
	* elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET.
	* elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to
	NO_TLS_OFFSET.
	* elf/rtld.c (_dl_start_final, _dl_start): Likewise.
	* elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise.
	* sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract
	TLS_TCB_SIZE.
2003-04-25 09:12:43 +00:00
Ulrich Drepper
6a87ee1943 Update.
* signal/sigfillset.c: Moved to...
	* sysdeps/generic/sigfillset.c: ...here.  If SIGCANCEL is defined
	do not set the corresponding bit.
2003-04-21 07:48:10 +00:00
Ulrich Drepper
e7608d7789 Update.
2003-04-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sigprocmask.c: Prevent changing mask for
	SIGCANCEL.
	* sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_TKILL.
	* sysdeps/unix/sysv/linux/bits/siginfo.h: Define SI_TKILL.
	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Define SI_TKILL.
	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Define SI_TKILL.
	* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Define SI_TKILL.

	first syscall parameter to const char*.
2003-04-21 07:39:20 +00:00
Ulrich Drepper
58a7a3257f Update.
* configure.in: Add AC_PROG_CXX.
	* config.make.in (CXX): Define.
2003-04-19 20:15:36 +00:00
Ulrich Drepper
4e648ea3ad Update.
* stdlib/cxa_finalize.c (__cxa_finalize): Don't call
	UNREGISTER_ATFORK if d == NULL.
2003-04-19 18:26:10 +00:00
Ulrich Drepper
2c008571c3 Update.
2003-04-19  Ulrich Drepper  <drepper@redhat.com>

	* catgets/nl_types.h: Remove __THROW marker from cancellation points.
	* dirent/dirent.h: Likewise.
	* dlfcn/dlfcn.h: Likewise.
	* grp/grp.h: Likewise.
	* iconv/iconv.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/ftw.h: Likewise.
	* libio/stdio.h: Likewise.
	* misc/sys/mman.h: Likewise.
	* misc/sys/select.h: Likewise.
	* misc/sys/syslog.h: Likewise.
	* misc/sys/uio.h: Likewise.
	* posix/spawn.h: Likewise.
	* posix/unistd.h: Likewise.
	* posix/sys/wait.h: Likewise.
	* pwd/pwd.h: Likewise.
	* resolv/netdb.h: Likewise.
	* rt/aio.h: Likewise.
	* shadow/shadow.h: Likewise.
	* signal/signal.h: Likewise.
	* socket/sys/socket.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* streams/stropts.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/gnu/utmpx.h: Likewise.
	* sysvipc/sys/msg.h: Likewise.
	* termios/termios.h: Likewise.
	* time/time.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable
	functions.
	* misc/daemon.c: Likewise.
	* sysdeps/generic/backtracesymsfd.c: Likewise.
	* sysdeps/generic/check_fds.c: Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
	* sysdeps/unix/sysv/linux/not-cancel.h: New file.
	* sysdeps/generic/not-cancel.h: New file.
	* csu/Makefile (distribute): Add not-cancel.h.
	* sysdeps/unix/sysv/linux/fatal-prepare.h: New file.
	* sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE
	for assert.c and assert-perr.c to include <fatal-prepare.h>.
	* sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h.

	* sysdeps/posix/remove.c (remove): Rewrite.  No need to restore
	errno and unlink first.

	* io/ftw.c (ftw_dir): In all places assume fchdir is available.

2003-04-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use
	INTERNAL_SYSCALL instead of INLINE_SYSCALL.
2003-04-19 16:57:17 +00:00
Ulrich Drepper
76a67697c8 Update.
* sysdeps/pthread/pthread.h: Don't mark pthread_testcancel,
	pthread_cancel, pthread_setcancelstate, and pthread_setcanceltype with
2003-04-18 08:08:11 +00:00
Ulrich Drepper
7d74651eb0 Update.
2003-04-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h: Don't mark pthread_testcancel with
	__THROW.
2003-04-18 08:01:53 +00:00
Ulrich Drepper
18ddd3aa66 Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Don't
2003-04-14 21:55:10 +00:00
Ulrich Drepper
359091616d Update.
2003-04-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Don't
	overflow CFA advance instructions.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
2003-04-14 21:38:45 +00:00
Ulrich Drepper
bd4f43b462 Update.
2003-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/i486/bits/atomic.h: Rename LOCK to LOCK_PREFIX.
	* sysdeps/x86_64/bits/atomic.h: Likewise.

2003-04-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Change PUSHARGS_1 and
	POPARGS_1 to emit labels for the mov instructions.

2003-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (ret_NOERRNO): Define.
2003-04-14 17:30:34 +00:00
Ulrich Drepper
18a8e730da Update.
2003-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Use
	DW_CFA_advance_loc2 for .Laddl-.Lsubl.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Use
	DW_CFA_advance_loc for .Laddl-.Lsubl.

	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Don't use
	position-independent unwind data for static libraries.
	Add missing unwind info.  Add comments.
2003-04-14 16:43:20 +00:00
Ulrich Drepper
11cb564e58 Use DW_CFA_advance_loc2 for .Laddl-.Lsubl. 2003-04-14 16:42:09 +00:00
Ulrich Drepper
39a46c42f5 Update.
2003-04-14  Ulrich Drepper  <drepper@redhat.com>

	* string/strxfrm.c (STRXFRM): Terminate rulearr at correct
	position.  Reported by jreiser@BitWagon.com.
2003-04-14 07:03:40 +00:00
Ulrich Drepper
4ae7142df2 Add missing unwind info. Add comments. 2003-04-14 02:52:46 +00:00
Ulrich Drepper
ad2be8527a Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Add unwind info.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
2003-04-13 08:36:19 +00:00
Ulrich Drepper
08c765fa6e Update.
2003-04-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Add
	unwind info.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.

	* Makefile: Make sure all cancellation points are compiled with
	exception and asynchronous unwind tables.
2003-04-13 08:04:46 +00:00
Ulrich Drepper
177d1ad3ac Update.
2003-04-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tls.h (THREAD_SETMEM): Word around compiler bug
	which mishandles loading of global object addresses in PIC.
	(THREAD_SETMEM_NC): Likewise.
2003-04-12 20:32:01 +00:00
Ulrich Drepper
68107ec092 Update.
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
2003-04-12 08:38:14 +00:00
Ulrich Drepper
09d65ff393 Update.
2003-04-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling.
	Remove HAVE_CANCELBUF code.  Replace with code using the new
	initializers for unwind-based cleanup handling.
	* sysdeps/generic/unwind.h: Update from latest gcc version.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few
	places to allow unwind data generation.
	* sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times.
	* sysdeps/x86_64/bits/setjmp.h: Likewise.
	* sysdeps/sh/bits/setjmp.h: Likewise.
	* sysdeps/powerpc/bits/setjmp.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise.
	* sysdeps/alpha/bits/setjmp.h: Likewise.
2003-04-12 00:58:26 +00:00
Ulrich Drepper
88ff4759ac Update.
2003-04-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Reset CPU clocks
	in child.
2003-04-10 16:46:27 +00:00
Ulrich Drepper
9afe496416 Update.
* sysdeps/pthread/pthread.h: Remove duplicate
	pthread_cleanup_{push,pop} definitions.
2003-04-08 20:24:21 +00:00
Ulrich Drepper
54e0138f7f Update.
2003-04-05  Ulrich Drepper  <drepper@redhat.com>

	* malloc/thread-m.h [PTHREAD_MUTEX_INITIALIZER]: If
	HAVE_register_atfork_malloc is defined use __register_atfork_malloc
	instead of __register_atfork.
2003-04-05 09:36:56 +00:00
Ulrich Drepper
b22d701bb7 Update.
2003-04-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/createthread.c (create_thread): Add some more
	comments explaining when to set multiple_threads and when not.

	* pthreadP.h: Define THREAD_ATOMIC_CMPXCHG_VAL and
	THREAD_ATOMIC_BIT_SET if not already defined.
	* sysdeps/i386/tls.h: Define THREAD_ATOMIC_CMPXCHG_VAL and
	THREAD_ATOMIC_BIT_SET:
	* sysdeps/x86_64/tls.h: Likewise.
	* cleanup_defer.c (_pthread_cleanup_push_defer): Rewrite to use
	THREAD_ATOMIC_CMPXCHG_VAL.
	(_pthread_cleanup_pop_restore): Likewise.
	* cancellation.c (__pthread_enable_asynccancel): Likewise.
	(__pthread_enable_asynccancel_2): Likewise.
	(__pthread_disable_asynccancel): Likewise.
	* libc-cancellation.c (__libc_enable_asynccancel): Likewise.
	(__libc_disable_asynccancel): Likewise.
	* init.c (sigcancel_handler): Likewise.
	* pthread_setcancelstate.c (__pthread_setcancelstate): Likewise.
	* pthread_setcanceltype.c (__pthread_setcanceltype): Likewise.
2003-04-05 05:21:15 +00:00
Ulrich Drepper
bb9e7c828f Undo last change. 2003-04-02 04:57:15 +00:00
Ulrich Drepper
211d90c524 Update.
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_mutex_lock):
	Use atomic_exchange_and_add instead of __lll_add.
	(__lll_mutex_timedlock): Likewise.
	Patch by Ian Wienand.

2003-03-24  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
	(SINGLE_THREAD_P): Fix typo.
	* tst-cancel-wrappers.sh: Handle '.'ed symbols.

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

	* Makefile (tests): Add tst-align.
	* tst-align.c: New file.
	* sysdeps/i386/Makefile: Define CFLAGS-tst-align.
	* sysdeps/x86_64/Makefile: Likewise.

	* tst-tsd2.c: Add casts to avoid warnings.
2003-04-01 01:24:00 +00:00
Ulrich Drepper
f877b33831 (CALL_THREAD_FCT): Align stack of called function correctly. 2003-04-01 00:53:02 +00:00
Ulrich Drepper
9f292c2439 Fix comment. 2003-03-31 18:43:29 +00:00
Ulrich Drepper
cbbb4b6ccc Fix comment. 2003-03-31 18:42:30 +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
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
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
2ec5130254 Fix offset of cleanupbuf.__prev. 2003-03-27 12:43:08 +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
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
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
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
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
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
Ulrich Drepper
00bd9cc9ab Remove unnecessary instruction in case clock_gettime isn't available. 2003-03-19 02:27:27 +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
24a49f38ad Update.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(pthrad_cond_t): Replace __unused field with __clock.

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

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

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

	* sysdeps/generic/libc-start.c [!SHARED &&
	!LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly.
2003-03-18 01:56:11 +00:00
Ulrich Drepper
09044a7360 pthread_spin_unlock implementation for Linux/i386. 2003-03-18 01:52:02 +00:00
Roland McGrath
5bfd37b634 2003-03-17 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait):
	Formatting tweaks.
2003-03-18 01:21:42 +00:00
Ulrich Drepper
f911cc4a74 (lll_unlock_wake_cb): Correct last patch. (__lll_timedwait_tid): Don't check abstime for NULL pointer. 2003-03-18 00:50:30 +00:00
Ulrich Drepper
bd0fa4cefd Add __builtin_expect where appropriate. 2003-03-18 00:31:30 +00:00
Roland McGrath
de4471dd55 PowerPC port contributed by Paul Mackerras <paulus@samba.org>.
* sysdeps/pthread/pthread_spin_init.c: New file.
	* sysdeps/pthread/pthread_spin_unlock.c: New file.
	* sysdeps/powerpc/Makefile: New file.
	* sysdeps/powerpc/pthread_spin_lock.c: New file.
	* sysdeps/powerpc/pthread_spin_trylock.c: New file.
	* sysdeps/powerpc/pthreaddef.h: New file.
	* sysdeps/powerpc/tcb-offsets.sym: New file.
	* sysdeps/powerpc/td_ta_map_lwp2thr.c: New file.
	* sysdeps/powerpc/tls.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sem_trywait.c: New file.
	* sysdeps/unix/sysv/linux/sem_wait.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: New file.
	* sysdeps/unix/sysv/linux/powerpc/createthread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/fork.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file.

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.c: Use __gettimeofday,
	not gettimeofday.
	* sysdeps/unix/sysv/linux/ia64/lowlevelmutex.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
2003-03-17 11:25:18 +00:00
Roland McGrath
f3c13160fe 2003-03-17 Roland McGrath <roland@redhat.com>
PowerPC port contributed by Paul Mackerras <paulus@samba.org>.
	* sysdeps/pthread/pthread_spin_init.c: New file.
	* sysdeps/pthread/pthread_spin_unlock.c: New file.
	* sysdeps/powerpc/Makefile: New file.
	* sysdeps/powerpc/pthread_spin_lock.c: New file.
	* sysdeps/powerpc/pthread_spin_trylock.c: New file.
	* sysdeps/powerpc/pthreaddef.h: New file.
	* sysdeps/powerpc/tcb-offsets.sym: New file.
	* sysdeps/powerpc/td_ta_map_lwp2thr.c: New file.
	* sysdeps/powerpc/tls.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sem_trywait.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: New file.
	* sysdeps/unix/sysv/linux/powerpc/createthread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/fork.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file.
2003-03-17 11:22:52 +00:00
Ulrich Drepper
46a32546c9 Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* sysdeps/i386/tcb-offsets.sym: Add SELF.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Use SELF
	to access own pthread_t in TCB.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
2003-03-11 05:52:12 +00:00
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
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
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
Ulrich Drepper
f49d640711 Lowlevel lock definitions for x86-64/Linux. 2003-03-10 09:26:20 +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