Commit Graph

590 Commits

Author SHA1 Message Date
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
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
Andreas Jaeger
34f8ef1b4b Update
2003-03-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/libm-test-ulps: Update.

	* math/libm-test.inc (tgamma_test): Recompute some constants with
	36 digits precision.
	(lgamma_test): Likewise.
	(ccos_test): Likewise.
	(ccosh_test): Likewise.
	(clog10_test): Likewise.
	(csin_test): Likewise.
	(csinh_test): Likewise.
	(ctan_test): Likewise.
	(ctanh_test): Likewise.

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

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerated.
2003-03-22 06:14:37 +00:00
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
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
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
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
3dbe0d9517 Change atomic_exchange_and_add to return the old value. 2003-03-20 09:03:23 +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
Roland McGrath
e48f96382f * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
assembler command.
	* sysdeps/unix/Makefile (compile-syscall): New variable.
	Pass -g0 to compiler for assembling syscall stubs from stdin.

	* sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO]
	(STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END):
	Define these to do nothing.

	* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:11:13 +00:00
Ulrich Drepper
427f5fa1a4 Update.
2003-02-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Increase ULPs for yn due to
	code generation changes in recent gcc.
2003-02-27 22:29:25 +00:00
Ulrich Drepper
a439bb2fa3 Update.
* sysdeps/i386/fpu/s_nextafterl.c: Decrement high word of mantissa
	of demorm correctly if low word is zero.
	Reported by Fred J. Tydeman <tydeman@tybor.com>.
2003-02-15 05:25:17 +00:00
Ulrich Drepper
432a73f725 memmove for i686. 2003-02-04 07:51:36 +00:00
Ulrich Drepper
642eb2a2ed Update.
2003-01-13  Ulrich Drepper  <drepper@redhat.com>

	* string/tester.c (test_strcpy): Use the previously #if 0'ed code
	to test void* parameters.

	* sysdeps/i386/i486/bits/string.h (__STRING_SMALLL_GET16): Cast
	source pointer before dereferencing.
	(__STRING_SMALLL_GET32): Likewise.
	(__memset_gc): Add missing parenthesis around macro arguments.
	Patch by Denis Zaitsev<zzz@cd-club.ru>.

	* sysdeps/i386/i486/bits/string.h (__strspn_cg): Tell the compiler
	that %eax is modified.  Reported by Denis Zaitsev<zzz@cd-club.ru>.
