Commit Graph

96 Commits

Author SHA1 Message Date
Ulrich Drepper
e9f4e84407 Update.
2004-09-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
	Add __extension__ to long long types.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
2004-09-28 10:36:33 +00:00
Ulrich Drepper
ccc63b0708 [BZ #365]
Update.
	* misc/syslog.c (vsyslog): Fix copying of PID in case of
	out-of-memory situation.  [BZ #365].

	* sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
	__THROW in inline function definitions.
2004-09-12 18:45:49 +00:00
Ulrich Drepper
73f7c32c47 [BZ #357]
Update.
2004-09-02  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #357]
	* stdlib/tst-setcontext.c (test_stack): Added test for stack clobber.
	(main): Call test_stack.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext): Push stack frame then save parms in local frame.
	Improve instruction scheduling.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext): Likewise.
2004-09-02 18:59:24 +00:00
Ulrich Drepper
ce6e047fbb Update.
2004-07-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-init.c: Don't define and use _dl_starting_up if
	HAVE_INLINED_SYSCALLS is defined and the variable is not used.
	* elf/dl-support.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly
	if HAVE_INLINED_SYSCALLS is defined.
	* sysdeps/powerpc/powerpc64/dl-machine.h: Don't rest _dl_starting_up
	here.
	* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
	* sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS.
	* config.h.in: Add entry for HAVE_INLINED_SYSCALLS.

	* sysdeps/posix/profil.c: If compiled for ld.so, omit code which
	is needed to stop profiling.
	* elf/dl-open.c (dl_open_worker): If a newly opened object is to be
	profile make sure it cannot be unloaded.

	* sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall.

	* sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
	support, make sure the helper function is inlined.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
2004-07-06 04:26:42 +00:00
Ulrich Drepper
539842a4ea Update.
* elf/ldconfig.c (add_dir): Take chroot into account.
	Based on changes by HJ Lu and Hideki Iwamoto.
2004-06-28 05:07:08 +00:00
Roland McGrath
f1847a8465 * sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian.
From Krzysztof Halasa <khc@pm.waw.pl>.
2004-06-11 10:15:39 +00:00
Ulrich Drepper
34dd1fb346 (lll_futex_requeue): Pass val argument as 6th system call argument in %r7. 2004-06-07 17:58:24 +00:00
Ulrich Drepper
75fcceded2 Update.
2004-06-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i486/bits/atomic.h: Optimize a bit.
2004-06-03 16:04:11 +00:00
Ulrich Drepper
893a351195 [BZ #163]
Update.
2004-05-18  Petter Reinholdtsen  <pere@hungry.com>

	* locales/sl_SI [LC_TIME]: Correct d_fmt date format from
	'22.06.2003' to '22. 06. 2003'.  Change requested from Aleks
	Reinhardt, and approved by the locale author Borka
	Jerman-Blazic. [BZ #163]
2004-05-18 20:18:14 +00:00
Ulrich Drepper
f532641db7 Update.
2004-03-26  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/wordsize-64/fxstat.c (__fxstat): Don't
	use "struct kernel_stat".

2004-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/ia64/memcmp.S: Fix symbol.
2004-04-17 23:14:52 +00:00
Ulrich Drepper
2c0b891afe Update.
* sysdeps/unix/sysv/linux/smp.h: New file.
	* sysdeps/unix/sysv/linux/sh/smp.h: New file.
	* init.c: Define __is_smp.
	(__pthread_initialize_minimal_internal): Call is_smp_system to
	initialize __is_smp.
	* pthreadP.h: Declare __is_smp.
	Define MAX_ADAPTIVE_COUNT is necessary.
	* pthread_mutex_init.c: Add comment regarding __spins field.
	* pthread_mutex_lock.c: Implement adaptive mutex type.
	* pthread_mutex_timedlock.c: Likewise.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h (pthread_mutex_t):
	Add __spins field.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Define
	lll_mutex_cond_trylock.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Likewise.
	Define BUSY_WAIT_NOP.
	* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.

	* tst-mutex5.c: Add support for testing adaptive mutexes.
	* tst-mutex7.c: Likewise.
	* tst-mutex5a.c: New file.
	* tst-mutex7a.c: New file.
	* Makefile (tests): Add tst-mutex5a and tst-mutex7a.
2004-03-24 06:36:06 +00:00
Ulrich Drepper
43513fb738 Update.
2004-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Use jgnl
	instead of jnl instruction to jump to SYSCALL_ERROR_LABEL.
	* sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S (__vfork): Likewise.

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

	* forward.c (__pthread_cond_broadcast_2_0,
	__pthread_cond_destroy_2_0, __pthread_cond_init_2_0,
	__pthread_cond_signal_2_0, __pthread_cond_wait_2_0,
	__pthread_cond_timedwait_2_0): Use return 0 as defaction instead of 0.
2004-03-11 16:15:59 +00:00
Ulrich Drepper
73b4ce64cc Update.
2004-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__novec_swapcontext): Branch to novec_* labels.
2004-03-11 01:34:46 +00:00
Ulrich Drepper
d3a4a571c4 Update.
2004-03-10  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
	compat_data_section): Define.
	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
	attribute_compat_text_section.
	* sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
	* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
	__old_globfree): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
	Likewise.
	* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
	* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
	Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
	* hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
	(__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
	(__makecontext_stub): Likewise.
	(__novec_makecontext): Likewise.  Fix name in END () to match
	function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext): Use END instead of PSEUDO_END.
	(__novec_setcontext): Add compat_text_section.  Use END instead of
	PSEUDO_END, fix the name in END () to match function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
	(__novec_getcontext, __getcontext_stub): Add compat_text_section.

