Commit Graph

981 Commits

Author SHA1 Message Date
Ulrich Drepper bb606fbeaf Update.
2003-08-25  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c (do_test): Also unlink tempfname and remove
	tempmsg in first loop.
2003-08-25 17:30:35 +00:00
Ulrich Drepper ee4e5a3db1 Update.
2003-08-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/shm_open.c (shm_open): Fold EISDIR error
	into EINVAL.
2003-08-19 06:15:56 +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 a30fb2df74 Update.
2003-08-06  Jakub Jelinek  <jakub@redhat.com>

	* tst-cancel17.c (do_test): Make len2 maximum of page size and
	PIPE_BUF.
2003-08-08 07:11:21 +00:00
Jakub Jelinek ce0d30a058 * pthread_create.c (__pthread_create_2_0): Clear new_attr.cpuset. 2003-08-07 00:09:55 +00:00
Jakub Jelinek ca85ede014 (__pthread_create_2_0): Clear new_attr.cpuset. 2003-08-07 00:09:47 +00:00
Ulrich Drepper 5700e886e3 Bump to 0.56. 2003-08-04 22:24:17 +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
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 a7f6c66ec3 * rt/tst-timer2.c: New file.
* rt/Makefile (tests): Add it.
2003-07-29 09:32:03 +00:00
Roland McGrath 172ce013bd * elf/dl-support.c (_dl_hwcap): Add nocommon attribute. 2003-07-29 08:57:15 +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 7b787f8516 Update.
2003-07-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/aio_cancel.c (aio_cancel): Return AIO_ALLDONE
	if aiocbp != NULL and has already completed.  Return -1/EINVAL if
	aiocbp->aio_fildes does not match fildes.
2003-07-25 07:56:33 +00:00
Ulrich Drepper 6bc0b95489 Update.
2003-07-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/lio_listio.c (LIO_OPCODE_BASE): Define.
	(lio_listio): Use it.
	* sysdeps/pthread/lio_listio64.c: Include lio_listio.c instead of
	after few defines to avoid duplication.
2003-07-23 18:50:26 +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 7e939b2198 Update.
* sysdeps/unix/sysv/linux/bits/sched.h (CLONE_STOPPED): Define.
2003-07-22 03:43:27 +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 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
Ulrich Drepper a1ed6b4cab (sigcancel_handler): Change parameters to match handler for SA_SIGACTION. Check signal number and code to recognize invalid invocations. 2003-07-05 06:18:19 +00:00
Roland McGrath bdbecaa3f1 * sysdeps/ia64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr):
Apply sizeof (struct pthread) bias to r13 value.
2003-07-03 23:55:28 +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 1418bf990e Update.
2003-07-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_CLKTCK):
	Define.
	* sysdeps/unix/sysv/linux/prof-freq.h: New file.
2003-07-03 08:51:46 +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 999a0fc1b9 Bump to 0.50. 2003-06-27 19:48:13 +00:00
Ulrich Drepper 483e95d09b Update.
* tst-cancel4.c (tf_msgrcv): Use IPC_PRIVATE in msgget call.
	(tf_msgsnd): Likewise.
2003-06-27 17:53:52 +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 0af6a1d959 Update.
2003-06-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/pthread.h (class __pthread_cleanup_class): Add
	missing closing braces.
	Patch by Christophe Saout <christophe@saout.de>.
2003-06-26 01:14:06 +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
Roland McGrath eef4a9f3e1 * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Support cancellation
in librt.

	* sysdeps/unix/sysv/linux/alpha/Makefile (libpthread-routines):
2003-06-25 03:22:03 +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 3a4f2043a1 Update.
* pthreadP.h: Mark __pthread_mutex_unlock_usercnt also hidden.
	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Add
	attribute_hidden.
2003-06-23 01:29:14 +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 b758b9cb10 (__pthread_mutex_init_internal): Mark hidden. (__pthread_mutex_lock_internal): Likewise. (__pthread_mutex_unlock_internal): Likewise. (__pthread_mutex_unlock_usercnt): Declare. 2003-06-22 23:36:29 +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 4e502c601d Make clear that futex_wake in sem_post gets passed the new value. 2003-06-19 19:49:50 +00:00
Ulrich Drepper ca343e7358 Update.
* tst-cancel4.c (tf_msgsnd): Don't always use 100 as the type,
	find a random value.
	(tf_msgrcv): Likewise.  Also don't report msgrcv returns if
	errno==EIDRM.
