Commit Graph

10521 Commits

Author SHA1 Message Date
Roland McGrath
002ff85305 2003-03-21 Roland McGrath <roland@redhat.com>
* 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.
2003-03-22 00:05:02 +00:00
Alexandre Oliva
8f9fb0000e * sysdeps/mips/mips64/memcpy.S: Fix porting bug that broke unaligned copying of 8-15 bytes. From Chris Demetriou <cgd@broadcom.com>. Fix label names. * sysdeps/mips/mips64/memset.S: Fix label names. Make similar change as to memcpy.S. * sysdeps/mips/memcpy.S: Formatting changes. * sysdeps/mips/memset.S: Likewise.
2003-03-21  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/mips64/memcpy.S: Fix porting bug that broke
	unaligned copying of 8-15 bytes.  From Chris Demetriou
	<cgd@broadcom.com>.  Fix label names.
	* sysdeps/mips/mips64/memset.S: Fix label names.  Make similar
	change as to memcpy.S.
	* sysdeps/mips/memcpy.S: Formatting changes.
	* sysdeps/mips/memset.S: Likewise.
2003-03-21 21:39:39 +00:00
Roland McGrath
88b3f3ede2 * sysdeps/arm/sysdep.h (CALL_MCOUNT): Add trailing semicolon. 2003-03-21 20:52:12 +00:00
Roland McGrath
b50946de73 * sysdeps/i386/tls.h [__ASSUME_SET_THREAD_AREA_SYSCALL]
(TLS_SETUP_GS_SEGMENT): Fix a typo.
2003-03-21 20:37:25 +00:00
Roland McGrath
471b93a850 2003-03-21 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/tls.h [__ASSUME_SET_THREAD_AREA_SYSCALL]
	(TLS_SETUP_GS_SEGMENT): Fix a typo.
2003-03-21 20:37:16 +00:00
Alexandre Oliva
ee7b703635 * sysdeps/mips/mips64/memcpy.S, sysdeps/mips/mips64/memset.S: New. * sysdeps/mips/memcpy.S, sysdeps/mips/memset.S: Update comments.
2003-03-21  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/mips64/memcpy.S, sysdeps/mips/mips64/memset.S: New.
	* sysdeps/mips/memcpy.S, sysdeps/mips/memset.S: Update comments.
2003-03-21 19:44:24 +00:00
Roland McGrath
5d13bfc0c0 . 2003-03-21 11:15:17 +00:00
Roland McGrath
a60581ad10 * sysdeps/i386/i486/bits/atomic.h
(__arch_compare_and_exchange_val_64_acq): Rewrite abort-calling
	version of the macro to avoid compile-time warnings.
	[! __PIC__] (__arch_compare_and_exchange_64_acq): Rename to above.
	(__arch_compare_and_exchange_bool_64_acq): New macro.
	(atomic_exchange_and_add, atomic_add): Fix name and usage of it.
	(atomic_increment, atomic_decrement): Likewise.
2003-03-21 11:15:01 +00:00
Roland McGrath
26f24355d4 2003-03-21 Roland McGrath <roland@redhat.com>
* sysdeps/i386/i486/bits/atomic.h
	(__arch_compare_and_exchange_val_64_acq): Rewrite abort-calling
	version of the macro to avoid compile-time warnings.
	[! __PIC__] (__arch_compare_and_exchange_64_acq): Rename to above.
	(__arch_compare_and_exchange_bool_64_acq): New macro.
	(atomic_exchange_and_add, atomic_add): Fix name and usage of it.
	(atomic_increment, atomic_decrement): Likewise.
2003-03-21 11:14:51 +00:00
Ulrich Drepper
4541b483a9 Update.
2003-03-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/bits/atomic.h: Don't use matching memory constraints.
	* sysdeps/i386/i486/bits/atomic.h: Likewise.
2003-03-21 09:51:39 +00:00
Ulrich Drepper
abfd53d134 Don't use matching memory constraints. 2003-03-21 09:43:01 +00:00
Roland McGrath
2923c64407 * include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix. 2003-03-21 08:54:48 +00:00
Roland McGrath
916ff11ac7 2003-03-21 Roland McGrath <roland@redhat.com>
* include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix.
2003-03-21 08:54:39 +00:00
Ulrich Drepper
b97ccf3d1e (__arch_compare_and_exchange_val_*_acq): Remove setne instruction. 2003-03-21 08:19:35 +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
18627f615b 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. 2003-03-21 07:37:36 +00:00
Alexandre Oliva
d20152e148 * sysdeps/mips/bits/setjmp.h: n32 has only 6 call-saved fpregs. * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Adjust. * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise.
* sysdeps/mips/bits/setjmp.h: n32 has only 6 call-saved fpregs.
	* sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Adjust.
	* sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise.
2003-03-20 22:29:44 +00:00
Alexandre Oliva
4b5e1c5f0e * sysdeps/unix/sysv/linux/mips/pread.c: Don't break up offset into high and low halves on n64. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
2003-03-20  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/pread.c: Don't break up offset
	into high and low halves on n64.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
2003-03-20 20:58:02 +00:00
Ulrich Drepper
6848aba6c3 Update.
2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h (atomic_decrement_if_positive): Adjust for the
	correct atomic_compare_and_exchange_acq semantics.