2003-01-14 07:52:31 +00:00
Ulrich Drepper
aff4519d38 Update.
2003-01-11  Jim Meyering  <jim@meyering.net>

	* io/ftw.c [HAVE_CONFIG_H]: Include <config.h>.
	[HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>.
	Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC.
	[!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define.
	[!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define.
	[!_LIBC] (internal_function, dirent64, MAX): Define.
	(__set_errno): Define if not already defined.
	(open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on
	the basename, not the entire file name.
	(process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on
	the basename, not the entire file name.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>

	* string/tester.c (test_strcpy): Disable last added strcpy until
	it is fixed.

2003-01-11  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support.

2003-01-11  Andreas Schwab  <schwab@suse.de>

	* Makerules: Add vpath for %.dynsym and %.so so that the
	implicit rule chaining for check-abi works.

2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
	Add non-PIC case.

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

	* elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define.
	[__ia64__] (TLS_LE, TLS_IE): Fix typos.  Add ;; at start of asm if
	gp is used early.
	[__ia64__] (TLS_LD, TLS_GD): Likewise.  Use __TLS_CALL_CLOBBERS.
	* elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so):
	Ensure libc.so in DT_NEEDED.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Move
	CHECK_STATIC_TLS before l_tls_offset use.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]:
	Allocate TLS_PRE_TCB_SIZE bytes below result.
	(_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): If
	TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS
	segment has been found.  If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE
	bytes below result and add tcb_offset to memsz.
	* sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype.
	* sysdeps/ia64/dl-machine.h: Include tls.h.
	(elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs
	too.
	(elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too.
	Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations.
	* sysdeps/ia64/libc-tls.c: New file.

2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX):
	Fix type.  Move definition out of #if.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation
	support.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove
	ftruncate64, pread64, pwrite64, truncate64 entries.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
	(INLINE_SYSCALL): New version that supports function call like
	syscalls.  Add __builtin_expect.
	(LOADARGS_n): Add argument size safety checks.
	(INTERNAL_SYSCALL): New Macro.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid
	redefinition of elf_fpreg_t and elf_fpregset_t.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Add several asserts.  Correct and
	simplify test for unloading.  If loader of a DSO is unloaded do not
	use its scope anymore.  Fall back to own scope and adjust opencounts.
	Fix several comments.
	* elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for
	the l_searchlist, not only for l_initfini.

	* elf/dl-lookup.c (add_dependencies): Avoid creating relocation
	dependencies if objects cannot be removed.  Remove object with the
	definition as not unloadable if necessary.

	* elf/reldep6.c: Create relocation dependency before closing the first
	module.

2003-01-10  Guido Gnther  <agx@sigxcpu.org>
	* elf/Makefile: Add rules to build and run reldep9 test.
	* elf/reldep9.c: New file.
	* elf/reldep9mod1.c: New file.
	* elf/reldep9mod2.c: New file.
	* elf/reldep9mod3.c: New file.

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

	* elf/Makefile: Add rules to build and run nodelete2 test.
	* elf/nodelete2.c: New file.
	* elf/nodel2mod1.c: New file.
	* elf/nodel2mod2.c: New file.
	* elf/nodel2mod3.c: New file.

2003-01-09  Jakub Jelinek  <jakub@redhat.com>
2003-01-12 10:11:16 +00:00
Ulrich Drepper
29d9a17dba Update.
2003-01-09  Jakub Jelinek  <jakub@redhat.com>

	* posix/test-vfork.c (noop): Add __attribute_noinline__.
	* sysdeps/generic/sysdep.h (JUMPTARGET): Define if not defined.
	* sysdeps/i386/sysdep.h (JUMPTARGET): Undefine JUMPTARGET before
	defining it.
	* sysdeps/powerpc/powerpc32/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/powerpc/powerpc64/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Likewise.
	* sysdeps/x86_64/sysdep.h (JUMPTARGET): Likewise.
2003-01-09 20:30:21 +00:00
Ulrich Drepper
b5facfdac0 Update.
2003-01-06  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little.
	[__LIBC_REENTRANT]: Unify PIC and non-PIC cases.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type
	directive.
	(PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
	(SYSCALL_ERROR): New.
	(SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
	handling code.
	(INTERNAL_SYSCALL): Define.
	(INLINE_SYSCALL): Use it.
	(INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
	* sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use
	SYSCALL_ERROR in place of __syscall_error.

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

	* sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
	__bswap_32, __bswap_64): Put x into temporary variable
	to avoid warnings.
	[!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
	(inline) functions.
	* sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16,
	__bswap_32, __bswap_64): Put x into temporary variable
	to avoid warnings.
	[!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static
	(inline) functions.
	* sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32):
	Likewise.

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

	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak
	alias.
2003-01-08 00:22:00 +00:00
Ulrich Drepper
4d464f39c8 (__significandl): Really return significand and not the exponent. 2003-01-07 07:42:11 +00:00
Roland McGrath
6876cdf853 2003-01-06 Roland McGrath <roland@redhat.com>
* sysdeps/i386/i486/bits/string.h (memset): Add parens around macro
	arguments.
	(memcpy, memrchr, strcpy, __stpcpy, strncpy, strcat): Likewise.
	(strcmp, strncat, strncmp, strchr, __strchrnul, strchrnul): Likewise.
	(index, strrchr, rindex, strcspn, strspn, strpbrk, strstr): Likewise.
2003-01-07 07:37:54 +00:00
Ulrich Drepper
a4baf360be Update.
* io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.
	* sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
	nsec resolution changes.
	(xstat64_conv): Likewise.
	(xstat32_conv): Likewise.
	* sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
	struct kernel_stat.
	* sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
	structs stat and stat64.
	* time/time.h (__timespec_defined): Define for __USE_MISC.

2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin
	and __libc_current_sigrtmax.

2002-12-31  Jakub Jelinek  <jakub@redhat.com>

	* include/errno.h (__errno_location): Add prototype.
	Use libc_hidden_proto unconditionally.
	* include/netdb.h (__h_errno_location): Use libc_hidden_proto
	unconditionally.
	* include/resolv.h (__res_state): Likewise.

	* hurd/errno-loc.c (__errno_location): Add libc_hidden_def.
	* include/sys/socket.h (accept): Add libc_hidden_proto.
	* include/errno.h (__errno_location): Likewise.
	* include/netdb.h (__h_errno_location): Likewise.
	* include/resolv.h (__res_state): Likewise.
	* include/unistd.h (__lseek): Likewise.
	* sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def.
	* sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise.
	* sysdeps/generic/res-state.c (__res_state): Likewise.
	* sysdeps/generic/accept.c (accept): Likewise.
	* sysdeps/generic/lseek.c (__lseek): Likewise.
	* sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin,
	__libc_current_sigrtmax): Likewise.
	* sysdeps/mach/hurd/accept.c (accept): Likewise.
	* sysdeps/mach/hurd/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/aix/accept.c (accept): Likewise.
	* sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/linux/accept.S (accept): Likewise.
	* sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New
	alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek):
	New alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek.

	* sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of
	strong_alias (name, __GI_name).
	* sysdeps/arm/bsd-_setjmp.S : Likewise.
	* sysdeps/hppa/bsd-_setjmp.S : Likewise.
	* sysdeps/i386/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise.
	* sysdeps/sh/bsd-_setjmp.S : Likewise.
	* sysdeps/sparc/sparc32/setjmp.S : Likewise.
	* sysdeps/unix/arm/fork.S : Likewise.
	* sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/i386/vfork.S : Likewise.
	* sysdeps/unix/bsd/osf/alpha/fork.S : Likewise.
	* sysdeps/unix/bsd/sun/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/vfork.S : Likewise.
	* sysdeps/unix/bsd/vax/vfork.S : Likewise.
	* sysdeps/unix/i386/fork.S : Likewise.
	* sysdeps/unix/mips/fork.S : Likewise.
	* sysdeps/unix/sparc/fork.S : Likewise.
	* sysdeps/unix/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/arm/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/cris/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/m68k/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/sh/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise.
	* sysdeps/unix/fork.S : Likewise.
	* sysdeps/vax/bsd-_setjmp.S : Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S : Likewise.

	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple
	inclusion.
2002-12-31 20:46:11 +00:00
Ulrich Drepper
9b4289aaf7 Update.
2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/setjmp.h: Add libc_hidden_proto for _setjmp.
	* sysdeps/alpha/setjmp.S: Add __GI__setjmp alias.
	* sysdeps/arm/bsd-_setjmp.S: Likewise.
	* sysdeps/generic/bsd-_setjmp.c: Likewise.
	* sysdeps/hppa/bsd-_setjmp.S: Likewise.
	* sysdeps/i386/bsd-_setjmp.S: Likewise.
	* sysdeps/m68k/bsd-_setjmp.c: Likewise.
	* sysdeps/mips/bsd-_setjmp.S: Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S: Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S: Likewise.
	* sysdeps/sh/bsd-_setjmp.S: Likewise.
	* sysdeps/sparc/sparc32/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
	* sysdeps/vax/bsd-_setjmp.S: Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S: Likewise.
2002-12-31 09:36:52 +00:00
Ulrich Drepper
e150fddc7c Backout last change. 2002-12-16 19:32:31 +00:00
Roland McGrath
0274d73c41 * iconv/gconv_conf.c: Convert GCC extension initializer syntax to C99.
* iconvdata/gap.awk: Likewise.
	* iconvdata/gen-8bit-gap-1.sh: Likewise.
	* iconvdata/gen-8bit-gap.sh: Likewise.
	* locale/C-address.c: Likewise.
	* locale/C-collate.c: Likewise.
	* locale/C-ctype.c: Likewise.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-messages.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-time.c: Likewise.
	* nscd/connections.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdlib/random.c: Likewise.
	* sysdeps/generic/siglist.c: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/ieee754/bits/nan.h: Likewise.
	* sysdeps/posix/sprofil.c: Likewise.
	* sysdeps/unix/sysv/linux/sleep.c: Likewise.
	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
	* sysdeps/unix/sysv/linux/usleep.c: Likewise.
2002-12-16 02:05:36 +00:00
Ulrich Drepper
70a8ca6d89 Update.
* sysdeps/i386/bits/byteswap.h (__bswap_64): Apply
	__builtin_constant_p to macro parameter.
2002-12-11 06:32:37 +00:00
Roland McGrath
06b31ad3ef * elf/Makefile (tests): Uncomment tst-array[123].
* Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1.
	* csu/elf-init.c: New file.
	* csu/Makefile (routines, static-only-routines): Add elf-init.
	* sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init
	and __libc_csu_fini in place of _fini.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/cris/elf/start.S: Likewise.
	* sysdeps/hppa/elf/start.S: Likewise.
	* sysdeps/i386/elf/start.S: Likewise.
	* sysdeps/ia64/elf/start.S: Likewise.
	* sysdeps/m68k/elf/start.S: Likewise.
	* sysdeps/mach/hurd/powerpc/static-start.S: Likewise.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/elf/start.S: Likewise.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.
	* sysdeps/sh/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Likewise.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/x86_64/elf/start.S: Likewise.
2002-12-09 20:37:37 +00:00
Roland McGrath
216455bc28 * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS]
members to the end, so a libpthread compiled with !USE_TLS will still
	find other members properly.

	* sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output
	operand for DEST memory.  Fix dummy input operand to use SRC.
	Reported by Davin McCall <davmac@ozonline.com.au>.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB
	alignment when initializing the DTV entry.

	* elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment
	when TLS has not been set up, try to set it up if we can.
	* elf/tst-tls4.c: Revert last change.
	* elf/tst-tls5.c: Likewise.
	* elf/tst-tls6.c: Likewise.
	* elf/tst-tls7.c: Likewise.
	* elf/tst-tls8.c: Likewise.
	* elf/tst-tls9.c: Likewise.

	* sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
	* sysdeps/generic/ldsodefs.h: Declare it.
	* elf/Versions (ld: GLIBC_PRIVATE): Add it.
	* sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
	function, broken out of __libc_setup_tls.
	(init_static_tls): Likewise.
	(__libc_setup_tls): Call them.
	(_dl_tls_setup): New function, uses new subroutines.

	* elf/dl-close.c (free_slotinfo): Make argument pointer to pointer.
	Clear the pointer when returning true.
	(libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the
	first element of the slotinfo list too.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if
	[SHARED].

	* sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
	(_dl_determine_tlsoffset): Likewise.

	* elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
	startup_error_tsd, made global.
	(dl_main): Update initialization.
	* elf/dl-tsd.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare it.
2002-12-04 12:30:40 +00:00
Roland McGrath
92712dee68 * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.
* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.

2002-11-15  Roland McGrath  <roland@redhat.com>

	* math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
	from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
	(+make-include-of-dep): New canned sequence.

	* stdlib/canonicalize.c (__realpath): Check for malloc failure.
	From Dmitry V. Levin <ldv@altlinux.org>.
2002-11-15 22:51:30 +00:00
Roland McGrath
bde40c2f9a * sysdeps/i386/soft-fp/sfp-machine.h (_FP_NANFRAC_Q, _FP_NANSIGN_Q):
New macros.
	* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.

	* soft-fp/soft-fp.h: Allow sfp-machine.h to define FP_RND_NEAREST
	without defining FP_ROUNDMODE.
2002-11-01 21:49:33 +00:00
Roland McGrath
2ac03c5dae 2002-10-31 Roland McGrath <roland@redhat.com>
* sysdeps/i386/bits/byteswap.h [__GNUC__ < 2] (__bswap_32):
	Renamed from __bswap_16 (typo fix).  Reported by <dens@stl.sarov.ru>.
2002-11-01 04:12:25 +00:00
Roland McGrath
f4b07664fb * configure: Regenerated (using Autoconf 2.54).
* sysdeps/alpha/elf/configure: Likewise.
	* sysdeps/generic/configure: Likewise.
	* sysdeps/i386/elf/configure: Likewise.
	* sysdeps/ia64/elf/configure: Likewise.
	* sysdeps/mach/hurd/configure: Likewise.
	* sysdeps/mach/configure: Likewise.
	* sysdeps/unix/configure: Likewise.
	* sysdeps/unix/common/configure: Likewise.
	* sysdeps/unix/sysv/aix/configure: Likewise.
	* sysdeps/unix/sysv/linux/configure: Likewise.
	* sysdeps/unix/sysv/linux/mips/configure: Likewise.
	* sysdeps/x86_64/elf/configure: Likewise.

	* config.make.in: Nix completely-soft nonsense.
	* configure.in: Likewise.  Under --without-fp, use nofpu subdirectory
	of machine directories instead of fpu subdirectory.
	* sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change.
	* sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead.
	* sysdeps/powerpc/soft-fp/sim-full.c: Moved to ...
	* sysdeps/powerpc/nofpu/sim-full.c: ... here.
	* sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ...
	* sysdeps/powerpc/nofpu/fegetexcept.c: ... here.
	* sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/fclrexcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ...
	* sysdeps/powerpc/nofpu/ftestexcept.c: ... here.
	* sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ...
	* sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here.
	* sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ...
	* sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here.
	* sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/feenablxcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ...
	* sysdeps/powerpc/nofpu/fegetenv.c: ... here.
	* sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ...
	* sysdeps/powerpc/nofpu/fesetenv.c: ... here.
	* sysdeps/powerpc/soft-fp/fegetround.c: Moved to ...
	* sysdeps/powerpc/nofpu/fegetround.c: ... here.
	* sysdeps/powerpc/soft-fp/fesetround.c: Moved to ...
	* sysdeps/powerpc/nofpu/fesetround.c: ... here.
	* sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ...
	* sysdeps/powerpc/nofpu/feupdateenv.c: ... here.
	* sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ...
	* sysdeps/powerpc/nofpu/feholdexcpt.c: ... here.
	* sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ...
	* sysdeps/powerpc/nofpu/fenv_const.c: ... here.
	* sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ...
	* sysdeps/powerpc/nofpu/libm-test-ulps: ... here.
	* sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ...
	* sysdeps/powerpc/nofpu/soft-supp.h: ... here.
	* sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ...
	* sysdeps/powerpc/nofpu/Versions: ... here, new file.

2002-10-19  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file.

2002-10-18  Roland McGrath  <roland@redhat.com>

	* io/Makefile (routines): Add lchmod.
	* io/sys/stat.h [__USE_BSD] (lchmod): Declare it.
	* sysdeps/generic/lchmod.c: New file.
	* sysdeps/mach/hurd/lchmod.c: New file.
	* io/Versions (libc: GLIBC_2.3.2): New set, add lchmod.
2002-10-19 20:07:18 +00:00
Roland McGrath
c2f55635da * configure.in: Replace AC_FD_CC with AS_MESSAGE_LOG_FD.
* sysdeps/alpha/elf/configure.in: Likewise.
        * sysdeps/i386/elf/configure.in: Likewise.
        * sysdeps/mach/hurd/configure.in: Likewise.
        * sysdeps/x86_64/elf/configure.in: Likewise.
2002-10-18 20:28:09 +00:00
Roland McGrath
e21c057f16 2002-10-18 Jeff Bailey <jbailey@gnu.org>
* sysdeps/alpha/elf/configure.in: Remove unneeded sinclude statement.
        * sysdeps/generic/configure.in: Likewise.
        * sysdeps/i386/elf/configure.in: Likewise.
        * sysdeps/ia64/elf/configure.in: Likewise.
        * sysdeps/mach/configure.in: Likewise.
        * sysdeps/mach/hurd/configure.in: Likewise.
        * sysdeps/unix/configure.in: Likewise.
        * sysdeps/unix/common/configure.in: Likewise.
        * sysdeps/unix/sysv/aix/configure.in: Likewise.
        * sysdeps/unix/sysv/linux/configure.in: Likewise.
        * sysdeps/unix/sysv/linux/mips/configure.in: Likewise.
        * sysdeps/x86_64/elf/configure.in: Likewise.
2002-10-18 19:38:06 +00:00
Ulrich Drepper
8dd8681f4a Update.
* sysdeps/powerpc/soft-fp/soft-supp.h: New file.
2002-10-18 05:05:55 +00:00
Ulrich Drepper
d025fe269a Pretty printing. 2002-10-17 21:32:59 +00:00
Roland McGrath
eb775e678d 2002-10-17 Roland McGrath <roland@redhat.com>
* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS
	before performing the reloc, not before.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
2002-10-17 19:44:19 +00:00
Roland McGrath
2430d57a13 * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS.
* elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro
	to signal error if an IE-model TLS reloc resolved to a dlopen'd module.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Call it after performing TPOFF relocs.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op).

	* elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash
	when closing a partially-initialized object.

	* elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose
	instead of _dl_fatal_printf when we see PT_TLS.
2002-10-17 12:10:17 +00:00
Roland McGrath
f04125597e * sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
* sysdeps/sh/dl-lookupcfg.h: File removed.
	* sysdeps/i386/dl-lookupcfg.h: File removed.
2002-10-11 12:19:55 +00:00
Roland McGrath
ce460d04a5 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].

	* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
	Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
	* sysdeps/x86_64/dl-machine.h
	(elf_machine_type_class, elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
	Likewise.

	* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
	* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
	(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].

	* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
	instead of ___tls_get_addr.
	(___tls_get_addr_internal): Add attribute_hidden to decl.

	* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
	_dl_error_catch_tsd.
	* elf/rtld.c (startup_error_tsd): New function.
	(dl_main): Point _dl_error_catch_tsd at that.
	* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
	use new function pointer instead.
	* elf/dl-tsd.c: New file.
	* elf/Makefile (routines): Add it.

2002-10-07  Roland McGrath  <roland@redhat.com>

	* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
	writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
	take _dl_load_lock around calling __writev.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
	(INLINE_SYSCALL): Use that.

	* sysdeps/generic/dl-sysdep.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.h: New file.
	* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
	* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
	[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
	access it directly.
	* elf/dl-minimal.c (__errno_location): Removed.
	* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use GOTOFF access for errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use PC-relative access for errno.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* include/tls.h: New file.
	(USE___THREAD): New macro.
	Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
	libc or libpthread.
	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
	changed from [USE_TLS && HAVE___THREAD].
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.
	* include/errno.h: Likewise.
	* include/netdb.h: Likewise.
	* include/resolv.h: Likewise.

	* sysdeps/generic/errno.c: New file.
	* csu/Makefile (aux): New variable, list errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
	* sysdeps/unix/alpha/sysdep.S: Likewise.
	* sysdeps/generic/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.

	* manual/search.texi (Tree Search Function, Hash Search Function):
	Mention search.h clearly.

2002-10-05  Roland McGrath  <roland@redhat.com>

	* elf/dl-fxstat64.c: File removed.
	* elf/dl-xstat64.c: File removed.
	* elf/Makefile (rtld-routines): Remove them.
	* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
	Instead, use strong_alias instead of versioned_symbol in the
	!SHLIB_COMPAT case.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.

	* include/shlib-compat.h
	(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
	[! NOT_IN_libc] (IS_IN_libc): Define it.
	* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
	* elf/Makefile (CPPFLAGS-.os): Likewise.

	* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
	Return the status instead of calling exit.

	* Makeconfig (CFLAGS): Prepend -std=gnu99.
	* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
	Remove superfluous rm command, whose @ plus make bugs hid
	all these commands from the make output.

	* include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
	* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
	Use that file's contents instead of literal echo's for the prologue.
	* include/features.h: Include <gnu/stubs.h> unconditionally.
	* include/gnu/stubs.h: New file.

2002-09-30  Roland McGrath  <roland@redhat.com>

	* elf/rtld-Rules: New file.
	* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
	$(objpfx)rtld-libc.a): New targets.
	(generated): Add them.
	(reloc-link): Remove -o $@ from the variable.
	($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
	(distribute): Add rtld-Rules.
	(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
	(common-mostlyclean, common-clean): Clean up rtld-* files.
	* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-10-11 10:52:20 +00:00
Roland McGrath
fe27057d17 * elf/tls-macros.h (TLS_LD, TLS_GD): Use call insn, not callq.
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]:
	Use direct-%fs form of TLS access for errno.

	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since
	the i386 version has all the same asm now.

	* sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to
	the TLS support check.
	* sysdeps/i386/elf/configure: Regenerated.

	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD]
	(SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno.

	* sysdeps/unix/i386/sysdep.S (syscall_error)
	[USE_TLS && HAVE___THREAD]: Use TLS access for errno.
2002-09-30 10:26:59 +00:00
Ulrich Drepper
a3c12833f8 Update.
2002-09-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/wordsize-32/Makefile: New file.
	* sysdeps/arm/Makefile: Removed.
	* sysdeps/i386/Makefile (sysdep_routines, shared-only-routines):
	Don't add divdi3 here.
	* sysdeps/m68k/Makefile: Likewise.
	* sysdeps/powerpc/powerpc32/Makefile: Likewise.
	* sysdeps/sh/Makefile: Likewise.
	* sysdeps/s390/s390-32/Makefile: Likewise.
2002-09-19 06:50:30 +00:00
Ulrich Drepper
dfc89273f7 Update.
* sysdeps/powerpc/fpu/Dist: Move fprrest.S and fprsave.S to...
	* sysdeps/powerpc/powerpc32/fpu/Dist: ...here.  New file.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Move kernel_stat.h to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: ...here.

	* sysdeps/i386/Makefile: Remove obsolete db2 rules.

	* sysdeps/unix/sysv/linux/Makefile: Add exit-thread.S.

	* sysdeps/unix/sysv/linux/powerpc/Dist: Add ldd-rewrite.sh.

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: New file.
2002-09-19 06:36:54 +00:00
Roland McGrath
1d0ad77362 * elf/dl-lookup.c (_dl_debug_bindings): Print TLS lookups always.
* elf/elf.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE,
	R_386_TLS_LE): Define.
	(R_386_TLS_IE_32, R_386_TLS_LE_32, R_386_TLS_TPOFF32): Update
	comments.
	* sysdeps/i386/dl-machine.h (elf_machine_type_class): Return
	ELF_RTYPE_CLASS_PLT for R_386_TLS_TPOFF.
	(elf_machine_rel): Handle R_386_TLS_TPOFF.
	(elf_machine_rela): Likewise.
	Remove unnecessary RTLD_BOOTSTRAP #ifdefs.
2002-09-18 01:18:08 +00:00
Roland McGrath
4730fc6882 * sysdeps/i386/dl-machine.h (elf_machine_rel)
(case R_386_TLS_DTPMOD32): Don't use addend.
	[case R_386_TLS_TPOFF32]: Remove redundant SYM_MAP != NULL check.
	(elf_machine_rela): Add support for TLS relocs.
2002-09-14 09:17:58 +00:00
Ulrich Drepper
76f2646f3d Update.
2002-09-09  Jakub Jelinek  <jakub@redhat.com>

	* include/math.h (__finite_internal, __finitef_internal,
	__finitel_internal, __isinf_internal, __isnan_internal): Remove.
	(isfinite): Remove.
	(__finite, __isinf, __isnan, __finitef, __isinff, __isnanf, __finitel,
	__isinfl, __isnanl): Add hidden_proto.
	(__fpclassify, __fpclassifyf, __fpclassifyl, __expm1l): Add
	libm_hidden_proto.
	* math/Makefile (libm-calls): Add s_isinf and s_isnan.
	* stdio-common/printf_fp.c (__printf_fp): Remove INTUSE from
	__is{inf,nan} calls.
	* stdio-common/printf_size.c (printf_size): Likewise.
	* sysdeps/generic/printf_fphex.c (__printf_fphex): Likewise.
	* sysdeps/generic/s_ldexp.c (__ldexp): Likewise.
	* sysdeps/generic/s_ldexpf.c (__ldexpf): Likewise.
	* sysdeps/generic/s_ldexpl.c (__ldexpl): Likewise.
	* sysdeps/generic/s_expm1l.c (__expm1l): Add libm_hidden_def.
	* sysdeps/i386/fpu/s_finite.S (__finite_internal): Remove alias.
	(__finite): Add hidden_def.
	* sysdeps/i386/fpu/s_finitef.S (__finitef_internal): Remove alias.
	(__finitef): Add hidden_def.
	* sysdeps/i386/fpu/s_finitel.S (__finitel_internal): Remove alias.
	(__finitel): Add hidden_def.
	* sysdeps/i386/fpu/s_isinfl.c (__isinfl): Remove INTDEF.  Add
	hidden_def.
	* sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
	* sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/i386/fpu/s_expm1l.S (__expm1l): Likewise.
	* sysdeps/ieee754/dbl-64/s_finite.c (__finite): Remove INTDEF.  Add
	hidden_def.
	* sysdeps/ieee754/dbl-64/s_isinf.c (__isinf): Likewise.
	(__isinfl): Remove INTDEF.
	* sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Remove INTDEF.  Add
	hidden_def.
	(__isnanl): Remove INTDEF.
	* sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Add
	libm_hidden_def.
	* sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Use __sin and __cos
	instead of sin and cos.
	* sysdeps/ieee754/flt-32/s_finitef.c (__finitef): Remove INTDEF.
	Add hidden_def.
	* sysdeps/ieee754/flt-32/s_isinff.c (__isinff): Likewise.
	* sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise.
	* sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): Add
	libm_hidden_def.
	* sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Remove INTDEF.
	Add hidden_def.
	* sysdeps/ieee754/ldbl-128/s_isinfl.c (__isinfl): Likewise.
	* sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise.
	* sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add
	libm_hidden_def.
	* sysdeps/ieee754/ldbl-96/s_finitel.c (__finitel): Remove INTDEF.
	Add hidden_def.
	* sysdeps/ieee754/ldbl-96/s_isinfl.c (__isinfl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_isnanl.c (__isnanl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/ia64/fpu/s_finite.S (__finite_internal, __finitef_internal,
	__finitel_internal): Remove aliases.
	(__finite, __finitef, __finitel): Add hidden_def.
	* sysdeps/ia64/fpu/s_isnan.S (__isnan_internal, __isnanf_internal,
	__isnanl_internal): Remove aliases.
	(__isnan, __isnanf, __isnanl): Add hidden_def.
	* sysdeps/ia64/fpu/s_isinf.S (__isinf_internal, __isinff_internal,
	__isinfl_internal): Remove aliases.
	(__isinf, __isinff, __isinfl): Add hidden_def.
	* sysdeps/ia64/fpu/s_fpclassify.S (__fpclassify, __fpclassifyf,
	__fpclassifyl): Add libm_hidden_def.
	* sysdeps/ia64/fpu/s_expm1l.S (__expm1l): Likewise.
	* sysdeps/m68k/s_isinfl.c (__isinfl): Remove INTDEF.  Add hidden_def.
	* sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Remove.
	(hidden_defx): Define and use.
	* sysdeps/m68k/fpu/s_fpclassifyl.c (__fpclassifyl): Add
	libm_hidden_def.
	* sysdeps/m68k/fpu/s_expm1l.c (__expm1l): Likewise.
	* sysdeps/m68k/s_isnanl.c (__isnanl): Add hidden_def.
	* sysdeps/powerpc/fpu/s_isnan.c (__isnan, __isnanf, __isnanl):
	Remove INTDEF.
	(__isnan, __isnanf): Add hidden_def.
	* sysdeps/x86_64/fpu/s_finitel.S (__finitel_internal): Remove alias.
	(__finitel): Add libm_hidden_def.
	* sysdeps/x86_64/fpu/s_expm1l.S (__expm1l): Likewise.

	* include/fenv.h (feraiseexcept, fesetenv): Add libm_hidden_proto.
	* sysdeps/alpha/fpu/fesetenv.c (fesetenv): Add libm_hidden_ver.
	* sysdeps/alpha/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/arm/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/arm/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/generic/fesetenv.c (fesetenv): Likewise.
	* sysdeps/generic/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/i386/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/i386/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/m68k/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/m68k/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/mips/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/mips/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/powerpc/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/sparc/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/sparc/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/hppa/fpu/fesetenv.c (fesetenv): Add libm_hidden_def.
	* sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/ia64/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/sh/sh4/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/s390/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/s390/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
	* sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/x86_64/fpu/fraiseexcpt.c (feraiseexcept): Likewise.
2002-09-10 01:40:26 +00:00
Roland McGrath
868b78c83c * elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
* sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
	define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME.
2002-08-29 23:24:40 +00:00
Ulrich Drepper
47b7bcd64e Adjust ulp for yn for float. 2002-08-28 11:32:01 +00:00
Ulrich Drepper
ddfe91ff37 Update.
2002-08-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/Dist: Add _mcount.S and bits/link.h.

	* sysdeps/s390/Dist: Add bits/link.h.

	* sysdeps/sh/Dist: New file.

	* sysdeps/ia64/Dist: Add ia64libgcc.S.

	* sysdeps/wordsize-32/Dist: New file.

	* sysdeps/unix/sysv/linux/alpha/Dist: Add dl-brk.S.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise.

	* sysdeps/unix/sysv/linux/Dist: Add dl-brk.c, dl-sbrk.c, and
	sys/personality.h.

	* sysdeps/unix/Dist: Add i386/dl-brk.S, mips/dl-brk.S, and
	sparc/dl-brk.S.

	* sysdeps/unix/bsd/Dist: Add vax/dl-brk.S.

	* sysdeps/unix/bsd/sun/Dist: New file.

	* sysdeps/unix/bsd/osf/Dist: New file.

	* sysdeps/unix/bsd/hp/Dist: New file.

	* sysdeps/unix/arm/Dist: New file.

	* sysdeps/powerpc/Dist: Add divdi3.c and libgcc-compat.S.

	* sysdeps/mach/hurd/Dist: Add set-init.c.

	* sysdeps/i386/Dist: Add bits/link.h.

	* sysdeps/gnu/Dist: Add errlist-compat.c errlist-compat.awk.

	* sysdeps/generic/Dist: Add dl-brk.c and dl-sbrk.c.

	* locale/Makefile (distribute): Add hashval.h.

	* iconvdata/Makefile (distribute): Add tcvn5712-1.c and armscii-8.c.

	* sysdeps/unix/sysv/linux/Dist: Remove errlist.h.

	* misc/sys/cdefs.h: Define __BEGIN_NAMESPACE_STD, __END_NAMESPACE_STD,
	__USING_NAMESPACE_STD, __BEGIN_NAMESPACE_C99, __END_NAMESPACE_C99, and
	__USING_NAMESPACE_C99 dependingon _GLIBCPP_USE_NAMESPACES.
	* ctype/ctype.h: Prepare headers for use in ISO C++ compliant
	implementations.
	* libio/stdio.h: Likewise.
	* locale/locale.h: Likewise.
	* math/math.h: Likewise.
	* math/bits/mathcalls.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* signal/signal.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* time/time.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* wctype/wctype.h: Likewise.

	* locale/programs/locarchive.c (insert_name): Suppress warnings about
	hash collisions if be_quiet.
	* stdio-common/Makefile: Fix typo in stdio_lim.h installation rule.

	* Makefile (distribute): Add LICENSES.

	* libio/fileops.c (_IO_file_open): Only set file pointer to end of the
	file for _IO_IS_APPENDING if file isn't opened for reading, too.
2002-08-28 09:31:39 +00:00
Roland McGrath
ffa8d2a098 * locale/programs/ld-ctype.c (ctype_read): When given a repertoire
name of "", store a null pointer instead.

	* configure.in (elf): Set to yes for freebsd*, netbsd*.
	* configure: Regenerated.

	* locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE):
	Initialize this instead of __libc_tsd_LOCALE_data.

	* sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from
	ptsname_r to EINVAL.

	* sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0.

	* rt/Makefile: Revert last change, it was inappropriate to presume aio
	implementations depend on pthreads.
	* rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS.
	* rt/tst-aio64.c (do_test): Likewise.
	* rt/tst-aio2.c (do_test): Likewise.
	* rt/tst-aio3.c (do_test): Likewise.
	* rt/tst-aio4.c (do_test): Likewise.
	* rt/tst-aio5.c (do_test): Likewise.
	* rt/tst-aio6.c (do_test): Likewise.
	* rt/tst-aio7.c (do_test): Likewise.

	* sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to
	void so as to avoid compiler warnings.

	* libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define
	_IO_wide_data_FD, which is never used here.

	* libio/iofread.c
	[! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn.
	* libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise.
	* libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise.

	* include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl.
	* include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern.

	* misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT].
	(closelog): Likewise.

2002-07-06  Bruno Haible  <bruno@clisp.org>

	* sysdeps/alpha/fpu/fpu_control.h: Comment fix.

	* sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ...
	* sysdeps/unix/alpha/pipe.S: ... here.
	* sysdeps/unix/bsd/osf/alpha/pipe.S: File removed.

	* sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF.

	* sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation.
	* sysdeps/unix/i386/fork.S: Likewise.
	* sysdeps/unix/i386/pipe.S: Likewise.
	* sysdeps/unix/i386/wait.S: Likewise.

	* sysdeps/unix/fork.S: Fix PSEUDO_END argument.
	* sysdeps/unix/arm/fork.S: Likewise.

	* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.

	* sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error.
	(L): Define right for ELF.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition.
	Now defined in sysdeps/i386/sysdep.h.

	* sysdeps/posix/readv.c: Ansify function definition.
	* sysdeps/posix/writev.c: Likewise.

	* stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t
	have the same size. Avoid direct cast from size_t to off_t.

	* login/tst-utmp.c (simulate_login): Don't leave garbage after the
	nul byte in entry[n].ut_user.
	(simulate_logout): Likewise.

	* login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE,
	_HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the
	existence of corresponding members of 'struct utmp'.
	* login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and
	!_HAVE_UT_TYPE.

	* sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small,
	allocate a buffer of at least BUFSIZ bytes, not just of
	sizeof (struct dirent).

	* sysdeps/generic/glob.c: Include <limits.h>.
	(NAME_MAX): Define a fallback.
	(glob_in_dir): Allocate enough room for a 'struct dirent64' on the
	stack.
	* posix/tst-dir.c: Include <stddef.h>, for offsetof.
	(main): Allocate enough room for a 'struct dirent64' on the stack.
	* posix/tst-gnuglob.c (my_DIR): Allocate enough room for a
	'struct dirent'.

	* sysdeps/unix/sysv/linux/init-first.c: Don't include
	kernel-features.h.

	* inet/htontest.c: Include <sys/types.h>.

	* sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS.

	* include/sys/sysctl.h: Comment fix.

	* elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize
	_dl_load_lock.
	* libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO.

	* sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias.

	* sysdeps/unix/inet/syscalls.list (__connect_internal): New alias.
	(__getpeername): New alias.
	(__getsockname): New alias.
	(__socket): New alias.

	* sysdeps/unix/common/syscalls.list (getpgid): Remove.

	* sysdeps/unix/syscalls.list (__chown_internal): New alias.
	(__fcntl_internal): New alias.
	(__profil): New alias.
2002-08-26 11:39:12 +00:00
Roland McGrath
6ce3881de5 * sysdeps/generic/utmp_file.c (UNLOCK_FILE): Clear alarm before
resetting handler, to avoid the possibility of a spurious SIGALRM
	delivered to the user's handler.
	Reported by Amit D. Chaudhary <amitc@brocade.com>,

	* misc/Makefile (CFLAGS-init-misc.c): Varaible removed.  It served to
	set -fkeep-inline-functions, which is not needed for the current file.

	* sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls.
	(_dl_setup_hash): Add attribute_hidden.
	(_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise.
	(_dl_sysdep_read_whole_file, _dl_dprintf): Likewise.
	(_dl_new_object, _dl_map_object_deps): Likewise.
	(_dl_map_object_deps_internal): Remove decl.
	* elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden.

	* sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN
	&& HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN
	&& !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]
	(elf_machine_dynamic, elf_machine_load_address): Rewritten without asm,
	instead relying on the compiler to produce only GOTOFF variable refs.
2002-08-25 20:14:50 +00:00
Ulrich Drepper
5a47e7f2a8 Update.
2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/elf/configure.in: Unconditionally define
	PI_STATIC_AND_HIDDEN.
	* elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
	PI_STATIC_AND_HIDDEN is defined as well.
	* config.h.in: Add PI_STATIC_AND_HIDDEN entry.

	* elf/rtld.c (dl_main): Likewise.
2002-08-25 07:22:45 +00:00
Roland McGrath
16495f8127 * sysdeps/i386/dl-machine.h (elf_machine_load_address): Add a dummy
global variable reference in an unused asm parameter, to ensure the
	compiler has set up the GOT register before we use it.
2002-08-23 10:35:03 +00:00
Roland McGrath
7a8bdff02c * sunrpc/svc_authux.c (_svcauth_unix): Remove spurious printf (ugh!).
* sysdeps/i386/bits/byteswap.h (__bswap_16, __bswap_32, __bswap_64):
	Evaluate argument exactly once.  Remove __volatile__ from asm's.

	* include/unistd.h: Use libc_hidden_proto for getdomainname
	and getlogin_r.
	* sysdeps/generic/getdomain.c: Add libc_hidden_def.
	* sysdeps/mach/hurd/getdomain.c: Likewise.
	* sysdeps/unix/getlogin_r.c: Likewise.
	* sysdeps/mach/hurd/getlogin_r.c: Likewise.
	* sysdeps/generic/getlogin_r.c: Likewise.

	* include/rpc/auth_des.h: Use libc_hidden_proto for rtime.
	* sunrpc/rtime.c: Add libc_hidden_def.

	* include/string.h: Use libc_hidden_proto for basename.
	* string/basename.c [_LIBC]: Add libc_hidden_def.

	* sysdeps/unix/sysv/linux/opensock.c (__opensock): socket -> __socket.

	* locale/loadarchive.c: munmap -> __munmap throughout.

	* include/netdb.h: Use libc_hidden_proto for gai_strerror.
	* sysdeps/posix/gai_strerror.c: Add libc_hidden_def.
	* sysdeps/generic/gai_strerror.c: Likewise.
2002-08-12 02:02:20 +00:00
Andreas Jaeger
07e335474a Add comment. 2002-08-10 18:12:27 +00:00
Roland McGrath
534feaab4b * sysdeps/i386/dl-machine.h (elf_machine_rel): Add to, don't clobber,
unrelocated initial value for DTPOFF32 and TPOFF32 relocs.
	Reported by Jakub Jelinek  <jakub@redhat.com>.
2002-08-07 22:14:40 +00:00
Ulrich Drepper
3741d6af19 Add epsilons for inlined ldouble asin tests. 2002-08-05 02:19:08 +00:00
Ulrich Drepper
6111cd0e8a (__stpcpy): Add libc_hidden_def. 2002-08-04 01:22:11 +00:00
Ulrich Drepper
37ba7d6663 Update.
2002-08-02  Ulrich Drepper  <drepper@redhat.com>

	* configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for
	broken alias attribute handling.
	* config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add.

	* assert/assert.c (__assert_fail): Fix typo in comment.

	* include/rpc/rpc.h: Declare __libc_tsd_RPC_VARS if USE_TLS &&
	HAVE___THREAD.
	* sunrpc/rpc_thread.c: Don't define __libc_tsd_RPC_VARS as static
	if USE_TLS && HAVE___THREAD.
	* sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS.

2002-08-02  Jakub Jelinek  <jakub@redhat.com>

	* assert/assert.c (__assert_fail): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* assert/__assert.c (__assert): Remove INTUSE.
	* elf/dl-minimal.c (__assert_fail): Replace INTDEF with
	libc_hidden_weak.
	* include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak,
	hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak,
	libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak,
	rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak,
	libm_hiden_ver): Define.
	* include/assert.h (__assert_fail_internal): Remove.
	(__assert_fail): Add prototype.  Add hidden_proto.
	* include/libc-internal.h (__libc_freeres, __profile_frequency): Add
	libc_hidden_proto.
	* include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove.
	(__mbrtowc, __mbrlen): Use libc_hidden_proto.  Remove macros.
	* include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp):
	Add libc_hidden_proto.
	* include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open,
	__fcntl): Add libc_hidden_proto.  Remove macros.
	(__open_internal, __fcntl_internal): Remove.
	* libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl.
	* malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def.
	* nss/nsswitch.h (__nss_database_lookup, __nss_next): Add
	libc_hiden_proto.
	* nss/nsswitch.c (__nss_database_lookup, __nss_next): Add
	libc_hidden_def.
	* sysdeps/generic/mempcpy.c (__mempcpy): Remove undef.
	Add libc_hidden_def.
	* sysdeps/generic/open64.c (__open64): Add libc_hidden_def.
	* sysdeps/generic/open.c (__open): Remove undef.
	Add libc_hidden_def.  Remove INTDEF.
	* sysdeps/generic/fcntl.c (__fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise.
	* sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def.
	* sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef.
	(__open): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_open): Add libc_hidden_def.
	* sysdeps/posix/open64.c (__open64): Add libc_hidden_weak.
	* sysdeps/standalone/open.c (__open): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove
	undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal,
	__getpgid_internal, __chown_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe,
	__GI___sched_setscheduler, __GI___select, __GI___setpgid,
	__GI___chown): Add.
	* sysdeps/unix/syscalls.list (__close_internal, __dup2_internal,
	__getpid_internal, __open_internal, __write_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open,
	__GI___chown, __GI___close, __GI___dup2, __GI___getpid,
	__GI___libc_open, __GI___open, __GI___read, __GI___libc_read,
	__GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add.
	* wcsmbs/mbrlen.c (__mbrlen): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
	* catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto.
	* catgets/open_catalog.c (__open_catalog): Add libc_hidden_def.
	* elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto.
	* include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr):
	Add libc_hidden_proto.
	* include/sys/poll.h (__poll): Add libc_hidden_proto.
	* include/sys/select.h (__select): Likewise.
	* include/sys/socket.h (__send): Likewise.
	* include/sys/statfs.h (__statfs): Likewise.
	* include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2,
	__getpid, __getpgid, __setpgid, __close, __read, __write,
	__getpagesize, __sbrk): Likewise.
	(__chown_internal, __dup2_internal, __getpid_internal,
	__getpgid_internal, __close_internal, __write_internal,
	__getpagesize_internal): Remove.
	(__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write):
	Remove macros.
	* include/printf.h (__printf_fp): Add libc_hidden_proto.
	* include/sched.h (__sched_setscheduler): Likewise.
	* include/resolv.h (__res_ninit, __res_randomid): Likewise.
	* include/stdlib.h (__secure_getenv): Likewise.
	* include/signal.h (__sigaction, __sigsuspend): Likewise.
	* inet/getaliasent_r.c (NSS_attribute_hidden): Remove.
	* inet/getaliasname_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbyad_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetent_r.c (NSS_attribute_hidden): Remove.
	* inet/getproto_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtent_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcent_r.c (NSS_attribute_hidden): Remove.
	* inet/getservent_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove.
	* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE.
	* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
	* libio/genops.c (__overflow): Add libc_hidden_def.
	* libio/iovdprintf.c: Remove libio.h include.
	* libio/libioP.h (libc_hidden_proto, libc_hidden_def,
	libc_hidden_weak): Define to nothing if not defined.
	(__overflow, __woverflow): Add libc_hidden_proto.
	* libio/wgenops.c (__woverflow): Add libc_hidden_def.
	* nss/getXXent_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto
	and libc_hidden_def.
	* nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF.
	* posix/bsd-getpgrp.c (__getpgid_internal): Remove.
	(__getpgid): Add libc_hidden_proto.
	(__bsd_getpgrp): Remove INTUSE.
	* resolv/res_init.c (__res_ninit, __res_randomid): Add
	libc_hidden_def.
	* shadow/getspent_r.c (NSS_attribute_hidden): Remove.
	* shadow/getspnam_r.c (NSS_attribute_hidden): Remove.
	* stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def.
	* stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto.
	* stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.
	* sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add
	libc_hidden_def.
	* sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/alpha/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/generic/chown.c (__chown): Likewise.
	* sysdeps/generic/close.c (__close): Likewise.
	* sysdeps/generic/dup2.c (__dup2): Likewise.
	* sysdeps/generic/pipe.c (__pipe): Likewise.
	* sysdeps/generic/prof-freq.c (__profile_frequency): Likewise.
	* sysdeps/generic/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise.
	* sysdeps/generic/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def.
	* sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise.
	* sysdeps/generic/select.c (__select): Likewise.
	* sysdeps/generic/send.c (__send): Likewise.
	* sysdeps/generic/setpgid.c (__setpgid): Likewise.
	* sysdeps/generic/sigaction.c (__sigaction): Likewise.
	* sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/generic/statfs.c (__statfs): Likewise.
	* sysdeps/generic/stpncpy.c (__stpncpy): Likewise.
	* sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise.
	* sysdeps/generic/getpagesize.c (__getpagesize): Likewise.
	Remove undef and INTDEF.
	* sysdeps/generic/getpgid.c (__getpgid): Likewise.
	* sysdeps/generic/getpid.c (__getpid): Likewise.
	* sysdeps/generic/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def.
	* sysdeps/i386/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/mach/hurd/chown.c (__chown): Likewise.  Remove INTDEF.
	* sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/mach/hurd/dup2.c (__dup2): Likewise.
	* sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise.
	* sysdeps/mach/hurd/getpid.c (__getpid): Likewise.
	* sysdeps/mach/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/mach/hurd/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/mach/hurd/pipe.c: Include unistd.h.
	(__pipe): Add libc_hidden_def.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add
	libc_hidden_weak.
	* sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise.
	* sysdeps/mach/hurd/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise.
	(__libc_pwrite64): Add libc_hidden_def.
	* sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
	* sysdeps/mach/hurd/select.c (__select): Likewise.
	* sysdeps/mach/hurd/send.c (__send): Likewise.
	* sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise.
	* sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
	* sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
	* sysdeps/posix/dup2.c: Likewise.
	Remove undef and INTDEF.
	* sysdeps/posix/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def.
	(__pwrite64): Add libc_hidden_weak.
	* sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def.
	* sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/standalone/close.c (__close): Likewise.
	* sysdeps/standalone/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.
	* sysdeps/standalone/read.c (__read): Likewise.
	(__libc_read): Add libc_hidden_def.
	* sysdeps/unix/grantpt.c (grantpt): Remove INTUSE.
	* sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise.
	* sysdeps/unix/bsd/poll.c (__poll): Likewise.
	* sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid,
	__GI___sigaction): Add.
	* sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/inet/syscalls.list (__GI___send): Add.
	* sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sparc/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid,
	__GI___setpgid): Add.
	* sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise.
	* sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise.
	* sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise.
	* sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise.
	* sysdeps/unix/sysv/aix/poll.c (__poll): Likewise.
	* sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise.
	* sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise.
	* sysdeps/unix/sysv/aix/select.c (__select): Likewise.
	* sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/alpha/select.S (__select): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64,
	__GI___send): Add.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction):
	Add libc_hidden_weak.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver
	resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise.  Remove
	INTDEF.
	* sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize):
	Likewise.  Remove undef.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
	(__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64,
	__GI___statfs): Add.
	* sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/send.S (__send): Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction):
	Add.
	* sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add
	libc_hidden_def.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def.
	Remove undef and INTDEF.
	* configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for
	broken visibility attribute handling.
	* config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add.