2003-06-18 22:25:33 +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 f6c93bd9c8 Update.
2003-06-18  Ulrich Drepper  <drepper@redhat.com>

	* pthread_mutex_destroy.c (__pthread_mutex_destroy): For
	error-checking mutex detect busy mutexes.
2003-06-18 18:10:57 +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 047aec8f19 Update..
2003-06-17  Ulrich Drepper  <drepper@redhat.com>

	* tst-cancel4.c: Test open, close, pread, pwrite, fsync, and msync.
2003-06-17 09:33:56 +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 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 301a6724af Update.
* math/tgmath.h (__TGMATH_UNARY_IMAG_ONLY): Removed.

2003-06-15  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Correct setting
	of MXCSR.
	* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
	* sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise.
	Reported by Arnaud Desitter
	<arnaud.desitter@geography.oxford.ac.uk>.

	* math/tgmath.h (carg): Handle real arguments.
	(conj): Likewise.
	(cproj): Likewise.
	(cimag): Likewise.
	(creal): Likewise.

	* math/Makefile (CFLAGS-test-tgmath-ret.c): New.
	(tests): Add test-tgmath-ret.
	* math/test-tgmath-ret.c: New file.

	* math/tgmath.h (ilogb): Return always an int.

2003-06-16  Ulrich Drepper  <drepper@redhat.com>

	computation so that prelinking works.
2003-06-16 08:03:44 +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 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 1fde494e69 (LIBC_CANCEL_ASYNC): Also define for librt. (LIBC_CANCEL_RESET): Likewise. Declare __librt_enable_asynccancel and __librt_disable_asynccancel. 2003-06-15 20:45:32 +00:00
Ulrich Drepper f0a91bb426 Bump to 0.46. 2003-06-14 16:47:07 +00:00
Ulrich Drepper cc8fb6f394 Update.
* sysdeps/pthread/posix-timer.h (timespec_compare): Always inline.
2003-06-14 16:44:22 +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 d4f100e228 * 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:31:10 +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
Ulrich Drepper dd9423a67a Update.
2003-06-11  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (queue_stack): Always inline.
	* ptreadhP.h (__do_cancel): Likewise.
2003-06-11 21:57:23 +00:00
Jakub Jelinek ed24330dd1 * sysdeps/unix/sysv/linux/s390/sem_timedwait.c (sem_timedwait): Fix
a typo.

	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c (sem_timedwait):
2003-06-10 09:58:27 +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 7a8a8e21cd Update.
2003-06-06  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (CFLAGS-pthread_cancel.c): Define.
2003-06-06 07:53:15 +00:00
Ulrich Drepper 8d74bceb3e (CFLAGS-pthread_cancel.c): Define. 2003-06-06 07:51:02 +00:00
Ulrich Drepper cc7ee40876 Update.
2003-06-04  Jakub Jelinek  <jakub@redhat.com>

	* config.make.in (ASFLAGS-config): New.
	* Makeconfig (ASFLAGS): Append $(ASFLAGS-config).
	* configure.in (libc_cv_as_noexecstack): New check.
	(ASFLAGS_config): Substitute.

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

	* sysdeps/i386/fpu/bits/mathinline.h (log1p, asinh, acosh, atanh,
	hypot, logb): Protect with #ifdef __FAST_MATH__.

2003-06-04  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/i386/fpu/bits/mathinline.h (ldexpf, ldexpl): Protect with
	#ifdef __FAST_MATH__.

	_POSIX_ prefix.
2003-06-06 02:24:30 +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 b558fd3ab7 Test for inter-process rwlocks. 2003-06-05 19:20:54 +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 6f1acb30c1 Update.
* test-skeleton.c (main): Request getopt to not reorder the
	command line.