2003-03-20 19:44:18 +00:00
Ulrich Drepper
972209dd7a (atomic_decrement_if_positive): Adjust for the correct atomic_compare_and_exchange_acq semantics. 2003-03-20 19:42:54 +00:00
Alexandre Oliva
f1f8a9ec6f * sysdeps/mips/ieee754.h: Remove excess #endif.
2003-03-20  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/ieee754.h: Remove excess #endif.
2003-03-20 17:59:45 +00:00
Roland McGrath
2ff16e041a * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unused
variable.  Remove superfluous memory clobber.

	* include/atomic.h: Syntax braino fix.

	* posix/tst-nice.c (do_test): Use %m formats instead of printing errno
	in decimal.  Don't bail if niced at start.  Just check that nice call
	bumps the total at all.
2003-03-20 11:40:51 +00:00
Roland McGrath
41f3e892d8 2003-03-20 Roland McGrath <roland@redhat.com>
* posix/tst-nice.c (do_test): Use %m formats instead of printing errno
	in decimal.  Don't bail if niced at start.  Just check that nice call
	bumps the total at all.
2003-03-20 11:40:36 +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
Alexandre Oliva
53fcb88501 * sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers, including pc, gp, sp and fp, as long long. * sysdeps/mips/mips64/setjmp.S: Pass gp to __sigsetjmp_aux. * sysdeps/mips/mips64/setjmp_aux.c: Adjust type of arguments. Add gp argument, and set gp in the jmpbuf to it. * sysdeps/mips/setjmp_aux.c: Revert to o32-only.
2003-03-20  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers,
	including pc, gp, sp and fp, as long long.
	* sysdeps/mips/mips64/setjmp.S: Pass gp to __sigsetjmp_aux.
	* sysdeps/mips/mips64/setjmp_aux.c: Adjust type of arguments.
	Add gp argument, and set gp in the jmpbuf to it.
	* sysdeps/mips/setjmp_aux.c: Revert to o32-only.
2003-03-20 10:27:55 +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
Ulrich Drepper
f79466a8e9 Update.
2003-03-20  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h: Define atomic_exchange and
	atomic_decrement_if_positive if not already defined.  Add some
	__builtin_expect.
	* sysdeps/i386/i486/bits/atomic.h: Define atomic_exchange.
	* sysdeps/x86_64/bits/atomic.h: Likewise.
	* sysdeps/ia64/bits/atomic.h: Pretty printing.  Define atomic_exchange.
	* sysdeps/powerpc/bits/atomic.h: Pretty printing.  Define
	atomic_exchange, atomic_exchange_and_add, and
	atomic_decrement_if_positive
2003-03-20 10:18:24 +00:00
Ulrich Drepper
5132931e18 Define atomic_exchange and atomic_decrement_if_positive if not already defined. Add some __builtin_expect. 2003-03-20 10:11:43 +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
Roland McGrath
7d0878cc83 Merged sh[34].*-.*-linux.* lists. 2003-03-20 09:28:07 +00:00
Ulrich Drepper
3dbe0d9517 Change atomic_exchange_and_add to return the old value. 2003-03-20 09:03:23 +00:00
Ulrich Drepper
91958edc84 (allocate_stack): Assume atomic_exchange_and_add returns the old value. 2003-03-20 08:58:35 +00:00
Alexandre Oliva
bfd49d5558 * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: Sign-extend with a single instruction.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: Sign-extend
	with a single instruction.
2003-03-20 07:54:56 +00:00
Alexandre Oliva
50449bed17 * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Define properly for n64. (elf_machine_runtime_setup): Cast link_map pointer to Elf Addr type. (elf_machine_rel, elf_machine_rel_relative): Cast symidx to Elf Word before comparing with gotsym. Take reloc_addr argument as void*. Remove the code added for the compiler to drop any alignment assumptions.
2003-03-20  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Define
	properly for n64.
	(elf_machine_runtime_setup): Cast link_map pointer to Elf Addr
	type.
	(elf_machine_rel, elf_machine_rel_relative): Cast symidx to Elf
	Word before comparing with gotsym.  Take reloc_addr argument as
	void*.  Remove the code added for the compiler to drop any
	alignment assumptions.
2003-03-20 07:54:21 +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
85b5767c57 Update.
* stdlib/strtod.c (INTERNAL): While eating trailing zeros handling
	hexdigits correctly.  Reported by Fred Tydeman <tydeman@tybor.com>.
	* stdlib/tst-strtod.c: Add test for the bug.
2003-03-20 01:10:57 +00:00
Ulrich Drepper
350e9b8552 (INTERNAL): While eating trailing zeros handling hexdigits correctly. 2003-03-20 01:00:46 +00:00
Alexandre Oliva
ce3a4adf6d * sysdeps/mips/ieee754.h: New file, suitable to replace both ../ieee754/ieee754.h and ../ieee754/ldbl-128/ieee754.h, kept mips-specific for now.
2003-03-19  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/mips/ieee754.h: New file, suitable to replace both 
	../ieee754/ieee754.h and ../ieee754/ldbl-128/ieee754.h, kept
	mips-specific for now.
2003-03-20 00:39:32 +00:00
Ulrich Drepper
8c937b8439 Update.
2003-03-19  Ulrich Drepper  <drepper@redhat.com>

	* posix/tst-nice.c (do_test): Remove invalid of return value.
	Don't run test if initial level != 0.
2003-03-19 23:03:56 +00:00
Ulrich Drepper
cb8ed9413e Update.
2003-03-19  Amos Waterland  <apw@us.ibm.com>

	* posix/tst-nice.c: New file.
	* posix/Makefile (tests): Add tst-nice.
2003-03-19 22:36:57 +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