2002-08-02  Ulrich Drepper  <drepper@redhat.com>
2002-08-03 07:02:10 +00:00
Ulrich Drepper
739d440d2a Update.
2002-07-19  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add test for __thread support in compiler.
	* config.h.in: Add HAVE___THREAD.
	* Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h.
	* include/sys/errno.h: Moved to...
	* stdlib/sys/errno.h: ...here.  New file.
	* stdlib/errno.h: New file.  Moved from...
	* include/errno.h: ...here.  Changed into an internal header defining
	libc-local things like __set_errno.
	* stdlib/Makefile (headers): Add errno.h, sys/errno.h, and
	bits/errno.h.
	* elf/dl-minimal.c: Include <tls.h>.  Define errno as thread-local
	variable if USE_TLS && HAVE___THREAD.  Don't define __errno_location
	either.
	* elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so
	from...
	(_dl_start_final): ...here.  Add code to initialize tls elements from
	bootstrap_map.
	* sysdeps/generic/errno-loc.c: Define errno as thread-local variable
	if USE_TLS && HAVE___THREAD.
	* sysdeps/generic/bits/errno.h: Remove __set_errno definition.
	* sysdeps/mach/hurd/bits/errno.h: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/bits/errno.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/aix/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/hpux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise.
	* sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't
	use GL(dl_rtld_map), use map parameter.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if
	USE_TLS && HAVE___THREAD.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG
	definitions.  If USE_TLS && HAVE___THREAD store errooor value using
	TLS code sequence.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.

	* sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno.
	* sysdeps/unix/sysv/linux/grantpt.c: Likewise.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c: Likewise.
	* sysdeps/unix/sysv/linux/readv.c: Likewise.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.
