Commit Graph

119 Commits

Author SHA1 Message Date
Ulrich Drepper
1b6f6a92e3 Update.
2003-10-02  Jeroen Dekkers  <jeroen@dekkers.cx>

	* sysdeps/mach/hurd/malloc-machine.h: Copy the tsd code from
        the old thread-m.h header too.
2003-10-02 18:56:20 +00:00
Ulrich Drepper
c9c60884af Update.
2003-09-24  Ulrich Drepper  <drepper@redhat.com>
	* configure.in: Check for -fpie and -pie compiler options.
	* config.make.in (have-fpie): Define.
	* sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h: Removed.
	* sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h: Removed.
2003-09-24 08:33:01 +00:00
Ulrich Drepper
54ee14b388 Update.
2003-09-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions [libc]
	(GLIBC_2.3.3): Add setcontext, getcontext, swapcontext, and
	makecontext.
	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct change
	for include Altivec support for PPC32.  It was not compatible.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: Adjust
	offsets for ucontext_t change.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Adjust
	for ucontext_t change.  Add compatibility code.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
	Patch by Paul Mackerras <paulus@samba.org>.

2003-02-25  Randolph Chung  <tausq@debian.org>

	* sysdeps/hppa/Makefile: Include compat code in build.
	* sysdeps/hppa/libgcc-compat.c: New file.
	* sysdeps/hppa/Dist: Add libgcc-compat.c.
	* sysdeps/hppa/Versions [GLIBC_2.2]: Add __clz_tab.
2003-09-24 03:22:56 +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
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
a4db3439f1 Update.
2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu
	subdir, add -mpreferred-stack-boundary=4, with few exceptions.

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

	* Makeconfig (stack-align-test-flags): Set.
	* stdlib/Makefile (CFLAGS-tst-bsearch.c): Add
	$(stack-align-test-flags).
	* stdlib/tst-bsearch.c: Include tst-stack-align.h.
	(align_check): New var.
	(comp): Use TEST_STACK_ALIGN macro.
	(do_test): Fail if align_check != 1.
	* sysdeps/generic/tst-stack-align.h: New file.
	* sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse.
	* sysdeps/i386/i686/tst-stack-align.h: New file.
2003-09-17 08:47:44 +00:00
Ulrich Drepper
e07bb02a4f Update.
2003-09-15  Jakub Jelinek  <jakub@redhat.com>

	* argp/argp.h (argp_parse, __argp_parse): Remove __THROW.
	* argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add
	$(uses-callbacks).
	* dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise.
	* elf/Makefile (CFLAGS-dl-iterate-phdr.c,
	CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks).
	* elf/dl-iteratephdr.c (cancel_handler): New function.
	(__dl_iterate_phdr): Add __libc_cleanup_{push,pop}.
	* elf/link.h (dl_iterate_phdr): Remove __THROW.
	* io/Makefile (CFLAGS-fts.c): Merge into one assignment.
	Add $(uses-callbacks).
	(CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks).
	* misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change
	$(exceptions) to $(uses-callbacks).
	* Makeconfig (uses-callbacks): Set to $(exceptions).
	* posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add
	$(uses-callbacks).
	* stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c):
	Likewise.
2003-09-16 05:54:09 +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
c874a32e88 Update.
2003-09-01  Jakub Jelinek  <jakub@redhat.com>

	* Makefile (tests): Add tst-tls1.
	(module-names): Add tst-tls1mod{,a,b,c,d,e,f}.
	($(objpfx)tst-tls1mod{,a,b,c,d,e,f}.so-no-z-defs): Set to yes.
	($(objpfx)tst-tls1): New.
	($(objpfx)tst-tls2.out): Likewise.
	(tests): Depend on $(objpfx)tst-tls2.out.
	* tst-tls1.c: New test.
	* tst-tls1.h: New.
	* tst-tls1mod.c: New.
	* tst-tls1moda.c: New.
	* tst-tls1modb.c: New.
	* tst-tls1modc.c: New.
	* tst-tls1modd.c: New.
	* tst-tls1mode.c: New.
	* tst-tls1modf.c: New.
	* tst-tls2.sh: New test.