2004-03-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
	(COPY_UNALIGNED_WORD): Remove cast used as lvalue.

2004-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-03-10 19:28:58 +00:00
Ulrich Drepper
39358e8b2b Update.
2003-09-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): Use
	lll_futex_timed_wait instead of lll_futex_wait.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: Removed.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Removed.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Removed.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Include atomic.h.
	Completely revamp the locking macros.  No distinction between
	normal and mutex locking anymore.
	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Fix prototypes.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_lock_wait,
	__lll_lock_timedwait): Likewise.
	(lll_mutex_lock, lll_mutex_cond_lock): Use _val instead of _bool
	macros, add __builtin_expect.
	(lll_mutex_timedlock): Likewise.  Fix return value.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i586/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/i386/i686/lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: Removed.
	* sysdeps/unix/sysv/linux/lowlevelmutex.c: Removed.
	* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: Removed.
2003-09-22 21:30:25 +00:00
Ulrich Drepper
806e4a4a01 Update.
2003-09-08  Jakub Jelinek  <jakub@redhat.com>

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

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

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

	contiguous case.  Bug report from Prem Gopalan <prem@mazunetworks.com>.
2003-09-09 00:07:08 +00:00
Ulrich Drepper
5777d565ad Update.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Also
	defined symbol for entry point to avoid cancellation.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/not-cancel.h (__open_nocancel,
	__close_nocancel, __read_nocancel, __write_nocancel,
	__waitpid_nocancel): Add attribute_hidden.  If not in libc.so,
	libpthread.so or librt.so, define to corresponding function
	without _nocancel suffix.
	* sysdeps/unix/sysv/linux/s390/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sparc/not-cancel.h: New file.
2003-09-03 02:53:32 +00:00
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
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
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
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
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
Jakub Jelinek
1dee0a7eff (sem_timedwait): Fix a typo. 2003-06-10 09:58:19 +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
4ad0bbf4fa Update.
2003-06-05  Ulrich Drepper  <drepper@redhat.com>

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

	* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait,
	__lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid):
	Remove bogus hidden_proto.
	* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock,
	lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock,
	___lll_mutex_timedlock): Likewise.
2003-06-05 08:12:11 +00:00
Ulrich Drepper
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
Jakub Jelinek
ef276e6472 (__lll_mutex_cond_lock): New function. (lll_mutex_cond_lock): Define. 2003-05-30 13:46:04 +00:00
Ulrich Drepper
b8ba4a2741 Update.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h
	(__lll_mutex_unlock_force): New function
	(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.
2003-05-30 04:53:50 +00:00
Ulrich Drepper
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
7da168bf21 Update.
2003-05-02  Ulrich Drepper  <drepper@redhat.com>

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

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

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

	* string/test-strcat.c (do_one_test): Fix attribute name.
2003-05-01 07:38:32 +00:00
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
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
86a9ee5e87 Update.
2003-03-18  Ulrich Drepper  <drepper@redhat.com>

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

	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Remove
	invalid .size directive.
2003-03-18 11:17:57 +00:00
Roland McGrath
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
Jakub Jelinek
1419a9581c (SINGLE_THREAD): Use header' prefix instead of header.data'. 2003-03-15 11:43:02 +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
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
106f6f9d9d Update.
* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h
	instead of lowlevelsem.h.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.
2003-03-10 21:42:52 +00:00
Ulrich Drepper
cd4b2a553a Update.
* sysdeps/unix/sysv/linux/s390/createthread.c: Moved to...
	* sysdeps/unix/sysv/linux/createthread.c: ...here.
2003-03-10 06:32:42 +00:00
Ulrich Drepper
41d4d22399 Update.
* sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of
	lll_wake_tid.  This was used only to work around kernel limits in
	the early days.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
2003-03-07 18:37:10 +00:00
Ulrich Drepper
f04a27210a Update.
* sysdeps/unix/sysv/linux/s390/dl-sysdep.h: Removed.  The generic
	version is just fine.
2003-03-04 07:58:19 +00:00
Ulrich Drepper
7ce5c1640c Update.
2003-03-03  Martin Schwidefsky  <schwidefsky@de.ibm.com>

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

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

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

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

	* sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Fix
	check of lll_futex_wake return value.
2003-03-03 21:11:12 +00:00
Ulrich Drepper
dac0f77234 Update.
2003-02-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Add instead of
	subtracting map->l_tls_offset.
2003-02-14 06:11:21 +00:00
Ulrich Drepper
a88c926368 Update.
2003-02-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/bits/libc-lock.h (__libc_once): Set control
	variable for non-libpthread case to the same value the
	pthread_once function would use.
2003-02-05 09:54:24 +00:00