2002-07-20 01:14:41 +00:00
Ulrich Drepper
b664d723de Update.
* malloc/hooks.c (realloc_check): If mremap succeeds actually use
	the result.

	* sysdeps/i386/i486/bits/string.h: Add early clobber for "a"
	output parameter.  Reported by Denis Zaitsev <zzz@cd-club.ru>.

	* Versions.def (libthread_db): Add GLIBC_2.3.

2002-07-09  Jakub Jelinek  <jakub@redhat.com>

	* libio/freopen.c (freopen): Reset jump tables, use mmap stdio for the
	new stream if possible.
	* libio/freopen64.c (freopen64): Likewise.
	* libio/Makefile (tests): Add tst-freopen.
	* libio/tst-freopen.c: New file.

2002-07-03  Jakub Jelinek  <jakub@redhat.com>

	* libio/stdio.h (obstack_printf): Add format attribute.
	(obstack_vprintf): Likewise.

2002-07-04  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex_internal.h (re_token_t): Shrink the structure to 8
	resp. 16 bytes on 32-bit resp. 64-bit platforms.
	(re_charset_t, re_string_t): Reorder structure members for 64-bit
	architectures.

2002-07-04  Jakub Jelinek  <jakub@redhat.com>

	* posix/regcomp.c (re_compile_internal): Move clearing of dfa...
	(init_dfa): ...here.