2003-09-02 00:33:28 +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
adc12574e5 Update.
2003-07-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value,
	call dl_signal_error directly.  If already relocated, call
	GL(dl_init_static_tls) directly, otherwise queue it for later.
	(CHECK_STATIC_TLS): Undo 2003-07-24 change.
	* elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls).
	* elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls
	for all static TLS initializations delayed in _dl_allocate_static_tls.
	* elf/dl-support.c (_dl_init_static_tls): New variable.
	* include/link.h (struct link_map): Add l_need_tls_init.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls.
	(_dl_nothread_init_static_tls): New prototype.
	(_dl_allocate_static_tls): Adjust prototype.

	* elf/tls-macros.h (VAR_INT_DEF): Add alignment directive.

	elf_machine_rela_relative): Adjust.
	(CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
2003-07-31 07:42:20 +00:00
Roland McGrath
5181d776e8 * elf/Makefile (tests) [$(build-shared) = yes]:
Depend on $(test-modules).
	* dlfcn/Makefile: Likewise.
2003-07-29 08:36:30 +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
0e9d624072 Update.
2003-07-22  Jakub Jelinek  <jakub@redhat.com>

	* include/resolv.h (__resp): Declare.  Define to __libc_resp
	if in libc.so.
	(_res): If USE___THREAD, define to (*__resp).
	* resolv/res_libc.c (_res): Normal .bss variable with compat_symbol
	even if USE___THREAD.
	(__resp): New __thread variable.
	(__libc_resp): New alias.
	* resolv/Versions (libc): Export _res@GLIBC_2.0 even if
	USE_TLS && HAVE___THREAD.  Export __resp@@GLIBC_PRIVATE.
	* sysdeps/generic/res-state.c (__res_state): Return __resp
	if USE___THREAD.
2003-07-22 23:10:17 +00:00
Ulrich Drepper
1a379ea0c7 Update.
2003-07-21  Ulrich Drepper  <drepper@redhat.com>

	* Makerules (build-module-helper): Add -z defs unless explicitly said
	not to do it.
	* dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs
	which has undefined symbols.
	* elf/Makefile: Likewise.
2003-07-21 22:40:24 +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
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
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
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
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
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
f23b30e23b Update.
2003-06-17  Jakub Jelinek  <jakub@redhat.com>

	* posix/regcomp.c (build_word_op): Use alnum instead of alpha class.
2003-06-17 22:40:05 +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
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
0e0deb0360 Update.
* Makefile: Add CFLAGS definition to compile function wrappers
	duplicated from libc with exceptions.
	* tst-cancel4.c: Also check cancellation handlers.
2003-06-16 19:39:00 +00:00
Ulrich Drepper
4cfde89657 Update.
2003-06-16  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (dl_main): Use l_map_start not l_addr in Phdr
	computation so that prelinking wroks.

	* inet/netinet/ip6.h (IP6OPT_PAD1, IP6OPT_PADN): Define.
2003-06-16 07:39:03 +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
8d74bceb3e (CFLAGS-pthread_cancel.c): Define. 2003-06-06 07:51:02 +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
Ulrich Drepper
6f1acb30c1 Update.
* test-skeleton.c (main): Request getopt to not reorder the
	command line.
2003-06-01 18:07:34 +00:00
Ulrich Drepper
dcfc822431 Update.
* Makefile (tests): Add tst-sem8 and tst-sem9.
	* tst-sem8.c: New file.
	* tst-sem9.c: New file.
	* sem_open.c: Fix creation of in_use record if the file exists but
	no internal record.
2003-05-31 19:58:46 +00:00
Ulrich Drepper
586d174837 Update.
* Makefile (tests): Add tst-signal6.
	* tst-signal6.c: New file.
2003-05-30 06:03:38 +00:00
Ulrich Drepper
fddfebbd10 Update.
2003-05-17  Ulrich Drepper  <drepper@redhat.com>

	* sem_open.c: Fix one endless loop.  Implement correct semantics
	wrt opening the same semaphore more then once.
	* sem_close.c: Adjust for sem_open change.
	* semaphoreP.h: Include <semaphore.h>.  Define struct inuse_sem.
	Declare __sem_mappings, __sem_mappings_lock, __sem_search.
	* Makefile (tests): Add tst-sem7.
	* tst-sem7.c: New file.
2003-05-17 20:53:32 +00:00
Ulrich Drepper
855dba3ccb Update.
2003-05-14  Ulrich Drepper  <drepper@redhat.com>

	* Makefile ($(objpfx)$(multidir)): Add rule to create the directory.
2003-05-14 23:26:21 +00:00
Ulrich Drepper
81f3ac4c9a Update.
2003-05-14  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (dl_main): For LD_TRACE_PRELINKING print search scope
	even if no DT_NEEDED is present.
2003-05-14 21:40:32 +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
Roland McGrath
c6696b7957 * csu/Makefile ($(csu-dummies) target rule): Don't use a temp C file.
Depend on $(before-compile).
2003-05-04 23:27:34 +00:00
Roland McGrath
5fadaa045c 2003-04-26 Roland McGrath <roland@redhat.com>
* Makefile ($(test-modules)): Depend on $(common-objpfx)shlib.lds.
2003-04-28 10:34:34 +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
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
Roland McGrath
49916ec40a 2003-04-11 Roland McGrath <roland@redhat.com>
* Makefile ($(objpfx)multidir.mk): New target, generated makefile that
	sets variable `multidir'; include that.
	(generated): Add it.
	($(objpfx)$(multidir)/crti.o): New target.
	[$(multidir) != .] (generated-dirs, extra-objs, omit-deps): Add it.
2003-04-12 00:00:30 +00:00
Ulrich Drepper
b2041097f6 Update.
2003-04-09  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (tests): Add tst-detach1.
	* tst-detach1.c: New file.
2003-04-09 14:40:34 +00:00
Ulrich Drepper
86246935da Update.
2003-04-03  Ulrich Drepper  <drepper@redhat.com>

	* init.c (sigcancel_handler): Don't set EXITING_BIT here.
	* libc-cancellation.c (__libc_enable_asynccancel): Likewise.
	* pthreadP.h (__do_cancel): Set EXITING_BIT here.
	* Makefile (tests): Add tst-cancel11.
	* tst-cancel11.c: New file.
2003-04-04 07:59:55 +00:00
Ulrich Drepper
14c65d07e7 (tests): Add tst-tsd4. 2003-04-02 04:00:15 +00:00
Ulrich Drepper
6b4686a534 Update.
2003-04-01  Ulrich Drepper  <drepper@redhat.com>

	* pthread_create.c (deallocate_tsd): Clear/free memory after the last
	round, not the first.  Use specific_used flag instead of local
	found_nonzero variable.  Use THREAD_[SG]ETMEM where possible.
	(__free_tcb): Don't call deallocate_tsd here.
	(start_thread): Call deallocate_tsd here.
	* pthread_setspecific.c: Set specific_used flag really only when
	needed.
	* Makefile (tests): Add tst-tsd3.c
	* tst-tsd3.c: New file.
2003-04-02 03:51:24 +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
cc4f0dde88 (libpthread-routines): Add pthread_atfork. (libpthread-static-only-routines): Add pthread_atfork. 2003-03-29 08:30:34 +00:00
Ulrich Drepper
ac9e0aa1b0 Update.
* Makefile (tests): Add tst-cond11.
	* tst-cond11.c: New file.
2003-03-19 00:38:11 +00:00
Ulrich Drepper
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
Roland McGrath
415ef7d893 * allocatestack.c (__stack_user): Use hidden_data_def.
* pthread_create.c (__pthread_keys): Likewise.

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

	* tst-fork4.c: New file.
	* Makefile (tests): Add it.
2003-03-14 23:12:09 +00:00