2003-06-01 18:07:34 +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 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 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 7ab7ea333d Update.
* tst-rwlock6.c (do_test): Use correct format specifier.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S
	(__lll_mutex_lock_wait): Replace one memory operation with one
	register operation.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S
	(__lll_mutex_lock_wait): Likewise.
2003-05-30 17:50:29 +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 5a70784eb6 * sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_mutex_cond_lock):
New function.
	(lll_mutex_cond_lock): Define.
2003-05-30 13:46:13 +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 586d174837 Update.
* Makefile (tests): Add tst-signal6.
	* tst-signal6.c: New file.
2003-05-30 06:03:38 +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 bc4647a17c Update.
2003-05-28  Ulrich Drepper  <drepper@redhat.com>

	* include/libc-symbols.h: Define hidden attribute for real also if
	LIBC_NONSHARED is defined.  Patch by Jakub Jelinek.

	* csu/Makefile: Add rules to build Scrt1.o.
	* sysdeps/i386/elf/start.S: Make code compilable with SHARED.
2003-05-28 19:56:24 +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
Jakub Jelinek 248a349087 Fix ChangeLog typos.
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
2003-05-26 14:13:58 +00:00
Ulrich Drepper 6458d81479 Update.
2003-05-26  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (vfprintf): Be bug-compatible with some
	other implementation in respect of multiple uses of parameter with
	different types.
2003-05-26 08:56:39 +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
Ulrich Drepper 6a998b09ec Remove __pthread_enable_asynccancel_2. 2003-05-26 02:09:08 +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 68a396e83a Fix one endless loop. Implement correct semantics wrt opening the same semaphore more then once. 2003-05-17 20:49:02 +00:00
Roland McGrath 1eefffb0e7 * sysdeps/unix/sysv/linux/register-atfork.c (libc_freeres_fn): Fix
uninitialized variable braino.
2003-05-17 00:59:16 +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 7ac5b8e2fa Update.
* pthread_join.c (pthread_join): Set tid field of the joined
	thread to -1.  This isn't necessary but helps to recognize some
	error conditions with almost no cost.

	* allocatestack.c (FREE_P): Also negative values indicate an
	unused stack.
2003-05-16 22:09:32 +00:00
Ulrich Drepper 6e66dc78c4 Update.
2003-05-16  Ulrich Drepper  <drepper@redhat.com>

	* unwind.c: Include <unistd.h>.
2003-05-16 17:40:49 +00:00
Ulrich Drepper b523afaec1 Update.
2003-05-12  Thorsten Kukuk  <kukuk@suse.de>

	* inet/netinet/igmp.h: Sync with Linux Kernel 2.5.69 and *BSD.
2003-05-15 03:31:18 +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 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 edf205d5ef Update.
* io/Makefile ($(objpfx)ftwtest.out): Use absolute file names.

2003-05-11  Ulrich Drepper  <drepper@redhat.com>

	* time/tst-strftime.c (do_test): Add tests for - flag.

2003-05-11  Jim Meyering  <jim@meyering.net>

	* time/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
        the space-padded-by-default conversion specifiers, %e, %k, %l.

2003-05-11  Andreas Schwab  <schwab@suse.de>
2003-05-11 23:28:52 +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 c7652699b1 Update.
* Makeconfig (gnulib): Remove -lgcc_eh again.
2003-05-10 06:33:37 +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 29b095a156 (unwind_cleanup): Print error message and then abort. This function must never be reached. 2003-05-09 03:00:52 +00:00
Ulrich Drepper be4d80380a Update.
* sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New
	variable.
	(__libc_init_secure): Don't do anything if __libc_enable_secure_decided
	is nonzero.
	* include/unistd.h: Declare __libc_enable_secure_decided.
	* elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID,
	and AT_EGID.  If all found, set __libc_enable_secure and
	__libc_enable_secure_decided.
2003-05-06 06:34:21 +00:00
Ulrich Drepper e55674c65e (TLS_INIT_TP): Include \n in error message. 2003-05-06 05:40:11 +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
Ulrich Drepper d382d62e72 Update. 2003-05-03 05:06:25 +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 f025c13627 Update.
2003-04-30  Ulrich Drepper  <drepper@redhat.com>

	* tst-rwlock6.c (do_test): Use correct printf format specifiers.
	* tst-rwlock7.c (do_test): Likewise.