2002-07-05  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (parse_sub_exp): Add nodes OP_OPEN_SUBEXP and
	OP_CLOSE_SUBEXP at both ends of sub expressions instead of SUBEXP
	nodes in parse trees.
	(calc_first): Fix the Definition of `firsts' of OP_OPEN_SUBEXP
	and OP_CLOSE_SUBEXP, and remove the definition of SUBEXP.
	(calc_epsdest): Treat OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP as the
	nodes which can epsilon transit.
	* posix/regex_internal.h: Add OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP
	to IS_EPSILON_NODE macro.
	* posix/regexec.c (update_regs): New function to update registers
	by refering OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP nodes.
	(proceed_next_node): Use the entities of the nodes to determine
	whether the node can transit to.
	(set_regs): Use update_regs function to update registers.

2002-07-03  Jakub Jelinek  <jakub@redhat.com>

	* posix/bug-regex4.c (main): Remove duplicate setlocale.
	* posix/bug-regex6.c: New file.
	* posix/Makefile (tests): Add bug-regex6.
	(bug-regex6-ENV): Set LOCPATH.

2002-07-10  Ulrich Drepper  <drepper@redhat.com>
2002-07-11 02:59:49 +00:00
Andreas Jaeger
09c81ddfd8 Update.
2002-07-06  Bruno Haible  <bruno@clisp.org>

	* sysdeps/i386/fpu/libm-test-ulps: Add some ulps for AMD K7.

	* rt/Makefile (tests): Don't add tst-aio* in a single-threaded build.

	* sysdeps/unix/bsd/sun/sunos4/bits/utsname.h: Test for _SYS_UTSNAME_H,
	not _UTSNAME_H.
	* sysdeps/unix/bsd/ultrix4/bits/utsname.h: Likewise.

	* sysdeps/generic/bits/stropts.h: Protect against direct inclusion.
	* sysdeps/generic/bits/ustat.h: Likewise.

	* sysdeps/unix/sysv/linux/bits/statvfs.h (ST_NODIRATIME): Set to
	2048.
2002-07-08 17:15:20 +00:00
Andreas Jaeger
96d10bdf03 * math/libm-test.inc (acos_test): Add missing L suffix for
expected result. 
(cpow_test): Likewise. 
* sysdeps/i386/fpu/libm-test-ulps: Adjust errors for cpow, remove 
error for acos (0.0625).
2002-07-02 09:33:05 +00:00
Ulrich Drepper
9d0c92b26d Update.
2002-06-30  Ulrich Drepper  <drepper@redhat.com>

	* math/libm-test.inc (cexp_test): Add missing L suffix for
	expected result.  Reported by 	Stephen L Moshier <steve@moshier.net>.
	* sysdeps/i386/fpu/libm-test-ulps: Adjust error for cexp (0.75 +
	1.25 i).
2002-06-30 15:49:29 +00:00
Andreas Jaeger
6722fe3f1c Add some ulps from my P3. 2002-06-21 12:12:50 +00:00
Andreas Jaeger
1af437d636 Update.
2002-06-20  Andreas Jaeger  <aj@suse.de>

	* math/libm-test.inc: Use exact values as input parameters,
	compute output parameters with 36 digits for 128-bit long doubles.
	* sysdeps/i386/fpu/libm-test-ulps: Regenerated.
	* sysdeps/x86-64/fpu/libm-test-ulps: Regenerated.
2002-06-20 08:34:01 +00:00
Ulrich Drepper
4c49989e41 Update.
2002-06-13  Stephen L Moshier  <steve@moshier.net>

	* sysdeps/ieee754/ldbl-96/s_scalbnl.c: Fix cases in which
	argument or result is subnormal.

2002-06-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/s_remquo.S: Fix three mistakes in computing the
	quotient.
	* sysdeps/i386/fpu/s_remquof.S: Likewise.
	* sysdeps/i386/fpu/s_remquol.S: Likewise.

	* sysdeps/hppa/dl-machine.h: Don't use multi-line string literals.

	* sysdeps/unix/sysv/linux/alpha/sendfile64.c: New file.
	* sysdeps/unix/sysv/linux/ia64/sendfile64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sendfile64.c: New file.
2002-06-20 07:23:23 +00:00
Ulrich Drepper
f83af095b6 Update.
* include/math.h: Declare __isinf_internal, __isinfl_internal,
	__isnan_internal, and __isnanl_internal.
	* stdio-common/printf_fp.c: Use INTUSE for calls to __isinf, __isinfl,
	__isnan, and __isnanl.
	* stdio-common/printf_size.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/i386/fpu/s_isinfl.c: Also define _internal alias.
	* sysdeps/i386/fpu/s_isnanl.c: Likewise.
	* sysdeps/ia64/fpu/s_isinf.S: Likewise.
	* sysdeps/ia64/fpu/s_isnan.S: Likewise.
	* sysdeps/ieee754/dbl-64/s_isinf.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_isnan.c: Likewise.
	* sysdeps/ieee754/flt-32/s_isinff.c: Likewise.
	* sysdeps/ieee754/flt-32/s_isnanf.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_isinfl.c: Likewise.
	* sysdeps/m68k/s_isinfl.c: Likewise.
	* sysdeps/m68k/fpu/s_isinf.c: Likewise.
	* sysdeps/powerpc/fpu/s_isnan.c: Likewise.
2002-04-14 17:55:43 +00:00
Andreas Jaeger
b91703dc38 (__strcspn_cg): Use only memory as clobber to reduce register pressure.
(__strpbrk_cg): Likewise. 
(__mempcpy_by4): Likewise. 
(__strstr_cg): Likewise. 
Add prototype for __memrchr.
2002-04-14 07:24:12 +00:00
Ulrich Drepper
6b87a5642c Update.
* sysdeps/mach/hurd/chown.c: Use INTDEF for __chown.
	* sysdeps/unix/sysv/aix/chown.c: Likewise.
	* sysdeps/unix/grantpt.c: Use INTUSE for __chown calls.
	* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define
	__chown_internal.
	* sysdeps/unix/sysv/linux/s390/s390-32//chown.c: Likewise.

	* intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext.
	* intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE.
	* intl/ngettext.c: Likewise.

	* include/sys/socket.h: Declare __connect_internal and define
	__connect macro if not NOT_IN_libc.
	* sysdeps/mach/hurd/connect.c: Use INTDEF for __connect.
	* sysdeps/unix/sysv/aix/connect.c: Likewise.
	* sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias.

	* include/unistd.h: Declare __close_internal and define __close macro
	if not NOT_IN_libc.
	* libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2,
	WJUMP3): Add extra parenthesis to avoid expanding element names with
	macors like __close.
	* sysdeps/unix/syscalls.list: Add __close_internal alias.

	* include/unistd.h: Declare __dup2_internal and define __dup2 macro
	if not NOT_IN_libc.
	* sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2.
	* sysdeps/posix/dup2.c: Use INTDEF for __dup2.
	* sysdeps/unix/syscalls.list: Add __dup2_internal alias.

	* include/unistd.h: Declare __fork_internal and define __fork macro
	if not NOT_IN_libc.
	* sysdeps/mach/hurd/fork.c: Use INTDEF for __fork.
	* sysdeps/unix/sysv/aix/fork.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias.

	* include/stdio_ext.h: Declare __fsetlocking_internal and define
	__fsetlocking macro to use it if not NOT_IN_libc.
	* libio/__fsetlocking.c: Use INTDEF for __fsetlocking.

	* libio/__fbufsize.c: Correct copyright.
	* libio/__flbf.c: Likewise.
	* libio/__fpending.c: Likewise.
	* libio/__fpurge.c: Likewise.
	* libio/__freadable.c: Likewise.
	* libio/__freading.c: Likewise.
	* libio/__fsetlocking.c: Likewise.
	* libio/__fwritable.c: Likewise.
	* libio/__fwriting.c: Likewise.

	* include/stdio.h: Declare __asprintf_internal and define __asprintf
	macro to use it if not NOT_IN_libc.
	* stdio-common/asprintf.c: Use INTDEF for __asprintf.

	* include/mntent.h: Declare __setmntent_internal,
	__getmntent_r_internal, __endmntent_internal.  Define __setmntent,
	__getmntent_r, and __endmntent macros to use these functions if not
	NOT_IN_libc.
	* misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and
	__endmntent.

	* include/math.h: Declare __finite_internal, __finitef_internal, and
	__finitel_internal.  Redefine isfinite macro if in libc or libm using
	these functions.
	* sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls.
	* sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls.
	* sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls.
	* sysdeps/i386/fpu/s_finite.S: Define _internal alias.
	* sysdeps/i386/fpu/s_finitef.S: Likewise.
	* sysdeps/i386/fpu/s_finitel.S: Likewise.
	* sysdeps/ieee754/dbl-64/s_finite.c: Likewise.
	* sysdeps/ieee754/flt-32/s_finitef.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise.

	* include/fcntl.h: Declare __fcntl_internal.  Define __fcntl macro
	to use this function if not NOT_IN_libc.
	* libio/iofdopen.c (_IO_fcntl): Use INTUSE.
	* sysdeps/generic/fcntl.c: Use INTDEF for __fcntl.
	* sysdeps/mach/hurd/fcntl.c: Likewise.
	* sysdeps/unix/sysv/aix/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.

	* include/argz.h: Declare __argz_count_internal and
	__argz_stringify_internal.
	* intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and
	__argz_stringify.
	* string/argz-count.c: Use INTDEF for __argz_count.
	* string/argz-stringify.c: Use INTDEF for __argz_stringify.

	* include/stdlib.h: Declare __cxa_atexit_internal and define
	__cxa_atexit macro if not NOT_IN_libc.
	* stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit.
	* dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c.

	* assert/assert.c: Use INTDEF for __assert_fail.
	* assert/__assert.c: Use INTUSE for call to __assert_fail.
	* include/assert.h: Declare __assert_fail_internal.
2002-04-09 20:36:24 +00:00
Ulrich Drepper
3632a26020 Update.
2002-04-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/elf.h: Define R_SH_TLS_xxx macros.
	* elf/rtld.c: Remove an extra parenthesis.
	* elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and
	TLS_GD macros.
	* sysdeps/generic/dl-tls.c: Add a missing semi-colon.
	* sysdeps/sh/dl-lookupcfg.h: New file.
	* sysdeps/sh/dl-tls.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class): Set
	ELF_RTYPE_CLASS_PLT also for the three TLS relocations.
	(elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and
	R_SH_TLS_TPOFF32 relocations.
2002-04-08 21:05:48 +00:00
Ulrich Drepper
b44e30163d Update.
* nss/getXXbyYY_r.c: If NSS_attribute_hidden is defined use it with the
	DB_LOOKUP_FCT prototype.
	* nss/getXXent_r.c: Likewise.
	* inet/getaliasent_r.c: Define NSS_attribute_hidden.
	* inet/getaliasname_r.c: Likewise.
	* inet/getnetbyad_r.c: Likewise.
	* inet/getnetbynm_r.c: Likewise.
	* inet/getnetent_r.c: Likewise.
	* inet/getproto_r.c: Likewise.
	* inet/getprtent_r.c: Likewise.
	* inet/getprtname_r.c: Likewise.
	* inet/getrpcbyname_r.c: Likewise.
	* inet/getrpcbynumber_r.c: Likewise.
	* inet/getrpcent_r.c: Likewise.
	* inet/getservent_r.c: Likewise.
	* inet/getsrvbynm_r.c: Likewise.
	* inet/getsrvbypt_r.c: Likewise.
	* shadow/getspent_r.c: Likewise.
	* shadow/getspnam_r.c: Likewise.

	* malloc/thread-m.h: Define __libc_tsd_MALLOC_data as static.

	* sysdeps/i386/elf/bsd-setjmp.S: Use GOTOFF for __sigjmp_save access.
	Use i686-friendly PIC code.
	* sysdeps/i386/elf/setjmp.S: Likewise.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Use i686-friendly PIC code.
2002-04-07 19:46:16 +00:00
Ulrich Drepper
f7ddf3d3b7 Update.
2002-04-02  Jakub Jelinek  <jakub@redhat.com>

	* inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function.
	* inet/ether_hton.c (__nss_ethers_lookup): Likewise.
	* inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise.
	* sunrpc/netname.c (__nss_publickey_lookup): Likewise.
	* sunrpc/publickey.c (__nss_publickey_lookup): Likewise.

2002-03-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown
	dynamic tags.

2002-03-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/s_fabs.S: New file.
	* sysdeps/i386/fpu/s_fabsf.S: New file.
	* sysdeps/i386/fpu/s_fabsl.S: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabs.c: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file.
	* sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file.

2002-04-02  Ulrich Drepper  <drepper@redhat.com>

	* rt/tst-shm.c (do_test): Add one more test for size of shared
	memory object.

2002-03-29  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Add short description and prototypes for
	malloc_get_state, malloc_set_state and posix_memalign, for
	consistency and to avoid warnings with -Wstrict-prototypes.
	Reported by Andreas Jaeger <aj@suse.de>.

2002-04-02  Ulrich Drepper  <drepper@redhat.com>

	* po/gl.po: Update from translation team.
2002-04-03 00:36:12 +00:00
Andreas Jaeger
49f8b030aa Update.
* sysdeps/i386/i486/bits/string.h (__memcpy_by4): Describe memory
	read and write accesses as detailed as possible.
	(__memcpy_by2): Likewise.
	(__memcpy_g): Likewise.
	(memmove): Likewise.
	(memcmp): Likewise.
	(__memset_ccn_by4): Likewise.
	(__memset_ccn_by2): Likewise.
	(__memset_gcn_by4): Likewise.
	(__memset_gcn_by2): Likewise.
	(memchr): Likewise.
	(__memrchr): Likewise.
	(rawmemchr): Likewise.
	(__strlen_g): Likewise.
	(__strcpy_g): Likewise.
	(__mempcpy_by4): Likewise.
	(__mempcpy_by2): Likewise.
	(__mempcpy_byn): Likewise.
	(__stpcpy_g): Likewise.
	(__strncpy_by4): Likewise.
	(__strncpy_by2): Likewise.
	(__strncpy_byn): Likewise.
	(__strncpy_gg): Likewise.
	(__strcat_c): Likewise.
	(__strcat_g): Likewise.
	(__strncat_g): Likewise.
	(__strcmp_gg): Likewise.
	(__strncmp_g): Likewise.
	(__strchr_c): Likewise.
	(__strchr_g): Likewise.
	(__strchrnul_c): Likewise.
	(__strchrnul_g): Likewise.
	(__strrchr_c): Likewise.
	(__strrchr_g): Likewise.
	(__strrchr_c): Likewise.
	(__strrchr_g): Likewise.
	(__strcspn_c1): Likewise.
	(__strcspn_cg): Likewise.
	(__strcspn_g): Likewise.
	(__strcspn_g): Likewise.
	(__strspn_c1): Likewise.
	(__strspn_cg): Likewise.
	(__strspn_g): Likewise.
	(__strspn_g): Likewise.
	(__strpbrk_cg): Likewise.
	(__strpbrk_g): Likewise.
	(__strstr_cg): Likewise.
	(__strstr_g): Likewise.
2002-03-26 19:45:43 +00:00
Ulrich Drepper
dff07c4bd4 Update.
2002-03-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i386-mcount.S: Just call __mcount_internal, it is an
	internal function.  Adjust for internal_function calling convention.
	* sysdeps/i386/machine-gmon.h: Declare and define __mcount_internal
	as internal_function.

	* sysdeps/generic/framestate.c: Declare fallback_frame_state_for as
	hidden.

	* nss/XXX-lookup.c (DB_LOOKUP_FCT): Add internal_function to
	declaration and definition.
	* nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Add internal_function to
	declaration.
	* nss/getXXent_r.c: Likewise.
	* nss/nsswitch.h (db_lookup_function): Add internal_function to
	definition.

	* include/time.h: Declare __localtime_r as hidden.

	* include/grp.h: Declare __getgrent_r as hidden.
	* include/netdb.h: Declare __gethostent_r, __getnetent_r,
	__getservent_r, and __getprotoent_r as hidden.
	* include/pwd.h: Declare __getpwent_r as hidden.
	* include/shadow.h: Declare __getspent_r as hidden.
	* include/rpc/netdb.h: Declare __getrpcent_r as hidden.

	* iconv/gconv_int.h: Declare __gconv_read_conf, __gconv_alias_compare,
	and __gconv_transliterate as hidden.
	Add internal_function to __gconv_get_path declaration.
	* iconv/gconv_int.h: Add internal_function to __gconv_get_path
	definition.  Add attribute_hidden to __gconv_read_conf definition.
2002-03-15 09:30:44 +00:00
Ulrich Drepper
5c82e15e86 Update.
2002-03-14  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (malloc): Declare _end as hidden.
	(__errno_location): New function.  Declare errno as hidden.
	* elf/rtld.c (_dl_argc): Define as hidden.
	(_dl_skip_args): Define as hidden.
	(_begin, _end): Declare as hidden.
	* sysdeps/generic/dl-sysdep.c (_end): Declare as hidden.
	* sysdeps/generic/entry.h (_start): Declare as hidden.
	* sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare
	_dl_runtime_resolve and _dl_runtime_profile as hidden.
	(RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini.
2002-03-15 03:16:52 +00:00
Ulrich Drepper
ba737b94fd Update.
2002-03-14  Jakub Jelinek  <jakub@redhat.com>

	* locale/broken_cur_max.c (__ctype_get_mb_cur_max): Use nl_langinfo.
	* locale/Versions (_nl_current_LC_COLLATE, _nl_current_LC_CTYPE):
	Remove.

2002-03-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/mp_clz_tab.c: New file.
	* sysdeps/i386/mp_clz_tab.c: New file.
	* sysdeps/hppa/mp_clz_tab.c: New file.
	* sysdeps/powerpc/mp_clz_tab.c: New file.
	* stdlib/Makefile (aux): Revert last patch.
	* math/Makefile (gmp-objs): Likewise.

2002-03-13  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c: Comment fixes for references to obsolescent
	standards, In most cases the simplest fix is to remove the
	confusing comments.  Cross-referencing all the standards properly
	is a bit of a pain, and it should be enough to put that info in
	the documentation as I did in my recent time.texi patch.

2002-03-13  Paul Eggert  <eggert@twinsun.com>

	* manual/time.texi (Formatting Calendar Time):
	ISO C99 also specifies the E and O modifiers.
	%P is a GNU extension, and is not in ISO C99.
	Mention that %r is equivalent to %I:%M:%S %p in the POSIX locale.
	%T is also in ISO C99.
	The RFC 822 example is not valid in arbitrary locales.
	Reword the POSIX.2 wording slightly, to make it a bit clearer
	that POSIX.2 formats are also supported by later POSIX versions.
	If a format was introduced in ISO C99 it is also required by
	POSIX.1-2001.
2002-03-14 20:48:50 +00:00
Ulrich Drepper
ab26a24a17 Update.
* ctype/ctype-info.c: Declare _nl_C_LC_CTYPE_class,
	_nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower,
	_nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower,
	_nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit,
	_nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space,
	_nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph,
	_nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl,
	_nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum,
	_nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, and
	_nl_C_LC_CTYPE_width: Declare as hidden.
	* include/locale.h: Declare _nl_locale_file_list.
	* locale/C-address.c: Define _nl_C_LC_ADDRESS as hidden.
	* locale/C-collate.c: Define _nl_C_LC_COLLATE as hidden.
	* locale/C-identification.c: Define _nl_C_LC_IDENTIFICATION as hidden.
	* locale/C-measurement.c: Define _nl_C_LC_MEASUREMENT as hidden.
	* locale/C-messages.c: Define _nl_C_LC_MESSAGES as hidden.
	* locale/C-monetary.c: Define _nl_C_LC_MONETARY as hidden.
	* locale/C-name.c: Define _nl_C_LC_NAME as hidden.
	* locale/C-numeric.c: Define _nl_C_LC_NUMERIC as hidden.
	* locale/C-paper.c: Define _nl_C_LC_PAPER as hidden.
	* locale/C-telephone.c: Define _nl_C_LC_TELEPHONE as hidden.
	* locale/C-time.c: Define _nl_C_LC_TIME as hidden.
	* locale/C-ctype.c: Define _nl_C_LC_CTYPE_class,
	_nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower,
	_nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower,
	_nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit,
	_nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space,
	_nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph,
	_nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl,
	_nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum,
	_nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower,
	_nl_C_LC_CTYPE_width, and as hidden.
	* locale/findlocale.c: Declare _nl_C as hidden.
	* locale/newlocale.c: Likewise.
	* locale/setlocale.c: Define _nl_C as hidden.  Remove declaration of
	_nl_locale_file_list.
	* locale/xlocale.c: Declare _nl_C_LC_CTYPE_class,
	_nl_C_LC_CTYPE_toupper, and _nl_C_LC_CTYPE_tolower as hidden.
	Define _nl_C_locobj as hidden.

	* malloc/mtrace.c (_mtrace_file): Define as hidden.
	(_mtrace_line): Likewise.

	* include/time.h: Declare __mon_yday as hidden.
	* time/strptime.c [_LIBC] (__mon_yday): Remove declaration.

	* libio/libioP.h: Declare __libio_codecvt as hidden.
	* libio/fileops.c: Declare __libio_translit as hidden.
	* libio/iofwide.c: Define __libio_translit as hidden.

	* login/getutent_r.c: Define __libc_utmp_lock as hidden.
	* login/getutid_r.c: Declare __libc_utmp_lock as hidden.
	* login/getutline_r.c: Likewise.
	* login/utmpname.c: Likewise.

	* login/utmp-private.h: Declare __libc_utmp_file_functions,
	__libc_utmp_unknown_functions, __libc_utmp_jump_table, and
	__libc_utmp_file_name as hidden.

	* locale/setlocale.c (__libc_setlocale_lock): Define as hidden.
	* locale/duplocale.c (__libc_setlocale_lock): Declare as hidden.
	* locale/freelocale.c: Likewise.
	* locale/lc-time.c: Likewise.

	* sysdeps/unix/bsd/getpt.c (__libc_ptyname1): Define as hidden.
	(__libc_ptyname2): Likewise.
	* sysdeps/unix/sysv/linux/ptsname.c (__libc_ptyname1): Declare as
	hidden.
	(__libc_ptyname2): Likewise.

	* sysdeps/generic/sbrk.c: Declare __libc_multiple_libcs as hidden.
	* sysdeps/arm/init-first.c (__libc_multiple_libcs): Define as hidden.
	* sysdeps/generic/init-first.c: Likewise.
	* sysdeps/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/sh/init-first.c: Likewise.
	* sysdeps/unix/sysv/aix/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
2002-03-13 06:33:52 +00:00
Ulrich Drepper
bc15410ece Update.
2002-03-11  Ulrich Drepper  <drepper@redhat.com>

	* manual/examples/mkfsock.c: Include <string.h> as well.
	Patch by Alain De Carolis <alaind@wseurope.com>.

2002-03-06  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regexec.c (re_match): Fix incorrect register sizes.
	(re_search): Likewise.

2002-03-05  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regfree): Remove a disused condition.
	* posix/regex_internal.c (re_acquire_state): Likewise.
	(re_acquire_state_context): Likewise.
	(register_state): Remove a redundant malloc invocation.
	* posix/regex_internal.h: (re_state_table_entry): Simplify
	the structure.

2002-03-05  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regcomp): Add __builtin_expect to error
	handling conditions.
	(regerror): Likewise.
	(regfree): Likewise.
	(re_compile_internal): Likewise.
	(init_dfa): Likewise.
	(init_word_char): Likewise.
	(create_initial_state): Likewise.
	(analyze): Likewise.
	(analyze_tree): Likewise.
	(duplicate_node): Likewise.
	(calc_eclosure): Likewise.
	(calc_eclosure_iter): Likewise.
	(parse): Likewise.
	(parse_reg_exp): Likewise.
	(parse_branch): Likewise.
	(parse_expression): Likewise.
	(parse_subexp): Likewise.
	(parse_dup_op): Likewise.
	(parse_bracket_exp): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(build_word_op): Likewise.
	(fetch_number): Likewise.
	(create_tree): Likewise.
	(duplicate_tree): Likewise.
	* posix/regex.c (BE): New macro.
	* posix/regexec.c (re_match): Add __builtin_expect to error
	handling conditions.
	(re_match_2): Likewise.
	(re_search): Likewise.
	(re_search_internal): Likewise.
	(check_matching): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(sift_states_backward): Likewise.
	(add_epsilon_backreference): Likewise.
	(transit_state): Likewise.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref): Likewise.
	(transit_state_bkref_loop): Likewise.
	(build_trtable): Likewise.
	(group_nodes_into_DFAstates): Likewise.
	(match_ctx_init): Likewise.
	(match_ctx_add_entry): Likewise.
	* posix/regex_internal.c (re_string_construct): Add __builtin_expect
	to error handling conditions.
	(re_string_construct_toupper): Likewise.
	(build_wcs_buffer): Likewise.
	(build_wcs_upper_buffer): Likewise.
	(build_upper_buffer): Likewise.
	(re_string_translate_buffer): Likewise.
	(re_node_set_alloc): Likewise.
	(re_node_set_init_1): Likewise.
	(re_node_set_init_2): Likewise.
	(re_node_set_init_copy): Likewise.
	(re_node_set_intersect): Likewise.
	(re_node_set_init_union): Likewise.
	(re_node_set_merge): Likewise.
	(re_node_set_insert): Likewise.
	(re_dfa_add_node): Likewise.
	(re_acquire_state): Likewise.
	(re_acquire_state_context): Likewise.
	(create_new_state_common): Likewise.
	(register_state): Likewise.
	(create_ci_new_state): Likewise.
	(create_cd_new_state): Likewise.
	(re_string_context_at): Remove redundant condition.

2002-01-16  Roger Sayle  <roger@eyesopen.com>

	* sysdeps/i386/i686/strcmp.S: Avoid unconditional jump to a ret.

	* sysdeps/i386/i586/strlen.S: Fix typo in comment.
2002-03-12 02:04:08 +00:00
Ulrich Drepper
89a3dd449a Update.
2002-03-11  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/elf/configure.in: Fix comment.

	* sysdeps/sparc/sparc64/configure.in: New.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Fix
	if .dynamic comes before .got.
	* config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Add.

	* sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_DIFF,
	HP_TIMING_ACCUM): Fix typos.

	* string/strfry.c: Add some more randomness to the seed.
	Patch by James A Morrison <ja2morri@student.math.uwaterloo.ca>.

	Patch by James Antill <james@anqd.org> [PR libc/2787].
2002-03-12 00:38:37 +00:00
Ulrich Drepper
e6caf4e12e Update.
2002-03-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile (dl-routines): Add dl-origin.
	(elide-routines.os): Add dl-origin.
	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin.
	* elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around
	_dl_debug_state.
	* include/libc-symbols.c: Define attribute_hidden depending on
	HAVE_VISIBILITY_ATTRIBUTE.  Add definition of INTVARDEF.

	* elf/dl-deps.c: Use INTUSE with __libc_enable_secure.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/unistd.h: Declare __libc_enable_secure_internal.
	* sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure.
	Use INTUSE with __libc_enable_secure.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.

	* elf/dl-deps.c: Use INTUSE with _dl_out_of_memory.
	* elf/dl-error.c: Likewise,
	* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal.

	* elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE.
	* sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before
	function definition.  Use INTDEF with _dl_get_origin.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.

	* elf/dl-init.c: Use INTUSE with _dl_starting_up.
	* elf/rtld.c: Likewise.  Use INTVARDEF for _dl_starting_up.

	* elf/dl-profile.c: Use INTDEF for _dl_mcount.
	* elf/dl-runtime.c: Use INTUSE with _dl_mcount.
	* sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal.

	* elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0].
	* elf/dl-deps.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* elf/rtld.c: Use INTDEF for _dl_argv.  Use rtld_progrname instead of
	_dl_argv[0].  Use INTUSE with _dl_argv.
	* sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv.
	* sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-03-01 09:44:29 +00:00
Ulrich Drepper
0d01dace55 Update.
2002-02-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (_rtld_global): Remove .protected.
	(_rtld_local): Strong alias to _rtld_global.
	* elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld
	only .os object.
	* sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use
	_rtld_local instead of _rtld_global.
	(_rtld_local): Add hidden extern, possibly in .sdata section.
	* configure.in: Add tests for visibility attribute and .sdata.
	* config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION.
	* sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
2002-02-28 22:38:00 +00:00
Ulrich Drepper
9321beea94 Update.
2002-02-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (sysdep_routines): Add
	divdi3 in csu dir.
	(shared-only-routines): Likewise.
	* sysdeps/m68k/Makefile (sysdep_routines): Likewise.
	(shared-only-routines): Likewise.
	* sysdeps/s390/s390-32/Makefile (sysdep_routines): Likewise.
	(shared-only-routines): Likewise.
	* sysdeps/wordsize-32/divdi3.c: New file.
2002-02-28 19:38:21 +00:00
Ulrich Drepper
aed283dd45 Update.
2002-02-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from
	TLS_DTV_UNALLOCATE.
	(oom): New function.
	(_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list.
	(_dl_determine_tlsoffset): Likewise.
	(_dl_allocate_tls): Likewise.
	(__TLS_GET_ADDR): Define if not already defined.
	(_dl_tls_symaddr): New function.
	(allocate_and_init): New function.
	(__tls_get_addr): Actually implement handling of generation counter
	and deferred allocation.
	* sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list,
	add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS.
	Declare _dl_tls_symaddr.
	* sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless
	SHARED.
	* include/link.h (struct link_map):  Remove l_tls_nextimage and
	l_tls_previmage.
	* elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr
	instead of DL_SYMBOL_ADDRESS for STT_TLS symbols.
	(_dl_vsym): Likewise.
	* elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new
	layout.
	(dl_main): Allow PT_TLS be present for empty segment.  Remove
	nextimage list handling.  Instead add all modules using TLS to
	dl_tls_dtv_slotinfo_list.
	* elf/dl-open.c (dl_open_worker): After successfully loading all
	objects add those with TLS to the dl_tls_dtv_slotinfo_list list.
	* elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an
	empty segment don't do anything.  Remove handling of initimage list.
	* elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign.
	(GLIBC_PRIVATE): Add _dl_tls_symaddr.
	* elf/dl-minimal.c: Define __libc_memalign.
	* elf/dl-support.c: Remove _dl_initimage_list.  Add
	_dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
	_dl_tls_generation.
	* include/stdlib.h: Declare __libc_memalign.

	* elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5.
	* elf/tst-tls4.c: New file.
	* elf/tst-tls5.c: New file.
	* elf/tst-tlsmod2.c: New file.

	* elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx.

	* elf/tst-tlsmod1.c: Don't define variables unles USE_TLS.

	* elf/tst-tls1.c: Use test-skeleton.c.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

	* elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0.

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
2002-02-13 08:03:56 +00:00
Ulrich Drepper
2e36cb48e5 Update.
* elf/tst-tls3.c: New file.
	* elf/tst-tlsmod1.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls3.

	* sysdeps/i386/dl-machine.h: Include <tls.h>.
	(elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three
	TLS relocations.
2002-02-11 06:00:19 +00:00
Ulrich Drepper
eee868c3c7 Update.
* sysdeps/i386/dl-tls.h (__tls_get_addr): Call
	___tls_get_addr_internal.
	(___tls_get_addr_internal): Define as alias for ___tls_get_addr.
2002-02-08 06:24:57 +00:00
Ulrich Drepper
04b6da2724 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-tls.h: No need for #ifdef USE_TLS.
2002-02-07 18:04:59 +00:00
Ulrich Drepper
cd30b01ee9 Update.
2002-02-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for
	alignment of the TCB and store total size and alignment of static
	TLS block in _dl_tls_static_size and _dl_tls_static_align.
	tls_index is a typedef.
	* sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and
	_dl_tls_static_align.
	* sysdeps/i386/dl-tls.h: tls_index is a typedef.
	* elf/dl-support.c: Define _dl_tls_static_size and
	_dl_tls_static_align.
2002-02-07 08:44:37 +00:00
Ulrich Drepper
8d4b5a8a50 Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add --without-tls option.
	* sysdeps/i386/elf/configure.in: Don't check for TLS support if
	--without-tls is given.

	* sysdeps/generic/dl-tls.c: Include <tls.h>.

	* sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS.
2002-02-07 06:38:57 +00:00
Ulrich Drepper
4b9abcb6b8 Don't define anything if !USE_TLS. 2002-02-07 06:06:02 +00:00
Ulrich Drepper
3fb558781f Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3.
	* elf/Makefile (dl-routines): Add dl-tls.
	(distribute): Add dl-tls.h.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
	Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset.
	* elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement
	along with the other info in the link map.  Change queueing of init
	images for double linked list.  Use _dl_next_tls_modid to compute
	l_tls_modid.
	* elf/rtld.c (_dl_start_final): Store alignment requirement
	along with the other info in rtld map and executable map.
	(dl_main): Add ld.so to the init image list if necessary.  Compute
	final module ID with _dl_next_tls_modid.
	* include/link.h (struct link_map): Add l_tls_previmage and
	l_tls_align.
	* eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
	* sysdeps/i386/elf/Versions: New file.
	* sysdeps/generic/dl-tls.c: New file.
	* sysdeps/generic/dl-tls.h: New file.
	* sysdeps/i386/dl-tls.h: New file.

	attribute((packed)) to counter stupid people misusing gcc options.
2002-02-07 04:08:19 +00:00
Ulrich Drepper
d9e0ed0f7f Additional version definitions for i386/ELF. 2002-02-07 03:47:17 +00:00
Ulrich Drepper
5d6feea8f5 Update.
* elf/rtld.c (_dl_start): Fill TLS values in link map for rtld.
	* include/link.h (struct link_map): Add various members for TLS
	information.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	_rtld_tlsoffset, add _dl_initimage_list.
	* sysdeps/i386/dl-lookupcfg.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Implement missing
	TLS relocation.  When using TLS we now use RESOLVE_MAP.
	(elf_machine_rela): Use RESOLVE_MAP instead of RESOLVE_MAP if TLS
	is used.

	* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Mark as possibly
	unused.
2002-02-05 08:02:04 +00:00
Ulrich Drepper
535b764df5 Update.
* elf/rtld.c (_dl_start_final): Allocate TLS and initialize
	thread-pointer as soon as possible.
	* sysdeps/generic/ldsodefs.h: Include <tls.h>.  Define first TLS
	elements in rtld_global.
	* sysdeps/generic/tls.h: New file.
	* elf/Makefile (distribute): Add tls.h.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS
	relocations.  Not complete yet.

	* resolv/resolv.h: Allow user to define __need_res_state and only
	define __res_start structure then.
	* include/resolv.h: Only declare functions if _RESOLV_H_ is defined.
2002-02-05 00:57:29 +00:00
Ulrich Drepper
67ddea9254 Update.
2002-02-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Move
	dl_cpuclock_offset initialization to _dl_start_final.
	(_dl_show_auxv): Avoid unnecessary sign extension.
	* elf/rtld.c (_dl_start_final): Initialize dl_cpuclock_offset.
2002-02-04 08:38:52 +00:00
Ulrich Drepper
e23f8d206d Update.
2002-02-03  Ulrich Drepper  <drepper@redhat.com>

	* config.h.in: Add HAVE_TLS_SUPPORT.
	* sysdeps/i386/elf/configure.in: New file.
2002-02-04 06:24:37 +00:00
Ulrich Drepper
7969407a01 Update.
Change ld.so to not use functions which are exported.  One cannot
	interpose them anyway.  Use INT() to mark uses, INTDEF() to mark
	definitions.
	* include/libc-symbols.h: Define INT and INTDEF.
	* sysdeps/generic/ldsodefs.h: Declare _dl_debug_printf_internal,
	_dl_signal_error_internal, _dl_map_object_internal,
	_dl_map_object_deps_internal, _dl_lookup_symbol_internal,
	_dl_lookup_versioned_symbol_internal,
	_dl_relocate_object_internal, _dl_debug_state_internal,
	_dl_start_profile_internal, and _dl_unload_cache_internal.
	* include/dlfcn.h: Declare _dl_catch_error_internal.
	* elf/rtld.c: Use INT for calls to any of the *_internal functions
	above.  Add INTDEF to function definitions.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/alpha/dl-machine.h (RTLD_START): Call _dl_init_internal
	instead of _dl_init.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-machine.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/m68k/dl-machine.h: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-start.S (_dl_start_user): Likewise.

	* elf/Versions: Don't export _dl_check_all_versions, _dl_sysdep_start,
	and _dl_debug_initialize.
2002-02-03 00:31:37 +00:00
Ulrich Drepper
50746436e1 Update.
2002-02-01  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Mark as internal_function.
	* sysdeps/i386/dl-machine.h (RTLD_START): Pass parameter for _dl_start
	in register.
	(elf_machine_rel): Cleanup and minor optimization for RTLD_BOOTSTRAP.
	General pretty printing.
2002-02-01 09:36:26 +00:00
Ulrich Drepper
ccdf0cab1d Update.
* elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing.
	* elf/dl-reloc.c: Pretty printing.
	* sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and
	procinfo-related variables in rtld_global struct.
	* elf/dl-support.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/i386/i686/Makefile: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Likewise.
	* sysdeps/i386/i686/hp-timing.h: Likewise.
	* sysdeps/ia64/Makefile: Likewise.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
	* sysdeps/x86_64/Makefile: Likewise.
2002-02-01 07:49:47 +00:00
Ulrich Drepper
5688da5537 Update.
* sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy,
	_dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and
	_dl_debug_fd to rtld_global.
	* elf/Versions: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.
	* sysdeps/sparc/Versions: Removed.
	* sysdeps/i386/i686/Versions : Removed.
	* sysdeps/x86_64/Versions: Removed.
	* configure.in: Define HAVE_PROTECTED if .protected is available.
	* config.h.in: Add entry for HAVE_PROTECTED.

2002-01-31  Jakub Jelinek  <jakub@redhat.com.

	* sysdeps/alpha/dl-machine.h: Move global variables for SHARED
	code in struct _rtld_global.  Export this struct, remove all
	exports for the signal variables.
	* sysdeps/arm/dl-machine: Likewise.
	* sysdeps/generic/dl-origin: Likewise.
	* sysdeps/generic/dl-sysdep: Likewise.
	* sysdeps/generic/dl-cache: Likewise.
	* sysdeps/hppa/dl-fptr: Likewise.
	* sysdeps/hppa/dl-machine: Likewise.
	* sysdeps/cris/dl-machine: Likewise.
	* sysdeps/i386/dl-machine: Likewise.
	* sysdeps/ia64/dl-machine: Likewise.
	* sysdeps/m68k/dl-machine: Likewise.
	* sysdeps/mach/hurd/dl-sysdep: Likewise.
	* sysdeps/mips/mips64/dl-machine: Likewise.
	* sysdeps/mips/dl-machine: Likewise.
	* sysdeps/powerpc/elf/libc-start: Likewise.
	* sysdeps/powerpc/dl-machine: Likewise.
	* sysdeps/powerpc/dl-start: Likewise.
	* sysdeps/sparc/sparc32/dl-machine: Likewise.
	* sysdeps/sparc/sparc64/dl-machine: Likewise.
	* sysdeps/sh/dl-machine: Likewise.
	* sysdeps/s390/s390-32/dl-machine: Likewise.
	* sysdeps/s390/s390-64/dl-machine: Likewise.
	* sysdeps/unix/sysv/aix/libc-start: Likewise.
	* sysdeps/unix/sysv/aix/start-libc: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static: Likewise.
	* sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise.
	* sysdeps/x86_64/dl-machine: Likewise.

2002-01-31  Ulrich Drepper  <drepper@redhat.com>
2002-02-01 01:33:04 +00:00
Ulrich Drepper
d6b5d570a3 Update.
2002-01-30  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def [ld]: Add GLIBC_2.3.
	* elf/dl-addr.c: Move global variables for SHARED code in struct
	_rtld_global.  Export this struct, remove all exports for the
	signal variables.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-profstub.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/do-rel.h: Likewise.
	* elf/dynamic-link.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/libc-start.c: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-fptr.c: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.

	* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
2002-01-31 03:41:25 +00:00