2003-04-30 20:52:21 +00:00
Ulrich Drepper 1472a75228 (do_test): Use correct printf format specifiers. 2003-04-30 20:51:59 +00:00
Ulrich Drepper b65b090086 Bump to 0.37. 2003-04-29 01:20:23 +00:00
Roland McGrath 7531ab9e98 * Makefile ($(test-modules)): Depend on $(common-objpfx)shlib.lds. 2003-04-28 10:34:41 +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
Jakub Jelinek a421d762a8 Fix. 2003-04-26 09:24:41 +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
Roland McGrath 950094f827 * Makeconfig (shared-thread-library): Reverse link order to work
around linker bug.
2003-04-23 06:09:13 +00:00
Ulrich Drepper dc2f6455a4 Update.
2003-04-22  Ulrich Drepper  <drepper@redhat.com>

	* semaphore.h: Fix typo in comment.
2003-04-22 17:15:35 +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 0b3df49e8d Update.
2003-04-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/hp-timing.h (HP_TIMING_PRINT): Change type of
	__len to size_t to avoid warnings.
2003-04-19 19:19:11 +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
Jakub Jelinek dd9d65384e * tst-cancel4.c (do_test): Use %zd instead of %d when printing cnt. 2003-04-16 21:59:43 +00:00
Jakub Jelinek f7016882e9 (do_test): Use %zd instead of %d when printing cnt. 2003-04-16 21:59:32 +00:00
Roland McGrath 4ab6f47ce3 * libio/fileops.c (_IO_file_close_it): Macro tweak to avoid warning.
* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO]: Add decl for
	INTUSE(__register_frame_info_bases).
2003-04-16 03:12:34 +00:00
Ulrich Drepper dce3db5635 Update.
AT_SYSINFO_EH_FRAME.  Adjust string width.
2003-04-15 23:56:32 +00:00
Ulrich Drepper 162434a682 Update.
2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define AT_SYSINFO_EH_FRAME.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle
	AT_SYSINFO_EH_FRAME.
	(_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value.
	* sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global):
	Add _dl_sysinfo_eh_frame field.
	* elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame.
	* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj
	variable.
	[NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases
	if _dl_sysinfo_eh_frame is non-NULL.

	* Makeconfig (gnulib): Add -lgcc_eh.

	* config.h.in: Define HAVE_FORCED_UNWIND.
2003-04-15 22:46:40 +00:00
Ulrich Drepper a1b5424f50 Update.
2003-04-15  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h: Pretty printing.
2003-04-15 18:29:40 +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 877e51b20f (deallocate_tsd): Don't take parameter. Adjust caller. Optimize to avoid often unecessary local variable.
(start_thread): Initialize cleanup_jmp_buf element if own thread descriptor.
2003-04-12 00:25:27 +00:00
Roland McGrath 0dc44b51cd * csu/tst-empty.c: New file.
* csu/Makefile (tests, tests-static): Add it.
2003-04-12 00:17:14 +00:00
Ulrich Drepper 6efd481484 Declare __pthread_unwind. Define __do_cancel to use it. Declare old cleanup handler installation functions. 2003-04-12 00:14:16 +00:00
Ulrich Drepper 32b0da568d Test cleanup handler calls in initial thread. 2003-04-12 00:06:31 +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 84a80719cc Update.
2003-04-11  Ulrich Drepper  <drepper@redhat.com>

	* tst-attr2.c (do_test): Add cast to avoid warning.
	* tst-mutex4.c (do_test): Likewise.
2003-04-11 23:00:57 +00:00
Ulrich Drepper 6fed7a0f21 (do_test): Add cast to avoid warning. 2003-04-11 22:59:18 +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 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 9afe496416 Update.
* sysdeps/pthread/pthread.h: Remove duplicate
	pthread_cleanup_{push,pop} definitions.
2003-04-08 20:24:21 +00:00
Ulrich Drepper f9657e88fa Update.
2003-04-08  Ulrich Drepper  <drepper@redhat.com>

	* tst-barrier2.c: Eliminate warnings.
	* tst-cancel4.c: Likewise.
	* tst-cond4.c: Likewise.
	* tst-cond6.c: Likewise.
	* tst-detach1.c: Likewise.
	* tst-rwlock4.c: Likewise.
	* tst-rwlock6.c: Likewise.
	* tst-rwlock7.c: Likewise.
	* tst-sem3.c: Likewise.
	* tst-spin2.c: Likewise.
	* tst-umask1.c: Likewise.
2003-04-08 18:23:59 +00:00
Jakub Jelinek 87a6784eeb Whitespace fix. 2003-04-07 21:18:34 +00:00
Ulrich Drepper e11ea7779d Test for pthread_detach of terminated thread. 2003-04-07 21:14:40 +00:00
Ulrich Drepper 69b35e862f Update.
2003-04-07  Ulrich Drepper  <drepper@redhat.com>

	* pthread_detach.c (pthread_detach): Fix test for invalid TID.
2003-04-07 21:09:12 +00:00
Ulrich Drepper c70ad7d71e Update.
2003-04-06  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move cancelhandling member to the front.
2003-04-06 09:28:48 +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 3242201746 Define THREAD_ATOMIC_CMPXCHG_VAL and THREAD_ATOMIC_BIT_SET if not already defined. 2003-04-05 05:08:05 +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 d9eb687be2 (sigcancel_handler): Don't set EXITING_BIT here. 2003-04-04 07:56:14 +00:00
Ulrich Drepper fd722fba2f Update. 2003-04-02 04:57:59 +00:00
Ulrich Drepper bb9e7c828f Undo last change. 2003-04-02 04:57:15 +00:00
Ulrich Drepper 0d73a73b4b Update.
* Makefile (tests): Add tst-tsd3.c and tst-tsd4.
	* tst-tsd4.c: New file.
2003-04-02 04:02:00 +00:00
Ulrich Drepper bafaffac70 Check PTHREAD_DESTRUCTOR_ITERATIONS handling. 2003-04-02 04:00:53 +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 fa36efe893 (do_test): Make static. 2003-04-02 00:36:44 +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 42b2395dce Update.
2003-03-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/tls.h (CALL_THREAD_FCT): Align stack of called
	function correctly.
2003-04-01 00:55:22 +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 163b180f5c Update.
2003-03-30  Ulrich Drepper  <drepper@redhat.com>

	* descr.h (struct pthread): Move most often used elements to the front.
2003-03-30 19:46:44 +00:00
Ulrich Drepper 5869d4ecdf (struct pthread): Move most often used elements to the front. 2003-03-30 19:45:57 +00:00
Ulrich Drepper ea473bad4c Update.
2003-03-29  Ulrich Drepper  <drepper@redhat.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* cancellation.c: Adjust for new form of compare&exchange macros.
	* cleanup_defer.c: Likewise.
	* init.c: Likewise.
	* libc-cancellation.c: Likewise.
	* old_pthread_cond_broadcast.c: Likewise.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.
	* pthread_cancel.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_detach.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_key_delete.c: Likewise.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setcanceltype.c: Likewise.
	* pthread_timedjoin.c: Likewise.
	* pthread_tryjoin.c: Likewise.
	* sysdeps/pthread/createthread.c: Likewise.
2003-03-21 08:03:25 +00:00
Ulrich Drepper b1aea0989d Update.
2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Include <atomic.h>.
	Remove __lll_add, __lll_dev_if_positive, and __lll_test_and_set
	definitions.  Replace uses with calls to atomic_* functions.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/lowlevellock.c: Replace __lll_add and
	__lll_test_and_set calls with atomic_exchange_and_add and
	atomic_exchange calls respectively.
	* sysdeps/unix/sysv/linux/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/pthread_once.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sem_port.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: Likewise.

	* allocatestack.c (allocate_stack): Assume atomic_exchange_and_add
	returns the old value.
2003-03-20 10:29:20 +00:00
Ulrich Drepper 9daba4f4b9 Replace __lll_add calls with atomic_exchange_and_add calls respectively. 2003-03-20 10:28:06 +00:00
Ulrich Drepper 7793bf7fd7 Replace __lll_add and __lll_test_and_set calls with atomic_exchange_and_add and atomic_exchange call respectively. 2003-03-20 10:23:47 +00:00
Roland McGrath 100a7100a7 * sysdeps/s390/pthread_spin_lock.c (pthread_spin_lock): Use type
int for variable OLDVAL and correct inline assembler contraint.
	* sysdeps/s390/pthread_spin_trylock.c (pthread_spin_trylock): Use
	type int for variable OLD.

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

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

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

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

	* sysdeps/pthread/pthread_cond_broadcast.c: Release lock before
	signalling waiters.
2003-03-19 09:52:49 +00:00
Ulrich Drepper bbb9ba4324 (__pthread_cond_broadcast): Release lock before waking waiters. 2003-03-19 09:42:14 +00:00
Roland McGrath ca341eb2bd (__lll_test_and_set): Fix typos. 2003-03-19 09:08:47 +00:00
Roland McGrath 9465949559 * abilist: New directory of libfoo.abilist files maintained using
scripts/merge-abilist.awk and "make update-abi" rules.
	* Makefile (distribute): Add abilist/*.abilist.
	* Makerules [$(build-shared) = yes] [$(subdir)] (tests):
	Depend on check-abi.
2003-03-19 08:27:55 +00:00
Roland McGrath 043ad426e7 * Versions (libpthread: GLIBC_2.2): Remove
pthread_barrierattr_getpshared, never really existed.
	(libpthread: GLIBC_2.0): Move __pthread_initialize to ...
	(libpthread: GLIBC_PRIVATE): ... here.
2003-03-19 03:34:48 +00:00
Roland McGrath 8a477363f4 2003-03-18 Roland McGrath <roland@redhat.com>
* Versions (libpthread: GLIBC_2.3.2): Move pthread_tryjoin_np and
	pthread_timedjoin_np to ...
	(libpthread: GLIBC_2.3.3): ... here.
	(libpthread: GLIBC_2.2): Move pthread_barrierattr_getpshared there too.
2003-03-19 03:25:04 +00:00
Ulrich Drepper 00bd9cc9ab Remove unnecessary instruction in case clock_gettime isn't available. 2003-03-19 02:27:27 +00:00
Ulrich Drepper ac9e0aa1b0 Update.
* Makefile (tests): Add tst-cond11.
	* tst-cond11.c: New file.
2003-03-19 00:38:11 +00:00
Ulrich Drepper 604b15cf5f Test pthread_condattr_[sg]etclock. 2003-03-19 00:34:59 +00:00
Ulrich Drepper a14b373c5d Update.
2003-03-18  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/memcpy.S: New file.
2003-03-18 23:00:03 +00:00
Ulrich Drepper ee2af3e835 Reorder struct passed to cleanup handler to eliminate one more instruction. 2003-03-18 22:20:54 +00:00
Ulrich Drepper 856874c5e9 (__pthread_cond_init): Handle NULL cond_attr parameter. 2003-03-18 20:08:20 +00:00
Ulrich Drepper 24a49f38ad Update.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
	(pthrad_cond_t): Replace __unused field with __clock.

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

	* Versions.def: Add GLIBC_2.3.3 for libpthread.
2003-03-18 11:25:37 +00:00
Ulrich Drepper 86a9ee5e87 Update.
2003-03-18  Ulrich Drepper  <drepper@redhat.com>

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

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

	* sysdeps/generic/libc-start.c [!SHARED &&
	!LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly.
2003-03-18 01:56:11 +00:00
Ulrich Drepper 09044a7360 pthread_spin_unlock implementation for Linux/i386. 2003-03-18 01:52:02 +00:00
Roland McGrath 98054a05df * include/ctype.h: Revert last change. 2003-03-18 01:21:49 +00:00
Roland McGrath 5bfd37b634 2003-03-17 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait):
	Formatting tweaks.
2003-03-18 01:21:42 +00:00
Ulrich Drepper f911cc4a74 (lll_unlock_wake_cb): Correct last patch. (__lll_timedwait_tid): Don't check abstime for NULL pointer. 2003-03-18 00:50:30 +00:00
Ulrich Drepper 001bea714d Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

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

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

	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Pretty printing.
2003-03-18 00:39:58 +00:00
Ulrich Drepper bd0fa4cefd Add __builtin_expect where appropriate. 2003-03-18 00:31:30 +00:00
Roland McGrath de4471dd55 PowerPC port contributed by Paul Mackerras <paulus@samba.org>.
* sysdeps/pthread/pthread_spin_init.c: New file.
	* sysdeps/pthread/pthread_spin_unlock.c: New file.
	* sysdeps/powerpc/Makefile: New file.
	* sysdeps/powerpc/pthread_spin_lock.c: New file.
	* sysdeps/powerpc/pthread_spin_trylock.c: New file.
	* sysdeps/powerpc/pthreaddef.h: New file.
	* sysdeps/powerpc/tcb-offsets.sym: New file.
	* sysdeps/powerpc/td_ta_map_lwp2thr.c: New file.
	* sysdeps/powerpc/tls.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/lowlevellock.c: New file.
	* sysdeps/unix/sysv/linux/lowlevelmutex.c: New file.
	* sysdeps/unix/sysv/linux/sem_post.c: New file.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: New file.
	* sysdeps/unix/sysv/linux/sem_trywait.c: New file.
	* sysdeps/unix/sysv/linux/sem_wait.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: New file.
	* sysdeps/unix/sysv/linux/powerpc/createthread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/fork.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file.

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

	* localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy.
	Added ^ to LC_MESSAGES regex "^[yY].*".
	Confirmed LC_PAPER adn LC_MEASUREMENT settings.
	Added country and language names to LC_ADDRESS.
	Added missing info for LC_TELEPHONE.
	Patch by Dwayne Bailey <dwayne@obsidian.co.za>.
2003-03-17 10:11:31 +00:00
Ulrich Drepper fb2ee178fa Load correct registers. 2003-03-17 04:49:21 +00:00
Roland McGrath 796038f863 * tst-fork4.c: Include <string.h>.
* tst-signal2.c: Likewise.
	* tst-mutex5.c (do_test): exit -> return.
	* tst-mutex2.c: Include <stdlib.h>.
2003-03-17 02:48:34 +00:00
Roland McGrath 2c5567a08e 2003-03-16 Roland McGrath <roland@redhat.com>
* tst-fork4.c: Include <string.h>.
	* tst-signal2.c: Likewise.
	* tst-mutex5.c (do_test): exit -> return.
	* tst-mutex2.c: Include <stdlib.h>.
2003-03-17 02:48:28 +00:00
Ulrich Drepper 25d025ce77 (__lll_lock_wait): Remove jump prediction suffix. 2003-03-17 01:53:39 +00:00
Ulrich Drepper b6e2f87a61 Update.
2003-03-16  Ulrich Drepper  <drepper@redhat.com>

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

	* tst-rwlock6.c: Add some more status output.
2003-03-16 08:09:26 +00:00
Ulrich Drepper ad032aee17 Really use R12 and r13. 2003-03-16 03:49:51 +00:00
Roland McGrath 8112cc70b4 * nis/nss_nis/nis-hosts.c (internal_gethostbyname2_r): int -> size_t
* nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Likewise.
	* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Likewise.
	* nis/nis_table.c (__create_ib_request): Likewise.
2003-03-16 03:36:32 +00:00
Roland McGrath eb64f8cbe3 * posix/fnmatch_loop.c: Add casts for signedness.
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
	* gmon/gmon.c (write_call_graph): Use u_long for FROM_LEN.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Use nscd_ssize_t for CNT.
2003-03-16 03:22:41 +00:00
Ulrich Drepper 49773c1993 Update.
2003-03-15  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): Store the exact stack size of
	user allocated stacks.
2003-03-16 01:40:57 +00:00
Ulrich Drepper 580088c900 (allocate_stack): Store the exact stack size of user allocated stacks. 2003-03-16 01:39:10 +00:00
Ulrich Drepper 7abed17041 More random patches. 2003-03-15 21:46:30 +00:00
Jakub Jelinek eec0ca9f25 * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
(SINGLE_THREAD): Use `header' prefix instead of `header.data'.
	* sysdeps/sh/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Likewise.
	* sysdeps/sh/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define.
	* sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (SINGLE_THREAD_P):
	Use `header.' prefix.
	* sysdeps/ia64/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Likewise.
2003-03-15 11:44:47 +00:00
Jakub Jelinek 1419a9581c (SINGLE_THREAD): Use `header' prefix instead of `header.data'. 2003-03-15 11:43:02 +00:00
Ulrich Drepper 979f5c31de Use 64-bit loading. 2003-03-15 09:59:21 +00:00
Ulrich Drepper a87731e262 Update.
2003-03-15  Ulrich Drepper  <drepper@redhat.com>

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

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

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

	* pthread_create.c (start_thread): Use CALL_THREAD_FCT if defined.
	* sysdeps/i386/tls.h: Define CALL_THREAD_FCT.
2003-03-14 23:28:23 +00:00
Ulrich Drepper 42c8f44c05 (start_thread): Use CALL_THREAD_FCT if defined. 2003-03-14 23:18:42 +00:00
Roland McGrath 2e49caba0e * init.c: Fix typo "#eli" for "#else". 2003-03-14 23:16:51 +00:00
Roland McGrath 415ef7d893 * allocatestack.c (__stack_user): Use hidden_data_def.
* pthread_create.c (__pthread_keys): Likewise.

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

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

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

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

	* sysdeps/x86_64/tls.h (THREAD_GETMEM): Mark asms volatile.
	(THREAD_GETMEM_NC): Likewise.
2003-03-14 09:46:25 +00:00
Ulrich Drepper 7f2936863e (THREAD_GETMEM): Makr asms volatile. (THREAD_GETMEM_NC): Likewise. 2003-03-14 09:45:53 +00:00
Ulrich Drepper 564cd8b67e Update.
2003-03-13  Ulrich Drepper  <drepper@redhat.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
2003-03-11 19:02:26 +00:00
Ulrich Drepper ea69482383 Update.
2003-03-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: New file.
2003-03-11 10:38:41 +00:00
Ulrich Drepper 0bc91edf8e pthread_cond_wait implementation for Linux/x86-64. 2003-03-11 10:36:15 +00:00
Roland McGrath b33e61633a * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1,
allocate space even for the trailing '/'.
	Reported by John Reiser <jreiser@BitWagon.com>.

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

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

	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
2003-03-11 05:52:12 +00:00
Ulrich Drepper 3de7c2a965 Update.
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelbarrier.sym.
	* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S:
	Include lowlevelbarrier.h and don't define offsets locally.
2003-03-11 05:26:32 +00:00
Ulrich Drepper 2a544d82ce Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(__lll_mutex_lock_wait): Reverse order of first two parameters.
	(__lll_mutex_timedlock_wait): Likewise.
	(lll_mutex_lock): Adjust asm for that.
	(lll_mutex_timedlock): Likewise.  Mark cx, cc, r10 as clobbered.
	(lll_lock): Adjust asm for operand order change.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.
2003-03-11 04:07:00 +00:00
Ulrich Drepper ec06436c5b Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait):
	Reverse order of parameters.
	(__lll_timedwait_tid): Remove regparms attribute.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.
2003-03-11 01:01:24 +00:00
Ulrich Drepper 3273832c67 Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedwait_tid): Remove one unnecessary instruction.
2003-03-11 00:49:38 +00:00
Ulrich Drepper 51f32ab883 Update.
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define
	__lll_mutex_timedlock_wait only for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include
	lowlevelmutex.S.

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
	lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only
	for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include
	lowlevellock.S.
2003-03-10 23:42:41 +00:00
Ulrich Drepper ebf0cbc5af Fix typo.
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Not needed anymore.
2003-03-10 23:02:10 +00:00
Ulrich Drepper fad48d9e2d Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define
	LOCK is already defined.  Don't define __lll_mutex_timedlock_wait
	for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevelmutex.S.
2003-03-10 22:27:01 +00:00
Ulrich Drepper 9356d063df Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
	LOCK is already defined.  Don't define lll_unlock_wake_cb and
	__lll_timedwait_tid for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevellock.S.
2003-03-10 22:11:26 +00:00
Ulrich Drepper 146fa1ee68 Update.
* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.
2003-03-10 21:44:36 +00:00