2002-10-03  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/stxncpy.S: Don't access memory beyond the source
	buffer.
	* sysdeps/alpha/alphaev6/stxncpy.S: Likewise.

2002-10-02  Andreas Jaeger  <aj@suse.de>
	    Guido Guenther  <agx@sigxcpu.org>

	* sysdeps/mips/fpu/fraiseexcpt.c: Add internal definition.
	* sysdeps/mips/fpu/fesetenv.c: Likewise.

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

	* sysdeps/unix/sysv/linux/net/route.h: Include bits/wordsize.h.
	(struct rtentry): Make rt_pad4 6 bytes long if __WORDSIZE == 64.
	* sysdeps/unix/sysv/linux/alpha/Dist: Remove net/route.h.
	* sysdeps/unix/sysv/linux/alpha/net/route.h: Remove.
	* sysdeps/unix/sysv/linux/ia64/Dist: Remove net/route.h.
	* sysdeps/unix/sysv/linux/ia64/net/route.h: Remove.
	* sysdeps/unix/sysv/linux/s390/Dist: Remove net/route.h.
	* sysdeps/unix/sysv/linux/s390/net/route.h: Remove.

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

	* libio/freopen.c: Don't re-set _wide_data element if the stream
	is of old style which didn't have the element.
	* libio/freopen64.c: Likewise.

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

	* sysdeps/unix/sysv/linux/x86_64/Dist: Add bits/utmpx.h.
	* sysdeps/unix/sysv/linux/sparc/Dist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Likewise.

	* sysdeps/s390/s390-32/initfini.c: Avoid unterminated string literals.
	* sysdeps/sh/elf/initfini.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/hppa/elf/initfini.c: Likewise.
	* sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Likewise.

2002-10-02  Steven Munroe  <sjmunroe@us.ibm.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* login/programs/utmpdump.c (print_entry): Copy up->ut_tv fields
	to struct timeval temp_tv before printing to be 32-/64-bit agnostic.
	* sysdeps/powerpc/bits/wordsize.h: Move to...
	* sysdeps/powerpc/powerpc32/bits/wordsize.h: ...here.
	(__WORDSIZE_COMPAT32): Define.
	* sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise.
	* sysdeps/sparc/sparc32/bits/wordsize.h (__WORDSIZE_COMPAT32):
	Define.
	* sysdeps/sparc/sparc64/bits/wordsize.h (__WORDSIZE_COMPAT32):
	Define.
	* sysdeps/s390/bits/wordsize.h: Move to...
	* sysdeps/s390/s390-32/bits/wordsize.h: ...here.
	* sysdeps/s390/s390-64/bits/wordsize.h: Likewise.
	* sysdeps/x86_64/bits/wordsize.h (__WORDSIZE_COMPAT32): Define.
	* sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/utmp.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: New file.

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

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Fix comment typo.
	Temporarily enable R_ALPHA_NONE relocs in ld.so.
	* sysdeps/ia64/dl-machine.h (elf_machine_rela): Temporarily enable
	R_IA64_NONE relocs in ld.so.

2002-09-27  Steven Munroe  <sjmunroe@us.ibm.com>

	* README.template: Minimum Linux kernel for powerpc64 is 2.4.19.

	* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h (struct ipc_perm):
	Use __uint32_t and __uint64_t for __seq, __pad1, __unused[12] fields
	so they are consistent between PPC32 and PPC64.

	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h [__WORDSIZE != 32]:
	(_STAT_VER): Define to _STAT_VER_KERNEL.
	(stru stat, struct stat64): Define to match the PPC64 kernel.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
	(libc: GLIBC_2.2): Remove __xstat64, __fxstat64, and __lxstat64.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: Add kernel_stat.h.

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

	* sysdeps/unix/sysv/linux/xstatconv.c [STAT_IS_KERNEL_STAT]:
	Conditionalize the function definitions on this.
	* sysdeps/unix/sysv/linux/xstat.c (__xstat) [STAT_IS_KERNEL_STAT]:
	Don't use xstat_conv, just fail if VERS != _STAT_VER_KERNEL.
	* sysdeps/unix/sysv/linux/fxstat.c (__fxstat) [STAT_IS_KERNEL_STAT]:
	Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c (__lxstat) [STAT_IS_KERNEL_STAT]:
	Likewise.

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

	* version.h (VERSION): Bump to 2.3.

	* elf/Makefile (distribute): Add tst-tlsmod1.c, tst-tlsmod2.c,
	tst-tlsmod3.c, tst-tlsmod4.c, circlemod1.c, circlemod1a.c,
	circlemod2.c, circlemod2a.c, circlemod3.c, circlemod3a.c,
	and nodlopenmod2.c.

	* login/Makefile (distribute): Add utmp-equal.h.

	* iconvdata/Makefile (distribute): Add TSCII.precomposed and
	TSCII.irreversible.

	* Make-dist (dist): Create .bz2 file.  Add rule to create .bz2 files.
	Also distribute xtests sources.

2002-10-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/elf.h: Change TLS ELF relocation numbers.
	* elf/tls-macros.h: Fix code sequences for SH TLS_LD and TLS_GD
	macros.
	* sysdeps/sh/dl-machine.h (dl_machine_rela) [case R_SH_TLS_TPOFF32]:
	Use addend.
	* sysdeps/sh/elf/initfini.c: Move __fpscr_values to...
	* sysdeps/sh/elf/start.S: ...here.

2002-10-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ,
	SIGSTKSZ): Changed to match kernel.
	* sysdeps/unix/sysv/linux/sparc/bits/sigstack.h: New file.

2002-10-01  Carlos O'Donell  <carlos@baldric.uwo.ca>

	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
	[__USE_GNU] (F_SETLEASE, F_GETLEASE, F_NOTIFY): New macros.
	[__USE_GNU] (DN_ACCESS, DN_MODIFY, DN_CREATE, DN_DELETE, DN_RENAME,
	DN_ATTRIB, DN_MULTISHOT): New macros.

2002-02-08  Randolph Chung  <tausq@debian.org>

	* sysdeps/hppa/elf/start.S: Define __data_start.

2002-10-01  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regex_internal.c (re_string_reconstruct): Reset the member
	LEN and STOP.
	* posix/regexec.c (re_search_stub): Remove incorrect condition of
	"range < 0".
	Round RANGE in case that it is too small.

2002-10-01  Roland McGrath  <roland@frob.com>

	* config.h.in (NO_HIDDEN): New #undef.
	* include/libc-symbols.h [! NO_HIDDEN]: Add this condition to
	nonempty definitions of hidden_proto et al.
	* configure.in: Grok --disable-hidden-plt to define NO_HIDDEN.
	* configure: Regenerated.
	* sysdeps/mach/hurd/configure.in: Always define NO_HIDDEN.
	* sysdeps/mach/hurd/configure: Regenerated.

2002-09-19  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-fptr.c (make_fdesc): Load address of "local" via
	a 64-bit gp-relative address to enable binaries with large data
	sections.

2002-09-30  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/cxa_finalize.c (__cxa_finalize): Call UNREGISTER_ATFORK
	if it is defined.
	* posix/Makefile (distribute): Add fork.h.
	* sysdeps/generic/fork.h: New file.

2002-09-29  Bruno Haible  <bruno@clisp.org>

	* sysdeps/generic/utmp_file.c (LOCKING_FAILED): New macro.
	(UNLOCK_FILE): Add a label.
	(getutent_r_file, internal_getut_r, getutline_r_file, pututline_file,
	updwtmp_file): Shut off the alarm clock when locking failed.

2002-09-30  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regex_internal.h (re_match_context_t): Add a new member.
	(re_fail_stack_ent_t): New structure.
	(re_fail_stack_t): Likewise.
	* posix/regexec.c (re_search_internal): Use the new member of
	re_match_context_t.
	Use fail stack only if it has back references and there are plural
	matching candidates.
	(proceed_next_node): Use fail stack if it is indicated.
	(set_regs): Likewise.
	(push_fail_stack): New function.
	(pop_fail_stack): New function.
	(check_dst_limits): Likewise.
	(check_dst_limits_calc_pos): Likewise.
	(search_subexp): Check the limitations on the top of subexpressions.
	(sift_states_bkref): Check the limitations of the destination node.
	Reuse the array sctx->sifted_states.

2002-09-30  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf_fp.c: Shuffle a few lines around to help the
	compiler optimizing.  No semantical changes intended.

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

	* sysdeps/ia64/strncpy.S: Only segfault in .recovery2 if some bits
	from the next quad are needed.

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

	* 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.

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h
	[USE_TLS && HAVE___THREAD] (SYSCALL_ERROR_HANDLER): Use TLS access.

	* rt/tst-aio7.c (do_test): Don't read from stdin, which could be the
	terminal when the test is running in a background job.  Instead, make
	a pipe and read from its read half while never writing anything to it.

2002-09-30  Andreas Jaeger  <aj@suse.de>

	* stdlib/tst-bsearch.c (main): Fix format strings.
	* stdio-common/tst-rndseek.c (do_test): Likewise.
	* libio/tst_swprintf.c (main): Likewise.
	* catgets/tst-catgets.c (main): Likewise.
	* libio/tst-fgetws.c (main): Likewise.
	* posix/tst-mmap.c (main): Likewise.
	* posix/bug-regex12.c (main): Likewise.
	* posix/bug-regex11.c (main): Likewise.
	* io/tst-getcwd.c (do_test): Likewise.

	* iconvdata/tst-e2big.c (test): Use %td in printf for ptrdiff_t.

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
	Store 4 bytes into errno, not 8 bytes.

2002-09-29  Ulrich Drepper  <drepper@redhat.com>

	* posix/regexec.c (sift_states_bkref): Remove ret variable.  Use
	err instead.

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

	* test-skeleton.c (timeout_handler): Use WUNTRACED flag in waitpid.
	Examine the child's status and print something different if it wasn't
	just killed by our SIGKILL.
	(main): In the child process call setpgid to put it in its own pgrp.

2002-09-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): The return value
	semantics for sigtimedwait is different.  Rework the return value
	handling and don't pass in a siginfo variable.

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

	* malloc/malloc.c [! MALLOC_DEBUG] (assert): #undef before defining.

	* sysdeps/mach/hurd/Versions (ld: GLIBC_2.2.6): Add __errno_location.

	* sysdeps/unix/sysv/linux/x86_64/sysdep.S [USE_TLS && HAVE___THREAD]:
	Define errno in .tbss.
	* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD]: Use TLS
	access for setting errno.

	* sysdeps/unix/x86_64/sysdep.S: Store 32 bits at errno, not 64 bits.
	AFAICT, it was just blind luck that the word following errno in .bss
	was just alignment padding and not some other variable to be clobbered.

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

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_SETRESUID_SYSCALL): On the sparc, define to 1, not empty.

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

	* nss/bug-erange.c (main): Don't fail if /etc/resolv.conf doesn't
	exist.

2002-09-29  Ulrich Drepper  <drepper@redhat.com>

	* nss/Makefile: Move bug-erange from tests to xtests.

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

	* stdlib/longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.

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

	* sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall0): Make asm
	volatile.
	(inline_syscall1, inline_syscall2, inline_syscall3, inline_syscall4,
	inline_syscall5, inline_syscall6): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL):
	Likewise.

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

	* configure.in (libc_cv_ranlib_necessary check): Put the .o file in
	the archive, not the .c file.
	* configure: Regenerated.

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

	* configure: Regenerated after aclocal.m4 change.

	* sysdeps/x86_64/sysdep.h [HAVE_ELF] (L): Define with .L##name form.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (L): Don't define it here.

	* sysdeps/generic/dl-lookupcfg.h [USE_TLS] (DL_LOOKUP_RETURNS_MAP):
	Define it, because _dl_sym presumes it (for any platform).

	* sysdeps/x86_64/dl-tls.h: New file.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Add a cast.

	* sysdeps/x86_64/elf/configure.in: New file.
	* sysdeps/x86_64/elf/configure: New generated file.

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

	* elf/rtld.c (_dl_start): Fix conditional for declaring CNT.

	* aclocal.m4 (LIBC_PROG_BINUTILS): Don't clobber $RANLIB with ranlib
	before we check it.

2002-09-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add __syscall_exit
	entry point.

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

	* posix/bug-regex11.c (tests): Add flags field.
	(main): Avoid warnings.  Use test[i].flags.  Return nonzero
	if any of the tests failed.
	* posix/bug-regex12.c: New file.
	* posix/Makefile (tests): Add bug-regex12.

2002-03-02  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/nice.c (nice): Use getpriority() for the return value.

2002-09-28  Jeff Bailey  <jbailey@gnu.org>

	* sysdeps/unix/sysv/sysv4/solaris2/configure.in: Delete.
	* sysdeps/unix/sysv/aix/configure.in: Update comment and remove
	stdio=libio setting.

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

	* sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps): Use INTUSE for
	_dl_signal_error.
	* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.c
	(_dl_reloc_overflow): Likewise.
	* sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise.
	(elf_machine_rela): Likewise.

2002-09-27  Steven Munroe  <sjmunroe@us.ibm.com>

	* include/libc-symbols.h (__hidden_dot_weak1): Fix typo.  Replace
	ASM_GLOBAL_DIRECTIVE with .weak.

2002-09-28  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/mips/truncate64.c (truncate64): Fix
	number of args to syscall.
	* sysdeps/unix/sysv/linux/mips/ftruncate64.c (__ftruncate64): Likewise.
	Patch by Guido Guenther <agx@sigxcpu.org>.

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

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (__NR_pread, __NR_pwrite):
	Define these to __NR_pread64, __NR_pwrite64 if not defined.

	* sysdeps/unix/sysv/linux/powerpc/lchown.S
	[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Use this condition
	on chown compatibility symbol; use compat_symbol, not symbol_version.

2002-09-27  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (reg_free): Free the debug area.
	(re_compile_internal): Allocate debug area for the input string.
	(create_initial_state): Check the back references in initial states
	if they are really match null string in the initial state.
	(parse_reg_exp): Mark the dfa that the dfa can have plural matchings.
	(parse_expression): Likewise.
	(parse_bracket_exp): Likewise.
	* posix/regex_internal.c (re_node_set_intersect): Remove unused
	function.
	(re_node_set_contains): Change to return the index of node.
	* posix/regex_internal.h (re_backref_cache_entry): Change the members.
	(re_match_context_t): Likewise.
	(struct re_dfa_t): Likewise.
	(re_sift_context_t): New structure.
	* posix/regexec.c (match_ctx_clear_flag): New function.
	(sift_ctx_init): Likewise.
	(update_cur_sifted_state): Likewise.
	(add_epsilon_src_nodes): Likewise.
	(sub_epsilon_src_nodes): Likewise.
	(check_subexp_limits): Likewise.
	(search_subexp): Likewise.
	(sift_states_bkref): Likewise.
	(merge_state_array): Likewise.
	(sift_states_iter_bkref): Remove unused function.
	(add_epsilon_backreference): Remove unused function.
	(re_search_internal): Adapt new members and interfaces.
	(check_matching): Check the back references in initial states
	if they are really match null string in the initial state.
	(proceed_next_node): Change the evaluation of back references,
	since we have real registers here.
	(set_regs): Adapt new interface of proceed_next_node.
	(sift_states_backward): Add invocation of update_cur_sifted_state
	instead of add_epsilon_backreference.
	Add a sentinel to the outermost while loop.
	Move the handling of back references to sift_states_bkref function,
	since we can't handle some back references (e.g. a back reference
	which match NULL string) here.
	(transit_state_mb): Handle the new member max_mb_elem_len.
	(transit_state_bkref_loop): Move the evaluation of back references to
	search_subexp function, since we can't evaluate some back references
	(e.g. a back reference which can have plural matchings) here.
	(match_ctx_init): Adapt the new member.
	(match_ctx_add_entry): Adapt the new members.

2002-09-25  Alan Modra  <amodra@bigpond.net.au>

	* elf/do-rel.h: Define macro DO_ELF_MACHINE_REL_RELATIVE for
	'elf_machine_rel_relative'
	(elf_dynamic_do_rel): Call DO_ELF_MACHINE_REL_RELATIVE macro
	instead of 'elf_machine_rel_relative'.
	* sysdeps/hppa/dl-machine.h:
	Define macro DO_ELF_MACHINE_REL_RELATIVE for
	'elf_machine_rel_relative' with extra map parameter
	required by HPPA.
	(elf_machine_rela_relative): Add plt relocation changes.

2001-11-14  Matthew Wilcox  <willy@debian.org>

	* sysdeps/unix/sysv/linux/hppa/bits/ipc.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/msq.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/sem.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/shm.h: New file.

2002-09-27  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/Makefile: Fix typo in comment.

	* sysdeps/powerpc/powerpc64/Makefile
	[$(build-shared) = yes] (pic-ccflag): Define it.
	[$(subdir) = csu] (CFLAGS-initfini.s): Add -fpic here too.

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

	* sysdeps/x86_64/dl-machine.h (elf_machine_type_class): Remove
	unneeded TLS cases.

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

	* elf/dl-addr.c (_dl_addr): Set dli_fbase to l_map_start
	unconditionally.  Set dli_fname to _dl_argv[0] only for main program.

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

	* elf/dl-addr.c (_dl_addr): Add a cast.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela) [USE_TLS]: Handle new
	TLS relocs R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, and R_X86_64_TPOFF64.

	* elf/elf.h (R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, R_X86_64_TPOFF64,
	R_X86_64_TLSGD, R_X86_64_TLSLD, R_X86_64_DTPOFF32,
	R_x86_64_GOTTPOFF, R_X86_64_TPOFF32): New macros.
	(R_X86_64_NUM): Update the value.

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

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Don't
	rely on *r_offset of R_SPARC_RELATIVE reloc in .got to contain the
	addend.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Use
	the same l_addr computation.
	* sysdeps/sparc/sparc64/configure.in: Removed.
	* sysdeps/sparc/sparc64/configure: Removed.
	* config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Remove.

2002-09-26  Ulrich Drepper  <drepper@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_HASH entry
	if necessary.
	* elf/dl-lookup.c (_dl_setup_hash): DT_HASH entry is already relocated.
	* elf/dl-addr.c (_dl_addr): Use .hash[1] entry to determine end of the
	symbol table if necessary.

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

	* stdlib/longlong.h: Replaced with current version from GCC mainline,
	last modified 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>.

2002-09-25  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/mips/syscalls.list: Add syscall_exit.
	Patch by Guido Guenther <agx@sigxcpu.org>.

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

	* Makeconfig (%.v.i pattern rule): Use $(CPPFLAGS).

2002-09-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/configure.in: Recognize nptl add-on name.

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

	* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Move __libc_read,
	__libc_write, __libc_lseek64, to ...
	(ld: GLIBC_PRIVATE): ... here.

	* csu/Versions: Use %include <tls.h> to get USE_TLS defined.
	(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _errno, errno.
	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put errno here instead.
	* resolv/Versions: Use %include <tls.h> to get USE_TLS defined.
	(libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _h_errno, h_errno,
	and _res.
	(libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put h_errno, _res here.

	* elf/tls-macros.h [__x86_64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD):
	New macros for x86-64.

	* sysdeps/unix/sysv/linux/alpha/bits/time.h: File removed.
	It was indentical to the linux/bits/time.h file.

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Add a cast to silence warning.

	* resolv/gethnamaddr.c (gethostbyaddr): Use socklen_t for SIZE.

2002-09-23  Ulrich Drepper  <drepper@redhat.com>

	* po/zh_CN.po: New file.

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

	* posix/unistd.h: Test [__USE_UNIX98] instead of [__USE_OPEN2K]
	for gethostname declaration.

	* catgets/open_catalog.c (__open_catalog): Don't use a value type
	as the __builtin_expect expression, just the Boolean value.

	* sysdeps/generic/wordexp.c (parse_glob): int -> size_t for counter.
	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Likewise.
	* resolv/res_hconf.c (arg_service_list, parse_line): Likewise.
	* iconvdata/tst-loading.c (main): Likewise.
	* catgets/tst-catgets.c (main): Likewise.
	* stdlib/tst-xpg-basename.c (main): Likewise.
	* stdlib/tst-bsearch.c (main): Likewise.
	* stdio-common/test-vfprintf.c (main): Likewise.
	* stdio-common/tst-rndseek.c (do_test): Likewise.
	* libio/tst_swprintf.c (main): Likewise.
	* libio/tst-fgetws.c (main): Likewise.
	* wcsmbs/tst-mbrtowc.c (check_ascii): Likewise.
	* time/tst-posixtz.c (main): Likewise.
	* time/tst-strptime.c (test_tm): Likewise.
	* time/tst-strptime.c (main): Likewise.
	* time/tst-getdate.c (main): Likewise.
	* posix/tst-mmap.c (main): Likewise.
	* posix/tst-getaddrinfo.c (do_test): Likewise.
	* io/tst-getcwd.c (do_test): Likewise.
	* resolv/tst-aton.c (main): Likewise.
	* inet/tst-network.c (main): Likewise.
	* libio/tst-fgetws.c (main): Likewise.
	* sysdeps/posix/sprofil.c (add_region): int -> unsigned int for I.
	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): int -> unsigned int
	for PTYNO.

	* stdlib/msort.c (qsort): Add a cast to silence warning.
	* stdio-common/vfprintf.c (process_string_arg): Likewise.
	* libio/oldfileops.c (_IO_old_do_write): Likewise.
	* sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c (ttyname): Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise.
	* argp/argp-fmtstream.c (__argp_fmtstream_printf): Likewise.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
	* sysdeps/unix/grantpt.c (grantpt): Likewise.
	* libio/tst-widetext.c (main): Likewise.
	* libio/tst-mmap2-eofsync.c (do_test): Likewise.
	* rt/tst-aio.c (test_file): Likewise.
	* rt/tst-aio64.c (test_file): Likewise.
	* resolv/tst-aton.c (main): Likewise.

	* catgets/catgetsinfo.h (CATGETS_MAGIC): Use U suffix on the constant.

	* ctype/ctype.c (__ctype_tolower, __ctype_toupper): Cast to int32_t
	instead of uint32_t in these macros.

2002-09-22  Bruno Haible  <bruno@clisp.org>

	* iconv/iconv_prog.c (main): Provide an error message that identifies
	the wrong encoding.

	* iconvdata/tscii.c: New file.
	* iconvdata/testdata/TSCII: New file.
	* iconvdata/testdata/TSCII..UTF8: New file.
	* iconvdata/TSCII.precomposed: New file.
	* iconvdata/TSCII.irreversible: New file.
	* iconvdata/gconv-modules (TSCII): New module.
	* iconvdata/Makefile (modules): Add TSCII.
	(distribute): Add tscii.c.
	* iconvdata/tst-table-from.c (try, utf8_decode, main): Double output
	buffer size.
	* iconvdata/tst-tables.sh: Add TSCII.
	* iconvdata/TESTS: Add TSCII.

	Revert 2002-04-18 patch.
	* iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
	FROM_DIRECTION): Make the FROM direction stateful again.
	* iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
	FROM_DIRECTION): Likewise.

	* iconvdata/tst-e2big.c: New file.
	* iconvdata/Makefile (tests): Add tst-e2big.

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

	* elf/Makefile (test-extras): Define this instead of test-srcs.
	* Makerules (all-nonlib): Include $(test-extras) too.

2002-09-21  Carlos O'Donell  <carlos@baldric.uwo.ca>

	* sysdeps/hppa/abort-instr.h: New file.

2002-09-22  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Remove duplicate entry.

	* sysdeps/mach/hurd/dl-sysdep.c (_exit): Add alias __GI__exit.

2002-09-22  Andreas Schwab  <schwab@suse.de>

	* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Append, not overwrite.

	* sysdeps/m68k/fpu/bits/mathinline.h (isgreater, isgreaterequal)
	(isless, islessequal, islessgreater, isunordered) [GCC >= 3.1]:
	Use GCC builtins.

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

	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_PLATFORM):
	Correct the value so it covers all platforms, and is computed
	from _DL_PLATFORMS_COUNT rather than hard-wired.
	From Andrew Suffield <asuffield@debian.org>.

2002-09-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Avoid
	locking when using mount tab file.
	* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
	* sysdeps/unix/sysv/linux/statvfs.c: Include <stdio_ext.h>.
	* sysdeps/unix/sysv/linux/fstatvfs.c: Likewise.

	* elf/dl-init.c (_dl_init): Fix test of the size of the
	preinit_array section.
	(call_init): Optimize access to DT_INIT_ARRAY entry a bit.
	Reported by Brian Cabral <cabral@ikuni.com>.

2002-09-20  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/sysdep.h: Remove powerpc32 specific macros.
	* sysdeps/powerpc/powerpc32/sysdep.h: New file.  Define powerpc32
	specific macros copied from sysdeps/powerpc/sysdep.h.
	* sysdeps/powerpc/powerpc64/sysdep.h: New file.  Define powerpc64
	specific macros.
	* sysdeps/unix/powerpc/sysdep.h: Include <bits/wordsize.h>.
	[__WORDSIZE==64]: Include sysdeps/powerpc/powerpc64/sysdep.h.
	[!__WORDSIZE==64]: Include sysdeps/powerpc/powerpc32/sysdep.h.

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

	* intl/dcigettext.c (DCIGETTEXT): Restore errno only right before
	returning.

2002-09-17  Bruno Haible  <bruno@clisp.org>

	* sysdeps/generic/utmp-equal.h: New file, extracted from utmp_file.c.
	* sysdeps/generic/utmp_file.c (setutent_file): Invalidate last_entry
	also on platforms with !HAVE_UT_TYPE.
	(proc_utmp_eq): Remove function.
	(internal_getut_r, pututline_file): Call __utmp_equal instead.

2002-09-20  Bruno Haible  <bruno@clisp.org>

	* abi-tags: Add support for FreeBSD with ABI OS value 3.
	* elf/cache.c (print_entry): Support the GNU/FreeBSD ABI tag.

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

	* sysdeps/generic/gmp-mparam.h: Include <bits/wordsize.h>.
	(BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB, BITS_PER_LONGINT): Define in
	terms of __WORDSIZE.
	* sysdeps/x86_64/gmp-mparam.h: File removed.
	* sysdeps/sparc/gmp-mparam.h: File removed.
	* sysdeps/mips/mips64/gmp-mparam.h: File removed.
	* sysdeps/ia64/gmp-mparam.h: File removed.
	* sysdeps/alpha/gmp-mparam.h: File removed.

2002-09-20  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/elf/libc-start.c: Use long in place of int for argc
	load, so as to work on both 32-bit and 64-bit.  Remove unnecessary
	casts.  Align __libc_stack_end to 8 bytes.

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

	* sysdeps/powerpc/fpu/s_lrint.c: Use strong_alias/weak_alias macros
	instead of asm for lrintf, __lrintf aliases.

	* sysdeps/powerpc/fpu/s_lrint.c (__lrint): Change union long array to
	int array for 32-/64-bit compatibility.
	From Steven Munroe  <sjmunroe@us.ibm.com>.

2002-09-17  Bruno Haible  <bruno@clisp.org>

	* sysdeps/generic/ifreq.h (__if_nextreq): New function.
	* sysdeps/unix/sysv/linux/ifreq.h (__if_nextreq): New function.
	* sysdeps/mach/hurd/ifreq.h (__if_nextreq): New function.
	* sysdeps/gnu/ifaddrs.c (getifaddrs): Use __if_nextreq
	for iterating through the list of interfaces.
	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Likewise.

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

	* sysdeps/unix/grantpt.c (pts_name): Set errno when __ptsname_r fails.
	Reported by Bruno Haible <bruno@clisp.org>.

	* sysdeps/unix/bsd/bsd4.4/isatty.c: New file.

	* sysdeps/unix/bsd/isatty.c (__isatty): Don't save and restore errno.
	* sysdeps/unix/bsd/ptsname.c (__ptsname_r): Return errno value from
	isatty unmodified.  Reported by Bruno Haible <bruno@clisp.org>.

2002-09-20  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/bits/setjmp.h [__WORDSIZE]: Add 64-bit jmpbuf.
	* sysdeps/powerpc/bits/wordsize.h: New file.
	* sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Change long
	array to int array for 32-/64-bit compatibility.

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

	* login/programs/utmpdump.c: Don't include <error.h>, <errno.h>.

	* sysdeps/generic/utimes.c (__utimes): Don't check TVP for null.
	Reported by Bruno Haible <bruno@clisp.org>.

	* sysdeps/generic/ifreq.h (__ifreq): Compute termination condition
	before doubling RQ_LEN.
	* sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
	Reported by Bruno Haible <bruno@clisp.org>.

2002-09-18  Bruno Haible  <bruno@clisp.org>

	* login/logout.c (logout): Don't assume ut_time has the same size as
	a time_t.
	* login/logwtmp.c (logwtmp): Likewise.

	* sysdeps/pthread/configure: New file, moved here from
	linuxthreads/sysdeps/unix/sysv/linux/configure.

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

	* sysdeps/unix/sysv/linux/_exit.c: Include <errno.h>.
	(_exit): Don't use ABORT_INSTRUCTION if it is not defined.
	Reported by Glen Nakamura <glen@imodulo.com>.

2002-09-19  Neal H. Walfield  <neal@cs.uml.edu>

	* sysdeps/mach/hurd/fork.c (__fork): Do not free the signal
	thread's sigstate data structure if it has been allocated.

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

	* include/libc-symbols.h [HAVE_ASM_SET_DIRECTIVE]
	[! HAVE_ASM_GLOBAL_DOT_NAME] (__hidden_dot_def1): Fix typo'd name.

2002-09-18  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump to 2.2.94.

	* 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  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-18  Roland McGrath  <roland@redhat.com>

	* locale/lc-ctype.c (_nl_postload_ctype): Add compat_symbol decls for
	the __ctype_* compat symbols, so the relocs generated bind to the
	right versioned global symbol in the shared object.

	* elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag)
	from the value taken from the DT_VERSYM table.
	* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise.
	(RESOLVE_GOTSYM): Likewise.

	* sysdeps/unix/sysv/linux/sigaction.c (__libc_sigaction):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.

2002-09-18  Ulrich Drepper  <drepper@redhat.com>

	* include/signal.h: Add libc_hidden_proto for __libc_sigaction.

	* sysdeps/unix/sysv/linux/sigaction.c: If SIGCANCEL is defined
	define sigaction and __sigaction as wrappers around
	__libc_sigaction which rejects changing SIGCANCEL.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.

	* sysdeps/unix/sysv/linux/i386/clone.S: Add support for SETTLS and
	SETTID/CLEARTID.

	* signal/allocrtsig.c: Move to...
	* sysdeps/generic/allocrtsig.c: ...here.  New file.

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

	* 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-17  Roland McGrath  <roland@redhat.com>

	* malloc/Makefile ($(objpfx)memusagestat.o: sysincludes): Define
	file-specific variable override so it compiles properly when using
	--with-headers.

2002-09-17  Steven Munroe  <sjmunroe@us.ibm.com>

	Ported to PowerPC64 running Linux.
	* sysdeps/powerpc/powerpc64/Dist: New file.
	* sysdeps/powerpc/powerpc64/Implies: New file.
	* sysdeps/powerpc/powerpc64/Makefile: New file.
	* sysdeps/powerpc/powerpc64/__longjmp.S: New file.
	* sysdeps/powerpc/powerpc64/atomicity.h: New file.
	* sysdeps/powerpc/powerpc64/backtrace.c: New file.
	* sysdeps/powerpc/powerpc64/bp-asm.h: New file.
	* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: New file.
	* sysdeps/powerpc/powerpc64/bsd-setjmp.S: New file.
	* sysdeps/powerpc/powerpc64/dl-dtprocnum.h: New file.
	* sysdeps/powerpc/powerpc64/dl-lookupcfg.h: New file.
	* sysdeps/powerpc/powerpc64/dl-machine.c: New file.
	* sysdeps/powerpc/powerpc64/dl-machine.h: New file.
	* sysdeps/powerpc/powerpc64/memset.S: New file.
	* sysdeps/powerpc/powerpc64/ppc-mcount.S: New file.
	* sysdeps/powerpc/powerpc64/register-dump.h: New file.
	* sysdeps/powerpc/powerpc64/setjmp.S: New file.
	* sysdeps/powerpc/powerpc64/stpcpy.S: New file.
	* sysdeps/powerpc/powerpc64/strchr.S: New file.
	* sysdeps/powerpc/powerpc64/strcmp.S: New file.
	* sysdeps/powerpc/powerpc64/strcpy.S: New file.
	* sysdeps/powerpc/powerpc64/strlen.S: New file.
	* sysdeps/powerpc/powerpc64/elf/bzero.S: New file.
	* sysdeps/powerpc/powerpc64/elf/start.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: New File.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: New file.

	* include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME]
	(C_SYMBOL_DOT_NAME): Insure that C_SYMBOL_DOT_NAME works for
	various gcc versions.  Dot names required for powerpc64.
	[HAVE_ASM_GLOBAL_DOT_NAME] (_weak_extern): Add .weakext '.'ed symbol.
	[HAVE_ASM_GLOBAL_DOT_NAME] (strong_alias): Add .global
	C_SYMBOL_DOT_NAME(alias).
	[HAVE_ASM_GLOBAL_DOT_NAME] (strong_data_alias): New macro. Same as
	original strong_alias macro.
	[HAVE_ASM_GLOBAL_DOT_NAME] (weak_alias): Add .weakext/.weak
	C_SYMBOL_DOT_NAME(alias).
	[HAVE_ASM_GLOBAL_DOT_NAME] (_symbol_version): Add .symver '.'ed name.
	[HAVE_ASM_GLOBAL_DOT_NAME] (_default_symbol_version): Add .symver
	'.'ed name.
	Add comments on libc_hidden_data_def and libc_hidden_data_weak usage.
	[HAVE_ASM_GLOBAL_DOT_NAME] (hidden_dot_def1): New macro.  Generate
	.global C_SYMBOL_DOT_NAME(alias).  Otherwise an empty macro.
	(hidden_def): Append hidden_dot_def1 macro to definition.
	(hidden_ver): Append hidden_dot_def1 macro to definition.
	(hidden_data_def): New macro.  Same as original hidden_def macro.
	(hidden_data_ver): New macro.  Same as original hidden_ver macro.
	[HAVE_ASM_GLOBAL_DOT_NAME] (hidden_dot_weak1): New macro.  Generate
	.weakext C_SYMBOL_DOT_NAME(alias).  Otherwise an empty macro.
	(hidden_weak): Append hidden_dot_weak1 macro to definition.
	(hidden_data_weak): New macro.  Same as original hidden_weak macro.
	[HAVE_ASM_GLOBAL_DOT_NAME] (HIDDEN_JUMPTARGET): Define as .__GI_name.
	Otherwise defined as __GI_name.
	(libc_hidden_data_def): New macro.  Use hidden_data_def.
	(libc_hidden_data_weak): New macro.  Use hidden_data_weak.
	(libc_hidden_data_ver): New macro.  Use hidden_data_ver.
	(rtld_hidden_data_def): New macro.  Use hidden_data_def.
	(rtld_hidden_data_weak): New macro.  Use hidden_data_weak.
	(rtld_hidden_data_ver): New macro.  Use hidden_data_ver.
	(libm_hidden_data_def): New macro.  Use hidden_data_def.
	(libm_hidden_data_weak): New macro.  Use hidden_data_weak.
	(libm_hidden_data_ver): New macro.  Use hidden_data_ver.
	* inet/in6_addr.c: Replace libc_hidden_def with libc_hidden_data_def.

2002-09-17  Ulrich Drepper  <drepper@redhat.com>

	* include/libc-symbols.h: Change *hidden_proto macros to accept
	option parameters and pass those to the attribute definition.
	* include/unistd.h (_exit): Add __noreturn__ to libc_hidden_proto call.

	* include/unistd.h: Declare __libc_pause.

	* include/sys/socket.h: Declare __libc_send, __libc_recv,
	__libc_sendto, __libc_sendmsg, __libc_recvmsg, and __libc_accept.

	* include/unistd.h: Declare __libc_fork.

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

	* sunrpc/xcrypt.c (passwd2des_internal): Renamed fom passwd2des.
	(passwd2des): Define it as an alias.
	(xencrypt, xdecrypt): Call passwd2des_internal instead of passwd2des.

2002-09-12  Bruno Haible  <bruno@clisp.org>

	* include/sys/sysctl.h (__sysctl): Add libc_hidden_proto.
	* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Add libc_hidden_def.

	* include/rpc/xdr.h (xdrstdio_create): Add libc_hidden_proto.
	* sunrpc/xdr_stdio.c (xdrstdio_create): Add libc_hidden_def.

2002-09-05  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/kernel-features.h [__powerpc64__]
	(__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_STAT64_SYSCALL, __ASSUME_IPC64,
	__ASSUME_FCNTL64, __ASSUME_MMAP2_SYSCALL): Don't define these.
	PowerPC64 does not have separate 64-bit syscalls.

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

	* sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Add a cast.

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
	New macro.

	* elf/rtld.c [HP_TIMING_NONAVAIL]: Fix last change for this case.

	* include/unistd.h: Uncomment libc_hidden_proto for _exit.
	* sysdeps/mach/hurd/_exit.c: Add libc_hidden_def.
	* sysdeps/generic/_exit.c: Likewise.

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

	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Regenerate.

	* elf/rtld.c (struct dl_start_final_info): New.
	(_dl_start_final): Change second argument to struct
	dl_start_final_info *.  Set start_time from info.
	(_dl_start): Remove bootstrap_map variable, add info.
	Define bootstrap_map as macro.  If not DONT_USE_BOOTSTRAP_MAP,
	store HP_TIMING_NOW result into info.start_time.

2002-09-16  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/_exit.c: Add libc_hidden_def and weak_alias
	to _Exit.
	* sysdeps/unix/sysv/linux/i386/_exit.S: Likewise.

2002-09-15  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/powerpc/abort-instr.h: New file.

2002-09-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-start.c (__libc_start_main): Remove bogus
	comment.

	* test-skeleton.c (main): Provide more information in case waitpid
	fails.

	* include/unistd.h: Declare __exit_thread.
	* sysdeps/generic/libc-start.c (__libc_start_main): Remove dummy_addr.
	Wrap call to main in setjmp if HAVE_CANCELBUF is defined.
	* sysdeps/unix/sysv/linux/exit-thread.S: New file.
	* sysdeps/unix/sysv/linux/_exit.c: New file.
	* sysdeps/unix/sysv/linux/i386/_exit.S: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir==posix] (sysdep_routines):
	Add exit-thread.

	* configure.in: Add dl_iterate_phdr to test using -nostdlib.

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

	* 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  Roland McGrath  <roland@redhat.com>

	* Makefile (manual/%): Add this pattern target to the iconvdata/% rule.

2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* stdlib/longlong.h [_ARCH_PPC && W_TYPE_SIZE!=32]: Add powerpc64
	specific asm macros for multiple percision integer math.

2002-06-04  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/generic/ldconfig.h (FLAG_POWERPC_LIB64) New macro.
	* elf/cache.c (print_entry): Add case for FLAG_POWERPC_LIB64.
	Remove per-machine conditionals for FLAG_* cases.
	* sysdeps/unix/sysv/linux/powerpc/ldconfig.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/readelflib.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h: New file.

2002-09-10  Alan Modra <amodra@bigpond.net.au>

	* csu/gmon-start.c [!TEXT_START]: Define TEXT_START if not already
	defined in entry.h.
	(__gmon_start__) [!ENTRY_POINT_DECL]: Use TEXT_START macro to obtain
	lowest address for profiling in  __monstartup call.
	* sysdeps/powerpc/powerpc64/elf/entry.h: New file.

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

	* sysdeps/unix/sysv/linux/pread.c: __NR_pread64 may be defined
	instead of __NR_pread.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: __NR_pwrite64 may be defined
	instead of __NR_pwrite.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.

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

	* manual/libc.texinfo: @ifinfo -> @ifnottex around copyright notice.

2002-09-13  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/mips/syscalls.list: Add readahead
	syscall.  Patch by Guido Guenther <agx@sigxcpu.org>.

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

	* elf/elf.h: Correct DT_LOOS and DT_HIOS values.

2002-09-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/powerpc/fpu/s_isnan.c: #undef __isnanf and isnanf after
	reading the headers.

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

	* elf/rtld.c (_dl_start_final): Move _begin, _end decls outside the fn.
	(_dl_start) [DONT_USE_BOOTSTRAP_MAP]: Use &_begin instead of l_addr to
	find the ELF header.

	* elf/rtld.c (dl_main) [USE_TLS]: Adjust l_tls_initimage of main
	executable if needed, in case it's actually a shared object.

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

	* elf/dl-load.c (_dl_map_object_from_fd): Use l_addr instead of
	l_map_start to adjust l_tls_initimage.

	* nss/getnssent_r.c (__nss_getent_r): Use EAGAIN instead of errno
	when using h_errno and it's not set to NETDB_INTERNAL.
	* nss/getXXbyYY_r.c [NEED_H_ERRNO]: Likewise.

	* Makefile ($(common-objpfx)testrun.sh): New target.
	(others): Depend on it.
	(postclean-generated): Append it.

	* nss/bug-erange.c: New file.
	* nss/Makefile (tests): Add it.

	* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Return errno
	instead of always EAGAIN when status is NSS_STATUS_TRYAGAIN.

	* sysdeps/generic/dl-environ.c (unsetenv): Redo last fix without
	strncmp, keeps the code smaller for a non-performance-critical case.

	* sysdeps/generic/dl-environ.c (unsetenv): Rewritten using strncmp,
	no longer wrongly matches arbitrary prefixes of NAME.
	Reported by Jakub Jelinek <jakub@redhat.com>.

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

	* posix/bug-regex11.c (tests): New array.
	(main): Rewritten to run more different tests.

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

	* nscd/Makefile (CPPFLAGS-nscd, CPPFLAGS-nscd_conf, CPPFLAGS-dbg_log)
	(CPPFLAGS-connections, CPPFLAGS-hstcache): Variables removed.
	Instead, catch all of $(nscd-modules) via cppflags-iterator.mk.

	* sysdeps/powerpc/fpu/s_isnan.c: Do macro hackery on __GI___isnanf as
	well so we don't get it declared by include/math.h's hidden_proto.
	Then do hidden_proto for __isnanf locally so hidden_def works right.

	* posix/bug-regex5.c (main): Use `union locale_data_value' rather than
	a cast to turn nl_langinfo return value into an integer.

2002-09-10  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regexec.c (build_trtable): Fix the destination of
	newline to prevent wrong states from overwriting.
	Append break statements to optimization.

2002-09-10  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c: Wrap #include wchar.h and wctype.h in #if.
	(build_range_exp): Add castings to strlen invocations.
	(build_collating_symbol): Restore the type of characters from "char"
	to "unsigned char", and supplement castings.
	(build_collating_symbol): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(seek_collating_symbol_entry): Likewise.
	(parse_bracket_exp): Likewise.
	(build_word_op): Supplement a casting.
	* posix/regex_internal.c: Wrap #include wchar.h and wctype.h in #if.
	(re_string_allocate): Fix castings.
	(re_string_construct): Likewise.
	(re_string_construct_common): Likewise.
	(re_string_realloc_buffers): Likewise.
	(build_wcs_buffer): Likewise.
	(build_wcs_upper_buffer): Likewise.
	(re_string_skip_chars): Likewise.
	(re_string_reconstruct): Likewise.
	* posix/regex_internal.h: Restore the type of characters in
	re_string_t and bracket_elem_t from "char" to "unsigned char".
	(re_string_elem_size_at): Fix castings.
	* posix/regexec.c: Wrap #include wchar.h and wctype.h in #if.
	(transit_state_bkref_loop): Restore the type of characters from
	"char" to "unsigned char", and append a cast to "char*" pointer in
	array subscript.
	(check_node_accept_bytes): Likewise.
	(find_collation_sequence_value): Likewise.

2002-09-10  Hartvig Ekner  <hartvige@mips.com>

	* sysdeps/mips/memcpy.S: New file.
	* sysdeps/mips/memset.S: New file.
	* sysdeps/mips/fpu/e_sqrt.c:  New file.
	* sysdeps/mips/fpu/e_sqrtf.c: New file.

	* fpu/fclrexcpt.c: Cleaned up the FPU exception stuff - was not
	functional before. Also removed all SHLIB_COMPAT stuff.
	* fpu/fegetenv.c: Likewise.
	* fpu/fesetenv.c:: Likewise.
	* fpu/feupdateenv.c: Likewise.
	* fpu/fgetexcptflg.c: Likewise.
	* fpu/fraiseexcpt.c: Likewise.

	* sysdeps/mips/fpu/fsetexcptflg.c: New file.

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-09  Steven Munroe  <sjmunroe@us.ibm.com>

	* elf/elf.h: Add powerpc64 specific elf relocation and dynamic types.

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

	* elf/dl-error.c (_dl_signal_cerror): Don't print anything if only
	LD_DEBUG=statistics or LD_TRACE_PRELINKING.

2002-09-09  Ulrich Drepper  <drepper@redhat.com>

	* string/stratcliff.c: Some more strncpy tests.
	Patch by Daniel Jacobowitz <drow@mvista.com>.

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

	* resolv/resolv.h: Include <sys/types.h> for u_long even in
	the [__need_res_state] case.
	Reported by Bruno Haible <bruno@clisp.org>.

2002-09-04  Bruno Haible  <bruno@clisp.org>

	* sysdeps/generic/bits/ustat.h: Comment fix.
	* io/sys/sendfile.h: Comment fix.
	* sysdeps/posix/pread.c: Comment fix.
	* sysdeps/posix/pread64.c: Comment fix.
	* sysdeps/posix/pwrite.c: Comment fix.
	* sysdeps/posix/pwrite64.c: Comment fix.

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

	* posix/sys/utsname.h (_UTSNAME_SYSNAME_LENGTH): New macro, defined
	to _UTSNAME_LENGTH if not already defined by <bits/utsname.h>.
	(_UTSNAME_RELEASE_LENGTH, _UTSNAME_VERSION_LENGTH): Likewise.
	(_UTSNAME_MACHINE_LENGTH): Likewise.
	(struct utsname): Use new macros instead of _UTSNAME_LENGTH.

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

	* sysdeps/unix/sysv/linux/shm_open.c (where_is_shmfs): Correct
	test for filesystem type name of mount points.

	* include/errno.h: Use errno definition with __thread for now only
	in libc and ld.so.

	* test-skeleton.c (main): Improve error message for unexpected
	signal case.

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

	* ctype/ctype-info.c: Renamed __ctype_old_* symbols to __ctype_*.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise.

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

	* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Unlock and return in
	case of failure.

2002-09-04  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Turn into inline functions.
	* sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.
	* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Likewise.
	* sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Declutter
	syntax.

	* elf/readlib.c (process_file): Conditionalize check for QMAGIC.

	* sysdeps/generic/_strerror.c (_sys_errlist, _sys_nerr): Remove
	default definitions.
	(__strerror_r): Use _sys_errlist_internal instead of _sys_errlist,
	_sys_nerr_internal instead of _sys_nerr.

	* nscd/connections.c (handle_request): Declare CALLER inside #if.

2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/__longjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/__longjmp.S: ...here.
	* sysdeps/powerpc/add_n.S: Moved to...
	* sysdeps/powerpc/powerpc32/add_n.S: ...here.
	* sysdeps/powerpc/addmul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/addmul_1.S: ...here.
	* sysdeps/powerpc/atomicity.h: Moved to...
	* sysdeps/powerpc/powerpc32/atomicity.h: ...here.
	* sysdeps/powerpc/backtrace.c: Moved to...
	* sysdeps/powerpc/powerpc32/backtrace.c: ...here.
	* sysdeps/powerpc/bp-asm.h: Moved to...
	* sysdeps/powerpc/powerpc32/bp-asm.h: ...here.
	* sysdeps/powerpc/bsd-_setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here.
	* sysdeps/powerpc/bsd-setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here.
	* sysdeps/powerpc/dl-machine.c: Moved to...
	* sysdeps/powerpc/powerpc32/dl-machine.c: ...here.
	* sysdeps/powerpc/dl-machine.h: Moved to...
	* sysdeps/powerpc/powerpc32/dl-machine.h: ...here.
	* sysdeps/powerpc/dl-start.S: Moved to...
	* sysdeps/powerpc/powerpc32/dl-start.S: ...here.
	* sysdeps/powerpc/gprrest0.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprrest0.S: ...here.
	* sysdeps/powerpc/gprrest1.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprrest1.S: ...here.
	* sysdeps/powerpc/gprsave0.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprsave0.S: ...here.
	* sysdeps/powerpc/gprsave1.S: Moved to...
	* sysdeps/powerpc/powerpc32/gprsave1.S: ...here.
	* sysdeps/powerpc/lshift.S: Moved to...
	* sysdeps/powerpc/powerpc32/lshift.S: ...here.
	* sysdeps/powerpc/memset.S: Moved to...
	* sysdeps/powerpc/powerpc32/memset.S: ...here.
	* sysdeps/powerpc/mul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/mul_1.S: ...here.
	* sysdeps/powerpc/ppc-mcount.S: Moved to...
	* sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here.
	* sysdeps/powerpc/register-dump.h: Moved to...
	* sysdeps/powerpc/powerpc32/register-dump.h: ...here.
	* sysdeps/powerpc/rshift.S: Moved to...
	* sysdeps/powerpc/powerpc32/rshift.S: ...here.
	* sysdeps/powerpc/setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/setjmp.S: ...here.
	* sysdeps/powerpc/stpcpy.S: Moved to...
	* sysdeps/powerpc/powerpc32/stpcpy.S: ...here.
	* sysdeps/powerpc/strchr.S: Moved to...
	* sysdeps/powerpc/powerpc32/strchr.S: ...here.
	* sysdeps/powerpc/strcmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/strcmp.S: ...here.
	* sysdeps/powerpc/strcpy.S: Moved to...
	* sysdeps/powerpc/powerpc32/strcpy.S: ...here.
	* sysdeps/powerpc/strlen.S: Moved to...
	* sysdeps/powerpc/powerpc32/strlen.S: ...here.
	* sysdeps/powerpc/sub_n.S: Moved to...
	* sysdeps/powerpc/powerpc32/sub_n.S: ...here.
	* sysdeps/powerpc/submul_1.S: Moved to...
	* sysdeps/powerpc/powerpc32/submul_1.S: ...here.
	* sysdeps/powerpc/elf/bzero.S: Moved to...
	* sysdeps/powerpc/powerpc32/elf/bzero.S: ...here.
	* sysdeps/powerpc/elf/start.S: Moved to...
	* sysdeps/powerpc/powerpc32/elf/start.S: ...here.
	* sysdeps/powerpc/fpu/__longjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here.
	* sysdeps/powerpc/fpu/fprrest.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here.
	* sysdeps/powerpc/fpu/fprsave.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here.
	* sysdeps/powerpc/fpu/setjmp.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here.
	* sysdeps/powerpc/fpu/s_copysign.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here.
	* sysdeps/powerpc/fpu/s_copysignf.S: Moved to...
	* sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here.
	* sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here.
	Support PowerPC64.  Separate powerpc into powerpc/powerpc32 and
	powerpc/powerpc64.

2002-07-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* FAQ.in: Add powerpc64 to supported targets list. Also state the
	minimum gcc version is 3.2
	* README: Add powerpc64 to supported targets list.
	* configure.in: Change machine=powerpc to machine=powerpc/powerpc32.
	Add powerpc64 and machine=powerpc/powerpc64.
	(HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*.
	* shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64.
	* sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S,
	gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S.
	* sysdeps/powerpc/powerpc32/Dist: New file.
	* sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp.
	* sysdeps/powerpc/powerpc32/Implies: New file.
	* sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags.
	($(with-fp) = no): Move test to powerpc32/Makefile.
	($(subdir) = misc): Move to powerpc32/Makefile.
	($(build-shared) = yes): Move to powerpc32/Makefile.
	($(subdir) = csu): Move to powerpc32/Makefile.
	(sysdep-rtld-routines): Remove dl-start.  Moved these bits to ...
	* sysdeps/powerpc/powerpc32/Makefile: New file.
	* sysdeps/powerpc/Versions: Remove libgcc functions.
	* sysdeps/powerpc/powerpc32/Versions: New file.
	* sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest.
	* sysdeps/powerpc/powerpc32/fpu/Makefile: New file.
	* sysdeps/unix/sysv/linux/configure.in (powerpc*):
	Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set
	libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64.
	($machine): Add powerpc/powerpc64 to if ... | for
	libc_cv_slibdir=/libc64.
	(powerpc*): Set ldd_rewrite_script.
	* sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file.
	Add clone.S.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0
	functions.  Remove GLIBC_2.2 functions except getrlimit and
	setrlimit.  Moved them to ...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file.

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

	* libio/tst-atime.c: Include <errno.h>.
	(do_test): Only perform fstatvfs check if ST_NOATIME is defined.

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

	* posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid
	warnings of some compilers.
	(build_collating_symbol): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer in
	array subscript.
	(build_collating_symbol): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(re_compile_pattern): Remove incorrect cast.
	(re_compile_fastmap_iter): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer
	in array subscript.
	(parse_bracket_exp): Likewise.
	* posix/regex_internal.c (re_string_construct_common): Likewise.
	(re_string_allocate): Likewise.
	(re_string_construct): Likewise.
	(re_string_realloc_buffers): Likewise.
	(build_wcs_buffer): Likewise.
	(re_string_reconstruct): Likewise.
	* posix/regex_internal.h: Change the type of characters in
	re_string_t and bracket_elem_t from "unsigned char" to "char".
	* posix/regexec.c (regexec): Append "__restrict" modifier to avoid
	warnings of some compilers.
	(transit_state_bkref_loop): Change the type of characters from
	"unsigned char"	to "char", and append a cast to "char*" pointer in
	array subscript.
	(check_node_accept_bytes): Likewise.
	(find_collation_sequence_value): Likewise.

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

	* resolv/nss_dns/dns-network.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.

2002-09-03  Gerhard Tonn  <ton@de.ibm.com>

	* sysdeps/s390/s390/fpu/libm-test-ulps: Regenerate.

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

	* libio/tst-atime.c (do_test): Make sure noatime flag isn't set
	for filesystem.

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

	* posix/bug-regex11.c: New test.
	* posix/Makefile (tests): Add bug-regex11.

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

	* locale/tst-C_locale.c (run_test): Pass LC_ALL_MASK not LC_ALL to
	newlocale.

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

	* sysdeps/powerpc/elf/libc-start.c [! SHARED]: Call
	__pthread_initialize_minimal and __libc_check_standard_fds to
	match the generic version.

	* sysdeps/unix/sysv/linux/shmat.c (shmat): Add a cast to avoid a
	warning when INLINE_SYSCALL macro uses the __syscall_ipc function.

	* locale/localeconv.c (__localeconv): Cast -1 to char to avoid
	warnings on platorms where char is unsigned.

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

	* version.h (VERSION): Bump to 2.2.93.

	* sysdeps/unix/sysv/linux/x86_64/Dist: Add __start_context.S.

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

	* elf/rtld.c (dl_main): If prelinking succeeded, mark all objects
	as relocated.

2002-09-02  Jack Howarth  <howarth@bromo.msbb.uc.edu>

	* sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.

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

	* locale/localeinfo.h (struct locale_data): Add private.ctype.
	* wcsmbs/wcsmbsload.h (__wcsmbs_gconv_fcts, __wcsmbs_last_locale,
	__wcsmbs_to_wc, update_conversion_ptrs): Removed.
	(__wcsmbs_gconv_fcts_c, _nl_C_LC_CTYPE): New externs.
	(__wcsmbs_load_conv): Remove const from argument.
	(_nl_cleanup_ctype): New proto.
	(get_gconv_fcts): New function.
	* wcsmbs/wcsmbsload.c (__wcsmbs_last_locale): Removed.
	(__wcsmbs_to_wc): Rename back to...
	(to_wc): ... this.
	(__wcsmbs_gconv_fcts): Rename to...
	(__wcsmbs_gconv_fcts_c): ... this.  Make const.  Use to_wc.
	(lock): Removed.
	(__libc_setlocale_lock): New extern.
	(__wcsmbs_load_conv): Remove const from argument.
	Initialize new_category->private.ctype instead of a global
	variable.
	(__wcsmbs_clone_conv): Use get_gconv_fcts instead of
	update_function_ptrs.  No locking is necessary.
	(_nl_cleanup_ctype): New function.
	* wcsmbs/btowc.c (__btowc): Use get_gconv_fcts instead of
	update_function_ptrs and a global __wcsmbs_gconv_fcts variable.
	* wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
	* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise.
	* wcsmbs/wcrtomb.c (__wcrtomb): Likewise.
	* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise.
	* wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise.
	* wcsmbs/wctob.c (wctob): Likewise.
	* stdlib/mblen.c (mblen): Likewise.
	* stdlib/mbtowc.c (mbtowc): Likewise.
	* stdlib/wctomb.c (wctomb): Likewise.
	* wcsmbs/mbsrtowcs.c (__mbsrtowcs): Likewise.
	Remove calls to wcsmbs_get_towc_func and wcsmbs_free_funcs.
	* wcsmbs/mbsrtowcs_l.c (wcsmbs_get_towc_func, wcsmbs_free_funcs):
	Removed.

2002-09-02  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Add __fxstat64.

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

	* ctype/ctype.h (__ctype_b, __ctype_toupper, __ctype_tolower):
	Variable declarations removed.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Declare
	these functions to replace them.
	(__isctype, tolower, toupper, _tolower, _toupper): Use those accessor
	functions plus an indirection rather than the old global variables.
	* include/ctype.h (__isctype, tolower, _tolower, toupper, _toupper):
	Macros removed.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): New extern
	inline functions.
	* ctype/ctype-info.c: Revert last reversion back the other way.
	Define tsd vars CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER.
	Define real function versions of include/ctype.h inlines here.
	* ctype/Versions (libc: GLIBC_2.3): Add __ctype_b_loc,
	__ctype_tolower_loc, __ctype_toupper_loc.
	* locale/lc-ctype.c: Revert last reversion back the other way.
	(_nl_postload_ctype): If current thread uses the global locale,
	update its tsd vars.
	* locale/uselocale.c (__uselocale): Update tsd vars from new locale.
	* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add CTYPE_B,
	CTYPE_TOLOWER, CTYPE_TOUPPER.

	* sysdeps/generic/bits/libc-tsd.h (__libc_tsd_address): New macro.
	* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_address): Renamed
	from __libc_tsd_threadvar_location.
	(__libc_tsd_set, __libc_tsd_get): Update uses.

2002-09-01  Ulrich Drepper  <drepper@redhat.com>

	* ctype/ctype.h: Undo the patch before the last one.  Put back the
	macro definitions for the standard functions to access the
	classification and mapping arrays.
	* include/ctype.h: Partly revert last patch.  Move the macro
	definitions for the exported functions back to the public header.
	#undef all the macros defined here before redefining.
	* ctype/ctype-info.c: Revert last patch.
	* locale/lc-ctype.c: Revert last patch.

	* ctype/Makefile (routines): Add isctype.
	* ctype/Versions (libc): Export isctype and __isctype for GLIBC_2.3.
	* ctype/ctype.h: Add declaration of isctype.
	* include/ctype.h: Declare __isctype.
	* ctype/isctype.c: New file.

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

	* sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass
	TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN instead of 0, 1.

	* include/getopt.h: Include <features.h> before <posix/getopt.h>.

	* locale/findlocale.c (_nl_remove_locale): Don't search in
	_nl_locale_file_list if DATA->alloc is ld_archive.
	Use _nl_unload_locale to do the rest of the work.

	* locale/loadarchive.c (_nl_load_locale_from_archive): Set usage_count
	of new structure to UNDELETABLE.

	* wctype/wctype.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower,
	iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank,
	towlower, towupper): Macros removed.
	* ctype/ctype.h (__tobody): Put parens around macro argument.
	(__isctype): Macro removed.
	(__ctype_b, __ctype_tolower, __ctype_toupper): Decls removed.
	(isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint,
	ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper,
	tolower, toupper): Macros and inlines removed.
	* include/ctype.h [! NOT_IN_libc]
	(isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint,
	ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper,
	tolower, toupper): Define here instead, using _NL_CURRENT.
	* ctype/ctype.c (__ctype_tolower, __ctype_toupper): Define as macros
	using _NL_CURRENT.
	* ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Likewise.
	* ctype/ctype-info.c (__ctype_b, __ctype_tolower, __ctype_toupper):
	Renamed these to __ctype_old_*. Define old names only for SHLIB_COMPAT.
	(__ctype32_b, __ctype32_tolower, __ctype32_toupper): Likewise.
	(__ctype32_wctrans, __ctype32_wctrans, __ctype32_width): Removed.
	* locale/lc-ctype.c (_nl_postload_ctype): Use renamed variables,
	conditional on SHLIB_COMPAT.  Don't set removed variables at all.
	* wctype/wcfuncs.c: Use _NL_CURRENT instead of those globals.
	* wcsmbs/wcwidth.h (internal_wcwidth): Likewise.
	* resolv/res_init.c [RESOLVSORT] (sort_mask): Renamed sort_mask_chars.
	(ISSORTMASK): Update use.
	* intl/localealias.c [__GNUC__]: #undef alloca before #define.
	* nss/nss_files/files-XXX.c (last_use): Rename `none' to `nouse'.
	(_nss_files_getENTNAME_r): Likewise.
	* nss/nss_files/files-alias.c (last_use, _nss_files_getaliasent_r):
	Likewise.

	* Makerules (all-nonlib): Renamed from all-tests.
	Include $(others) here too.
	* locale/Makefile (CPPFLAGS-locale, CPPFLAGS-localedef,
	CPPFLAGS-ld-ctype, CPPFLAGS-ld-time, CPPFLAGS-ld-numeric,
	CPPFLAGS-ld-monetary, CPPFLAGS-ld-collate, CPPFLAGS-ld-identification,
	CPPFLAGS-charmap, CPPFLAGS-locarchive, CPPFLAGS-linereader,
	CPPFLAGS-charmap-dir): Variables removed.  Instead, catch all
	the program modules via cppflags-iterator.mk.
	* sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed.
	Instead, catch all rpcgen-objs via cppflags-iterator.mk.

2002-08-31  Roland McGrath  <roland@redhat.com>

	* posix/tst-getconf.sh: If no third arg, work with static linking.

	* locale/categories.def (LC_TIME): No more _nl_postload_time.

	* locale/setlocale.c (_nl_category_postload): Use weak refs only under
	[_NL_CURRENT_INDIRECT].

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

	* time/tst-ftime_l.c (main): Also test strftime with uselocale.

2002-08-31  Roland McGrath  <roland@redhat.com>

	* locale/newlocale.c (__newlocale): Don't use strdup for names.
	Instead, make the single allocation of the structure larger to hold
	the name strings.
	* locale/duplocale.c (__duplocale): Don't strdup names individually.
	Instead, calculate size for a single allocation and copy into it.
	* locale/freelocale.c (__freelocale): Don't free names individually.

	* locale/newlocale.c (__newlocale): Don't leak old data or names.

	* locale/xlocale.h (__locale_struct): Move __names member last,
	for binary compatibility.

	* locale/duplocale.c (__duplocale): Free names from the right array.

	* locale/uselocale.c (__uselocale): Return previous locale when
	setting a new one.

	* locale/newlocale.c: Commit changes from 2002-08-30
	batch where I failed to commit this file:
	(__newlocale): Fill in __names array.

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

	* sysdeps/gnu/Makefile: Only depend on Versions.v.i for
	errlist-compat.c if versioning==yes.

2002-08-31  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Declare
	external functions with hidden attribute.
	(elf_machine_rela): Optimize.

	* sysdeps/x86_64/memset.S: New file.
	* sysdeps/x86_64/bzero.S: New file.
	* sysdeps/x86_64/stpcpy.S: New file.
	* sysdeps/x86_64/strcat.S: New file.
	* sysdeps/x86_64/strchr.S: New file.
	* sysdeps/x86_64/strcpy.S: New file.
	* sysdeps/x86_64/strcspn.S: New file.
	* sysdeps/x86_64/strlen.S: New file.
	* sysdeps/x86_64/strpbrk.S: New file.
	* sysdeps/x86_64/strspn.S: New file.
	* sysdeps/x86_64/strcmp.S: New file.
	* sysdeps/x86_64/strtok_r.S: New file.
	* sysdeps/x86_64/strtok.S: New file.
	* sysdeps/x86_64/memcpy.S: New file.
	* sysdeps/x86_64/mempcpy.S: New file.

	* sysdeps/x86_64/fpu/s_copysign.S: Fix algorithm.

	* sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for double tests.

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

	* stdio-common/Makefile (generated): Add errlist-compat.c.

	* locale/Makefile (extra-objs): Add $(localedef-aux:=.o).

	* locale/localeinfo.h: Pretty printing.

	* stdio-common/vfprintf.c (vfprintf): Remove duplicate ifs in
	form_number handling.

2002-08-31  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for float and long
	double tests.

	* sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_routines): Add
	__start_context.

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

	* sysdeps/unix/sysv/linux/x86_64/makecontext.c: New file.

	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: Add defines for
	registers used for passing args.

	* sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Save and restore
	all needed registers.

	* sysdeps/unix/sysv/linux/x86_64/setcontext.S: Restore all
	registers.

	* sysdeps/unix/sysv/linux/x86_64/getcontext.S: Save all needed
	registers.

2002-08-30  Ulrich Drepper  <drepper@redhat.com>

	* elf/dynamic-link.h (elf_get_dynamic_info): Mark with
	always_inline attribute.

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

	* stdlib/tst-setcontext.c (main): If makecontext does nothing,
	presume it's the stub and bail without error.

	* nss/getnssent_r.c (__nss_getent_r): Return ENOENT if status is
	neither SUCCESS nor TRYAGAIN (see 2002-08-25 change [PR libc/4259]).

	* nss/getnssent_r.c (__nss_getent_r): Set *H_ERRNOP, not global one.

	* sysdeps/x86_64/hp-timing.h (HP_TIMING_NOW, HP_TIMING_ACCUM): New
	macros replace the i686 versions for 64-bit mode.

	* locale/duplocale.c: Include <string.h>.

	* intl/dcigettext.c (DCIGETTEXT) [_LIBC]: Check for bogus CATEGORY.
	[_LIBC] (category_to_name): Don't define the function.  Instead
	define a macro using _nl_category_names.

	* locale/xlocale.h (struct __locale_struct): New member `__names'.
	* locale/xlocale.c (_nl_C_locobj): Update initializer.
	* locale/global-locale.c (_nl_global_locale): Likewise.
	* locale/duplocale.c (__duplocale): strdup __names elements.
	* locale/freelocale.c (__freelocale): Free __names elements.
	* locale/localename.c (_nl_current_names): Variable removed.
	(__current_locale_name): Use _NL_CURRENT_LOCALE->__names instead.
	* locale/localeinfo.h (_nl_current_names): Removed decl.
	* locale/setlocale.c: Use _nl_global_locale->__names in place of
	_nl_current_names throughout.

	* locale/setlocale.c (setlocale): strdup -> __strdup (not ISO C).

	* sysdeps/gnu/errlist-compat.awk: Emit link_warnings for sys_errlist
	and sys_nerr in the output file.

	* sunrpc/Makefile (rpcgen-cmd): Pass CPP in rpcgen's environment.
	* scripts/cpp: Just use the environment variable.

	* libio/tst-mmap-setvbuf.c (main): Use 'm' fopen flag.
	* libio/tst-mmap-offend.c (do_test): Likewise.
	* libio/tst-mmap-fflushsync.c (do_test): Likewise.
	* libio/tst-mmap-eofsync.c (do_test): Likewise.
	* libio/tst-mmap2-eofsync.c (do_test): Likewise.

	* locale/localename.c: If the current locale is the global locale, use
	_nl_current_names; otherwise use the locale object.

2002-08-29  Ulrich Drepper  <drepper@redhat.com>

	* libio/fileops.c (_IO_new_file_fopen): Recognize new mode specifier
	'm' to enable mmap I/O.
	* libio/libio.h (_IO_FILE): Rename _blksize field to _flags2.  The
	former wasn't used (anymore?).
	(_IO_FLAGS2_MMAP): New define.
	* libio/genops.c (_IO_no_init): Initialize _flags2 field.
	* libio/iofopen.c (__fopen_maybe_mmap): Use mmap callbacks only if
	_IO_FLAGS2_MMAP bit is set.
	* libio/iofdopen.c (_IO_new_fdopen): Recognize 'm' mode specifier.
	Enable mmap-using mode only if 'm' was set.

2002-08-29  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/bits/local_lim.h (NAME_MAX): New macro.

	* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup: doinit):
	Change argument type from int to intptr_t.

	* locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the
	initializer on [! _HURD_THREADVAR_H] (bad kludge).
	* sysdeps/mach/hurd/i386/init-first.c (init): Initialize
	_HURD_THREADVAR_LOCALE slot to &_nl_global_locale.
	* hurd/hurdsig.c (_hurdsig_init): Likewise.  Zero other slots.

	* sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def.

	* sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64).

	* sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort.

	* include/assert.h (__assert_perror_fail): Declare it, do hidden_proto.
	* assert/assert-perr.c: Add libc_hidden_def.
	* elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function.

	* sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions
	found at all.
	* sysdeps/gnu/Versions: File removed.  Moved all #errlist-compat
	sys_errlist stuff to ...
	* sysdeps/unix/sysv/linux/Versions: ... here.

	* mach/mach.h: Include <features.h>.

2002-08-29  Roland McGrath  <roland@redhat.com>

	* 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.

	* sysdeps/generic/readelflib.c (process_elf_file): Fix typo.

	* iconv/gconv_int.h: Include <stdlib.h> for alloca decl.
	(norm_add_slashes): alloca -> __alloca

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

	* stdio-common/vfprintf.c (vfprintf): Add builtin_expect for
	string_malloced, it is unlikely to be set.
	Only call free with non-NULL workspace.
	* sysdeps/sparc/sparc32/sparcv9/Makefile (sysdep-CFLAGS): Use
	-mcpu=ultrasparc, not only tune for it.
	(ASFLAGS*): Set unconditionally.

	* sysdeps/generic/readelflib.c (process_elf_file): Make LOADADDR
	ElfW(Addr).  Don't mask upper 32-bits and lower 12 bits off from
	p_vaddr/p_offset when computing LOADADDR.

2002-08-29  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump to 2.2.92.

	* time/Makefile (tst-ftime_l-ENV): New variable.

	* iconvdata/ibm870.c: All bytes are now used, no holes anymore.

	* localedata/charmaps/IBM870: Add correct mapping for <U017E>,
	<U017A>, <U017D> and <U0179>. Add missing mappings.
	Patch by Antonin Kopecky <akopecky@tajmac-zps.cz>.

	* gmon/sys/gmon.h (ARCDENSITY): Bump to 3.
	Define ARCINDEX.  Bump MAXARCS to 1 << 20.
	(struct tostruct): Use ACRINDEX as type for link field.
	(statuc gmonparam): Likewise for froms.
	* gmon/gmon.c (__monstartup): Use currect cast for assignments to
	kcount and froms.
	(write_call_graph): Use correct type for from_index and to_index.
	* gmon/mcount.c: Use correct types for frompcindex and toindex
	variables.
	Patches by Dan Kegel <dank@kegel.com>.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix code to determine
	canonical name.

	* time/strptime.c (ISSPACE): New #define.  Use isspace or
	__isspace_l.  Replace calls to isspace.
	(match_string): Define variant for USE_IN_EXTENDED_LOCALE_MODEL.

2002-08-29  Roland McGrath  <roland@redhat.com>

	* string/tst-strxfrm.c: Remove __ from function names.

2002-08-28  Ulrich Drepper  <drepper@redhat.com>

	* include/wchar.h: Declare __mbsrtowcs_l.
	* wcsmbs/Makefile (routines): Add mbsrtowcs_l.
	* wcsmbs/mbsrtowcs.c: Add support for compilation with
	USE_IN_EXTENDED_LOCALE_MODEL.
	* wcsmbs/mbsrtowcs_l: New file.
	* wcsmbs/wcsmbsload.c (__wcsmbs_to_wc): Renamed from to_wc.  Don't
	define as static.  Change all uses.
	(__wcsmbs_getfct): Renamed from getfct.  Don't define as static.
	Change all callers.
	* wcsmbs/wcsmbsload.h: Declare __wcsmbs_to_wc and __wcsmbs_getfct.
	* time/strftime.c: When translating for the extended locale model
	use the _l functions.
	* time/Makefile (tests): Add tst-ftime_l.
	* time/tst-ftime_l.c: New file.

2002-08-28  Roland McGrath  <roland@redhat.com>

	* locale/findlocale.c [NL_CURRENT_INDIRECT] (_nl_C): New variable.
	* locale/setlocale.c (setlocale) [NL_CURRENT_INDIRECT]: Null return
	from _nl_find_locale ok if for _nl_C_name.

	* locale/nl_langinfo.c [NL_CURRENT_INDIRECT]: Use a categories.def
	iterator to refer to each category's _nl_current_LC_FOO symbol, so
	we know they are all linked in.

	* NEWS: Added 2.2.6 text from 2.2 branch version.

	* time/strptime.c (strptime_internal): Remove spurious const.

	* locale/lc-time.c (_nl_init_era_entries, _nl_get_era_entry,
	_nl_select_era_entry): Moved to ...
	* time/era.c: ... here, new file.
	(_nl_init_era_entries, _nl_get_era_entry, _nl_select_era_entry):
	Add internal_function to definitions.  Take an additional argument
	giving the `struct locale_data *' to use.
	* locale/lc-time.c (_get_alt_digit, _nl_get_walt_digit,
	_nl_parse_alt_digit): Moved to ...
	* time/alt_digit.c: ... here, new file.
	* time/lc-time-cleanup.c: New file.
	* locale/lc-time.c (_nl_postload_time, free_mem): Functions removed.
	* locale/localeinfo.h (_nl_postload_time): Remove decl.
	(_nl_cleanup_time): Declare it.
	(_nl_get_era_entry, _nl_select_era_entry): Update decls.
	(_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Likewise.
	* time/Makefile (aux): New variable: era, alt_digit, lc-time-cleanup.
	* time/strftime.c: Pass locale data to helper functions.
	* time/strptime.c: Likewise.

	* locale/localeinfo.h (struct locale_data): New member `private'
	* locale/loadlocale.c (_nl_intern_locale_data): Initialize it.
	(_nl_unload_locale): Call LOCALE->private.cleanup if it is set.
	* locale/C-collate.c: Update initializer.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-address.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-time.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-messages.c : Likewise.
	* locale/C-ctype.c: Likewise.

	* time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL] (_NL_CURRENT_WORD):
	Redefine this too.

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

	* sysdeps/generic/ldsodefs.h (__rtld_global_attribute__): Define.
	(_rtld_global): Use it.

	* sysdeps/gnu/Dist: Remove errlist-compat.c.
	* sysdeps/gnu/Makefile (errlist-compat.c): Build this file in the
	object directory.  Pass all Versions files to the awk script.
	* sysdeps/gnu/errlist-compat.c: Removed.
	* sysdeps/gnu/errlist.awk: Use #errlist-compat comments from the
	first Versions file in the search path which has them.
	Allow multiple errlist symbol versions to have the same count of
	errors.
	* sysdeps/gnu/errlist-compat.awk: Include <errlist-compat.c> instead
	of "errlist-compat.c".
	* sysdeps/gnu/errlist.c: Regenerated.
	* sysdeps/unix/sysv/linux/mips/Versions (libc): Add #errlist-compat
	comments at GLIBC_2.0, GLIBC_2.1 and GLIBC_2.3.
	* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
	(librt): Add aio_cancel and aio_cancel64 as GLIBC_2.3.
	* sysdeps/unix/sysv/linux/hppa/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Versions: New file.
	* sysdeps/unix/sysv/linux/alpha/bits/errno.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/errno.h (ECANCELED): Define to
	ECANCELLED if not defined by kernel headers.
	* sysdeps/unix/sysv/linux/bits/errno.h: Don't redefine ECANCELED if
	already defined by kernel headers.
	* sysdeps/unix/sysv/linux/sparc/bits/errno.h: New file.
	* sysdeps/pthread/aio_cancel.c: Don't include aio.h and its
	aio_cancel64 renaming hack nor provide weak_alias if aio_cancel
	is a macro.
	* Versions.def (GLIBC_2.3) [librt]: Add.

	* sysdeps/unix/sysv/linux/alpha/pipe.S: New file.

2002-08-28  Ulrich Drepper  <drepper@redhat.com>

	* include/libc-symbols.h [!__ASSEMBLER__] (declare_symbol_1): Add
	missing comma to .type directive.

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

	* sysdeps/ia64/elf/configure.in (PI_STATIC_AND_HIDDEN): Define
	unconditionally.
	* sysdeps/alpha/elf/configure.in (libc_cv_alpha_hidden_gprel): New
	check.
	(PI_STATIC_AND_HIDDEN): Define if check succeeded.

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

	* locale/loadarchive.c (_nl_load_locale_from_archive): Add fd >= 0
	check to close_and_out close.  Replace return NULL statements where
	fd might be >= 0 with goto close_and_out.  Close the file descriptor
	when it is no longer needed.

2002-08-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/s390/s390-64/dl-machine.h: Avoid unescaped newlines in
	string constants.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/arm/dl-machine.h: Likewise.
	* sysdeps/cris/dl-machine.h: Likewise.
	* sysdeps/unix/sysv/linux/m68k/register-dump.h: Likewise.
	* sysdeps/unix/sysv/aix/gettimeofday.c: Likewise.

2002-08-28  Roland McGrath  <roland@redhat.com>

	* Makeconfig (default_cflags): Revert unintended change.

2002-08-28  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump to 2.2.91.

	* configure.in: Disable TLS support by default for now.

	* sysdeps/i386/fpu/libm-test-ulps: Adjust ulp for yn for float.

	* sysdeps/generic/strtol.c (strtol): Add some more casts to avoid
	warnings.

	* stdlib/strtod.c (STRTOF): Correct type in cast of last patch.

	* stdlib/fmtmsg.c (fmtmsg): Use correct test for failure of
	fprintf/fwprintf calls.

2002-08-28  Roland McGrath  <roland@redhat.com>

	* Makeconfig (run-program-prefix): Fix bogus use of $(findstring ...)
	to use $(filter ...) instead.  Same bug fixed in aix conditionals.

	* locale/setlocale.c: Declare postload functions weak.

	* elf/tst-tls1-static.c: New file.
	* elf/tst-tls2-static.c: New file.
	* elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule.

	Make uselocale support static linking.
	* locale/xlocale.c: Revert changes putting _nl_global_locale here.
	This file again just defines _nl_C_locobj.
	(_nl_C_locobj): Use a categories.def iterator in the initializer.
	* locale/global-locale.c: New file.  Define _nl_global_locale here,
	using all weak references in the initializer.
	* locale/Makefile (aux): Add global-locale.
	* locale/localeinfo.h (_nl_global_locale, _NL_CURRENT_LOCALE): Make
	these unconditional, along with the tsd decl.
	[!SHARED && HAVE___THREAD && HAVE_WEAK_SYMBOLS] (NL_CURRENT_INDIRECT):
	Define it under these conditions.
	[NL_CURRENT_INDIRECT]: Test this instead of [! SHARED].
	Don't declare _nl_current.  Declare _nl_current_LC_FOO as
	`extern __thread struct locale_data *const *'.
	[NL_CURRENT_INDIRECT]
	(_NL_CURRENT_DATA, _NL_CURRENT, _NL_CURRENT_WSTR): Add indirection.
	[NL_CURRENT_INDIRECT] (_NL_CURRENT_DEFINE): Rewritten.  Define
	the thread variable _nl_current_LC_FOO and also a special absolute
	symbol _nl_current_LC_FOO_used.
	* locale/uselocale.c (__uselocale) [NL_CURRENT_INDIRECT]:
	Set each _nl_current_LC_FOO symbol to point into the new locale,
	using weak references to test if _nl_current_LC_FOO_used was linked in.
	* locale/setlocale.c [! SHARED]: Replace this conditional ...
	[NL_CURRENT_INDIRECT]: ... with this one.
	(_nl_current, _nl_C): Variables removed.
	[NL_CURRENT_INDIRECT] (_nl_current_used): New variable, table of
	weak references to _nl_current_LC_FOO_used.
	[NL_CURRENT_INDIRECT] (CATEGORY_USED): Define using that table.
	(free_category): New function, broken out of ...
	(free_mem): ... here.  Call that.
	(free_mem) [NL_CURRENT_INDIRECT]: Use a categories.def iterator
	instead of a loop.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Don't check for
	PT_LOAD program headers and don't try to relocate PT_TLS's p_vaddr;
	it is already absolute.

	* elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally.
	[$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static.
	[$(build-static) = yes] (tests-static): New variable.
	($(tests-static):%=$(objfpx)%.o)): New static pattern rule.

2002-08-26  Christoph Hellwig  <hch@lst.de>

	* sysdeps/unix/sysv/linux/sys/personality.h: Remark origin, fix
	formating braindamage, add missing PER_HPUX and PER_OSF1 values.

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 depending on _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.

2002-08-28  Roland McGrath  <roland@redhat.com>

	* locale/tst-C-locale.c (run_test): Remove __ from function names.

2002-08-28  Jakub Jelinek  <jakub@redhat.com>
	    Roland McGrath <roland@redhat.com>

	* locale/hashval.h (compute_hashval): Use prototype defn.
	(hashval_t): New macro, defined to unsigned long int
	if not already defined.
	(compute_hashval): Return hashval_t instead of unsigned long int.
	* locale/loadarchive.c (hashval_t): New macro.
	* locale/programs/locarchive.c: Include hashval.h directly instead
	of simple-hash.h.
	(compute_hashval, hashval_t): Define these macros first.
	(insert_name): Use archive_hashval instead of compute_hashval.
	(add_locale, delete_locales_from_archive): Likewise.

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

	* locale/programs/locarchive.c (insert_name): Suppress warnings about
	hash collisions if be_quiet.

2002-08-27  Roland McGrath  <roland@redhat.com>

	* locale/locale.h (__newlocale, __duplocale, __freelocale,
	__uselocale): Don't declare these any more.
	* include/locale.h (__uselocale): Declare here instead, using __typeof.

	* sysdeps/unix/readdir.c: If getdents fails with ENOENT, restore errno
	and treat it as an EOF return.
	* sysdeps/unix/readdir_r.c: Likewise.

	* sysdeps/gnu/errlist-compat.awk: Include <bits/wordsize.h> in output.
	From Alexandre Oliva <aoliva@redhat.com>.
	* sysdeps/gnu/errlist-compat.c: Regenerated.

2002-08-27  Brian Youmans  <3diff@gnu.org>

	* sysdeps/ieee754/flt-32/e_asinf.c: Modified copying permission
	wording at request of copyright holder Stephen Moshier.
	* sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise.

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

	* ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts.
	* ctype/ctype-extn.c (isblank_l): Add weak alias.
	* sysdeps/generic/strtol_l.c (strtol_l): Likewise.
	* sysdeps/generic/strtoll_l.c (strtoll_l): Likewise.
	* sysdeps/generic/strtoul_l.c (strtoul_l): Likewise.
	* sysdeps/generic/strtoull_l.c (strtoull_l): Likewise.
	* wctype/iswctype_l.c (iswctype_l): Likewise.

2002-08-27  Roland McGrath  <roland@redhat.com>

	* time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def.

	* ctype/ctype.h (__exctype_l): Don't declare __ name.
	* stdlib/stdlib.h: Don't declare __*_l names.
	* include/stdlib.h: Declare them here instead.
	* include/string.h: Don't declare __*_l names.
	* string/string.h: Declare them here instead.
	* time/time.h: Don't declare __*_l names.
	* include/time.h: Declare them here instead.
	* wcsmbs/wchar.h: Don't declare __*_l names.
	* include/wchar.h: Declare them here instead.
	* wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l.
	Don't declare __*_l names.
	* include/wctype.h: Declare them here instead.
	* stdlib/monetary.h: Declare strfmon_l, not __strfmon_l.
	* stdlib/strfmon_l.c (strfmon_l): Define as weak alias.
	* locale/langinfo.h: Don't declare __nl_langinfo_l.
	* include/langinfo.h: Declare it here with __typeof.

	* time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strptime_l
	instead, taking an extra __locale_t argument.
	* time/Makefile (routines): Add strptime_l.
	* time/time.h (__strptime_l, strptime_l): Declare them.
	* time/strptime_l.c: New file.

	* time/time.h (__strftime_l, strftime_l): Declare them.
	* wcsmbs/wchar.h (__wcsftime_l, wcsftime_l): Declare them.
	* time/strftime_l.c: New file.
	* time/wcsftime_l.c: New file.
	* time/Makefile (routines): Add strftime_l, wcsftime_l.
	* time/Versions (libc: GLIBC_2.3): Add __strftime_l, __wcsftime_l,
	strftime_l, wcsftime_l.
	* time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strftime_l
	or __wcsftime_l instead, taking an extra __locale_t argument.

	* locale/Versions (libc: GLIBC_PRIVATE): Move __uselocale to ...
	(libc: GLIBC_2.3): ... here.

2002-08-27  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/Makefile: Fix typo in stdio_lim.h installation rule.

	* Makefile (distribute): Add LICENSES.

	* sysdeps/unix/sysv/linux/x86_64/Dist: Add ucontext_i.h and
	sys/debugreg.h.

	* sysdeps/unix/sysv/linux/s390/Dist: Add new/route.h.

	* sysdeps/unix/sysv/linux/ia64/Dist: Add dl-brk.S and sys/user.h.

	* sysdeps/unix/sysv/linux/mips/Dist: Add sys/user.h.

	* sysdeps/unix/sysv/linux/Dist: Add readahead.c.

	* sysdeps/mach/hurd/alpha/Dist: New file.

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

	* sunrpc/Makefile: Distribute thrsvc.

	* stdio-common/Makefile: Remove more left-overs from old stdio.

	* include/linewrap.h: Removed.

	* libio/bug-mmap-fflush.c: Rewrite to not touch source directory.

	* intl/Makefile (distribute): Add plural-eval.c.

2002-08-27  Roland McGrath  <roland@redhat.com>

	* manual/sysinfo.texi (Mount Information): Correct file name to macro
	assocations for _PATH_MNTTAB, MNTTAB, _PATH_MOUNTED, MOUNTED.
	Say mtab is in either /var/run or /etc.

2002-08-26  Roland McGrath  <roland@redhat.com>

	* manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd).
	* sysdeps/mach/hurd/bits/errno.h: Regenerated.

	* sysdeps/gnu/Versions: New file.
	* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
	_sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
	* sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
	($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
	* sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
	and _sys_nerr_internal instead of anything else.  Make it include
	"errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
	Make it emit some asm magic if [EMIT_ERR_MAX].
	* sysdeps/gnu/errlist.c: Regenerated.
	* sysdeps/gnu/errlist-compat.awk: New file.
	* sysdeps/gnu/errlist-compat.c: New file (generated).
	* sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
	(_sys_errlist_internal): Define this as	a macro for _hurd_errlist.
	(_sys_nerr_internal): Define this is a macro for _hurd_nerr.
	(SYS_ERRLIST, SYS_NERR): Macros removed.
	(sys_nerr, _sys_nerr): Remove these weak aliases.
	* sysdeps/unix/sysv/linux/errlist.c: File removed.
	* sysdeps/unix/sysv/linux/errlist.h: File removed.
	* sysdeps/unix/sysv/linux/arm/errlist.c: File removed.

	* include/libc-symbols.h (declare_symbol): New macro.
	* config.h.in (ASM_TYPE_DIRECTIVE_PREFIX): New #undef.
	* configure.in: New check to define it.
	* configure: Regenerated.

2002-08-27  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/Makefile (headers): Remove bits/stdio_lim.h.  This
	file isn't distributed.  Add special rules to install bits/stdio_lim.h.

	* Make-dist: Remove traces of old stdio.
	* Makeconfig: Likewise.

	* locale/Makefile (localedef-aux): New variable.  Only md5
	assigned to it.  These files are not ddistributed in this directory.

	* sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise.

	* sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h.

	* nss/getXXbyYY_r.c (REENTRANT_NAME): If no service is available
	set h_errno to NO_RECOVERY [PR libc/4360].

2002-08-26  Ulrich Drepper  <drepper@redhat.com>

	* libio/Makefile (tests): Add bug-fopena+.
	* libio/bug-fopena+.c: New file.
	* 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.

	* stdio-common/tst-swprintf.c (main): Add casts to avoid warnings.

	* locale/xlocale.c: Fix the last change.  The variable still has
	to end in _data.
	* sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
	(__libc_tsd_set): Add _data prefix to variable name.

2002-08-26  Roland McGrath  <roland@redhat.com>

	* sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Replace
	macro with inline function.
	(sigset_get_old_mask): Likewise.
	* sysdeps/posix/sigblock.c (__sigblock): Update callers.
	* sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise.
	* sysdeps/posix/sigpause.c (__sigpause): Likewise.
	* sysdeps/posix/sigvec.c (__sigvec, sigvec_wrapper_handler): Likewise.
	* sysdeps/unix/sysv/aix/sigset-cvt-mask.h
	(sigset_set_old_mask, sigset_get_old_mask): Make these macros return
	values.
	* sysdeps/unix/sysv/linux/sigset-cvt-mask.h: Likewise.
	* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: Likewise.

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

	* sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask,
	sigset_get_old_mask): Make it work with larger sigset_t.
	* sysdeps/posix/sigblock.c (__sigblock): Use those macros.
	* sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise.
	* sysdeps/posix/sigpause.c (__sigpause): Likewise.

2002-08-26  Roland McGrath  <roland@redhat.com>

	* time/sys/time.h [__USE_BSD] (lutimes, futimes): Declare them.
	* manual/filesys.texi (File Times): Document lutimes and futimes.
	* misc/Makefile (routines): Add them.
	* misc/Versions (libc: GLIBC_2.3): Likewise.
	* sysdeps/generic/lutimes.c: New file.
	* sysdeps/generic/futimes.c: New file.
	* sysdeps/mach/hurd/lutimes.c: New file.
	* sysdeps/mach/hurd/futimes.c: New file.

	* manual/filesys.texi (File Times): Add explicit note about null
	pointer argument to utimes.

2002-08-26  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/ifreq.h (__if_freereq): Add missing semicolon.
	(__ifreq): Add a cast.  Remove an unused variable.

	* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add
	_HURD_THREADVAR_LOCALE.

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

	* posix/regexec.c (re_search_stub): Return correct match length
	if start != 0.
	* posix/bug-regex10.c: New test.
	* posix/Makefile (tests): Add bug-regex10.

2002-08-26  Brian Youmans  <3diff@gnu.org>

	* COPYING.LIB: Replaced with fresh copy from
	ftp://ftp.gnu.org/gnu/Licenses/COPYING.LIB-2.1;
	suggested copying permission notice now says version 2.1 instead
	of version 2.

	* crypt/crypt.c: Changed copying permission notice to Lesser GPL
	from Library GPL.
	* crypt/crypt_util.c: Likewise.
	* crypt/ufc.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* iconv/iconvconfig.h: Likewise.
	* malloc/arena.c: Likewise.
	* malloc/hooks.c: Likewise.
	* malloc/malloc.c: Likewise.
	* posix/glob/Makefile.ami: Likewise.
	* posix/glob/Makefile.in: Likewise.
	* stdlib/gmp-impl.h: Likewise.
	* stdlib/gmp.h: Likewise.
	* sysdeps/generic/dl-iteratephdr-static.c: Likewise.
	* sysdeps/generic/strnlen.c: Likewise.
	* sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/recvmsg.c: Likewise.
	* sysdeps/mach/hurd/sendmsg.c: Likewise.
	* sysdeps/mach/hurd/spawni.c: Likewise.
	* sysdeps/mach/powerpc/machine-sp.h: Likewise.
	* sysdeps/mach/powerpc/sysdep.h: Likewise.
	* sysdeps/mach/powerpc/thread_state.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise.
	* sysdeps/x86_64/gmp-mparam.h: Likewise.

	* sysdeps/ieee754/dbl-64/MathLib.h: Corrected version number in
	Lesser GPL copying permission notice from 2 to 2.1.
	* sysdeps/ieee754/dbl-64/asincos.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/atnat.h: Likewise.
	* sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
	* sysdeps/ieee754/dbl-64/branred.c: Likewise.
	* sysdeps/ieee754/dbl-64/branred.h: Likewise.
	* sysdeps/ieee754/dbl-64/dla.h: Likewise.
	* sysdeps/ieee754/dbl-64/doasin.c: Likewise.
	* sysdeps/ieee754/dbl-64/doasin.h: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.h: Likewise.
	* sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_log.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa2.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.c: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
	* sysdeps/ieee754/dbl-64/mptan.c: Likewise.
	* sysdeps/ieee754/dbl-64/mydefs.h: Likewise.
	* sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/root.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
	* sysdeps/ieee754/dbl-64/sincos.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.h: Likewise.
	* sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowpow.c: Likewise.
	* sysdeps/ieee754/dbl-64/uasncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/uatan.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.h: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/upow.h: Likewise.
	* sysdeps/ieee754/dbl-64/upow.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/urem.h: Likewise.
	* sysdeps/ieee754/dbl-64/uroot.h: Likewise.
	* sysdeps/ieee754/dbl-64/usncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/utan.h: Likewise.
	* sysdeps/ieee754/dbl-64/utan.tbl: Likewise.

	* sysdeps/ieee754/flt-32/e_asinf.c: Added copyright notice for Stephen
	Moshier and Lesser GPL copying permission notice, per license from
	Moshier.
	* sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise.

	* sysdeps/ieee754/ldbl-128/e_j0l.c: Added Lesser GPL copying permission
	notice, per license from copyright holder Stephen Moshier.
	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_logl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.

2002-08-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/Makefile (sysdeps_routines): Add divdi3 in csu dir.
	(shared-only-routines): Likewise.

2002-08-26  Roland McGrath  <roland@redhat.com>

	* 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  Ulrich Drepper  <drepper@redhat.com>

	* nscd/hstcache.c (cache_addhst): Add new parameter saying whether
	entry was for getaddr* lookup or not.  Add only matching cache
	entry.  Change all callers [PR libc/4317].

	* libio/wfileops.c (_IO_wfile_seekoff): Set fp->_offset after
	finding the read position [PR libc/4265].
	* libio/Makefile (tests): Add bug-rewind2.
	* libio/bug-rewind2.c: New file.

	* libio/bug-rewind.c: Fix creation of temp file.

2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* nss/getXXbyYY_r.c (REENTRANT_NAME): Return ENOENT if status is
	neither SUCCESS nor TRYAGAIN [PR libc/4259].
	* nss/nss_files/files-XXX.c (internal_getent): Don't set *errnop
	to ENOENT if no entry is found.
	* nis/nss_compat/compat-grp.c: Don't set errno in case of lookup
	failure.
	* nis/nss_compat/compat-initgroups.c: Likewise.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.
	* nis/nss_nis/nis-alias.c: Likewise.
	* nis/nss_nis/nis-ethers.c: Likewise.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nis/nis-hosts.c: Likewise.
	* nis/nss_nis/nis-initgroups.c: Likewise.
	* nis/nss_nis/nis-netgrp.c: Likewise.
	* nis/nss_nis/nis-network.c: Likewise.
	* nis/nss_nis/nis-proto.c: Likewise.
	* nis/nss_nis/nis-publickey.c: Likewise.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nis/nis-rpc.c: Likewise.
	* nis/nss_nis/nis-service.c: Likewise.
	* nis/nss_nis/nis-spwd.c: Likewise.
	* resolv/nss_dns/dns-host.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.
	* nis/nss_nisplus/nisplus-alias.c: Save errno around NIS calls.
	* nis/nss_nisplus/nisplus-ethers.c: Likewise.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.
	* nis/nss_nisplus/nisplus-hosts.c: Likewise.
	* nis/nss_nisplus/nisplus-network.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.
	* nis/nss_nisplus/nisplus-spwd.c: Likewise.
	* hesiod/nss_hesiod/hesiod-pwd.c (lookup): Preserve errno value.
	* hesiod/nss_hesiod/hesiod-proto.c (lookup): Likewise.
	* hesiod/nss_hesiod/hesiod-grp.c (lookup): Likewise.
	* hesiod/nss_hesiod/hesiod-service.c (lookup): Likewise.

	* sysdeps/unix/sysv/linux/i386/sigaction.c: Avoid warnings by
	declaring __restore and __restore_rt as hidden (if possible).

2002-08-25  Roland McGrath  <roland@redhat.com>

	* manual/llio.texi (Access Modes): Fix typos in O_READ/O_WRITE defns.

	* sysdeps/generic/utmp_file.c (LOCK_FILE): Check for error from fcntl.
	(getutent_r_file, internal_getut_r): Updated all callers.
	(getutline_r_file, pututline_file, updwtmp_file): Likewise.

2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/locale.c: Don't print aliases for non-existing
	locales for 'locale -a'.
	Patch by Noah Levitt <nlevitt@columbia.edu> [PR libc/4166].

2002-07-19  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/mips/bits/msq.h: New file.

2002-07-16  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	sys/personality.h.
	* sysdeps/unix/sysv/linux/sys/personality.h: New file.

2002-08-25  Ulrich Drepper  <drepper@redhat.com>

	* elf/tst-tlsmod1.c (in_dso): Make sure the TLS variable access is
	not moved ahead of the fputs call.
	* elf/tst-tlsmod2.c (in_dso): Likewise.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod4.c (in_dso): Likewise.

2002-08-25  Andreas Schwab  <schwab@suse.de>

	* elf/dl-reloc.c (_dl_reloc_bad_type): Nul-terminate message.

2002-08-25  Roland McGrath  <roland@redhat.com>

	* 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): Variable 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  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c: Fix typo in comment.  Add a few more __builtin_expect.

	* sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Define as static
	inline to avoid defining it in every file which includes this header.

	* elf/rtld.c: Also test for HAVE_VISIBILITY_ATTRIBUTE before
	defining DONT_USE_BOOTSTRAP_MAP.

	* libio/tst-freopen.c (main): Use correct formats for __LINE__.
	* libio/tst-mmap-setvbuf.c (main): Likewise.
	* libio/tst-widetext.c (main): Likewise.

	* libio/tst-mmap-eofsync.c (do_test): Use correct format in error
	message.
	* libio/tst-mmap-fflushsync.c (do_test): Likewise.
	* libio/tst-mmap2-eofsync.c (do_test): Likewise.

	* 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.

2002-08-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/bzero.S: Define __bzero as well.

	* locale/programs/charmap.c (charmap_new_char): Don't use
	ULONG_MAX as maximum UCS4 value.

	* sysdeps/unix/sysv/linux/ia64/sys/user.h: New file.

	* sysdeps/generic/strtol.c: We don't need the isascii test in glibc.

	* malloc/hooks.c (public_sET_STATe): use size_t as type for i.
	* malloc/malloc.c (mALLINFo): Likewise.

	* libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison.

	* libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when
	examining result of _IO_do_flush call.

	* stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg.
	Use prec not spec when sizing buffers.

	* catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings.
	* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
	* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
	* stdio-common/vfscanf.c (inchar): Likewise.
	* misc/efgcvt_r.c (fcvt_r): Likewise.
	* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
	* elf/readlib.c (process_file): Likewise.
	* elf/sprof.c (load_profdata): Likewise.
	* sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise.
	* locale/programs/linereader.c (get_toplvl_escape): Likewise.
	* locale/programs/charmap.c (charmap_read): Likewise.
	* libio/fileops.c: Likewise.
	* libio/fmemopen.c: Likewise.
	* stdlib/strtod.c: Likewise.
	* elf/dl-load.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c (process_block): Likewise.
	* elf/rtld.c (dl_main): Likewise.

	* sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
	macro to calm down the compiler.

	* iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning.

	* sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string.

	* sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding
	placement of errno definition.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.

	* resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.

2002-08-16  Paul Eggert  <eggert@twinsun.com>

	* resolv/gethnamaddr.c (MAXPACKET): Increase minimum value
	from 1024 to 65536, to avoid buffer overrun.
	* resolv/res_query.c (MAXPACKET): Likewise.

2002-08-24  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/i386/Versions: Remove *xattr syscalls.

2002-08-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ieee754/dbl-64/e_pow.c (log1): Define and initialize
	two52 locally.
	(log2): Likewise.
	* sysdeps/ieee754/dbl-64/upow.h: Remove definition of two52.
	Patch by Simon Gee <simong@agile.tv>.

	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf):
	Prefer reading /proc/stat since it is more uniform across
	architectures.

	* manual/texinfo.tex: Update to latest official version.

	* sysvipc/sys/shm.h: Remove SHMLBA definition.
	* sysdeps/generic/bits/shm.h: Define SHMLBA here.
	* sysdeps/gnu/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/shm.h: Define SHMLBA to 2^20
	since this is what the kernel says.

	* misc/sys/xattr.h: Include <sys/types.h> instead of <stddef.h>
	since ssize_t is needed as well.  Replace const with __const.

2002-08-23  Roland McGrath  <roland@redhat.com>

	* malloc/hooks.c (__malloc_initialize_hook, __free_hook,
	__malloc_hook, __realloc_hook, __memalign_hook,
	__after_morecore_hook): Variable definitions moved to ...
	* malloc/malloc.c: ... here, so as to be before all references.

	* 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.

	* malloc/hooks.c: Move variable definitions ahead of uses.
	* libio/fileops.c: Move versioned_symbol defns ahead of _IO_jump_t
	initializers that make reference to variables they define.

2002-08-23  Andreas Jaeger  <aj@suse.de>

	* locale/loadarchive.c: Include <stdlib.h> for prototypes of
	alloca, free, qsort.

	* dlfcn/bug-dlsym1-lib1.c (foo): Add prototype to avoid warning.

	* sysdeps/ieee754/flt-32/e_jnf.c: Remove unused variable.
	* sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise.

	* misc/sys/xattr.h: New file, contributed by Christoph Hellwig
	<hch@lst.de>.
	* sysdeps/generic/fgetxattr.c: New file.
	* sysdeps/generic/flistxattr.c: New file.
	* sysdeps/generic/fremovexattr.c: New file.
	* sysdeps/generic/fsetxattr.c: New file.
	* sysdeps/generic/getxattr.c: New file.
	* sysdeps/generic/listxattr.c: New file.
	* sysdeps/generic/lgetxattr.c: New file.
	* sysdeps/generic/llistxattr.c: New file.
	* sysdeps/generic/lremovexattr.c: New file.
	* sysdeps/generic/lsetxattr.c: New file.
	* sysdeps/generic/removexattr.c: New file.
	* sysdeps/generic/setxattr.c: New file.
	* misc/Makefile (headers): Add sys/xattr.h.
	(routines): Add *xattr calls.
	* misc/Versions: Add *xattr calls with version 2.3.
	* sysdeps/unix/sysv/linux/m68k/Versions: Remove *xattr syscalls.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
	* sysdeps/unix/sysv/linux/arm/Versions: Likewise.

2002-08-22  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/elf/libc-start.c
	(__cache_line_size): Declare.
	(__aux_init_cache): New function.
	(__libc_start_main): Change type of `auxvec' parameter to
	`ElfW(auxv_t) *'.  Correct walking of aux vector.  Call
	__aux_init_cache.
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
	(__cache_line_size): Declare.
	(__aux_init_cache): New function.
	(DL_PLATFORM_INIT): Define.
	* sysdeps/powerpc/memset.S: Define __cache_line_size and use its
	value to select the correct stride for dcbz.

2002-08-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments of
	shmat.

2002-08-22  Roland McGrath  <roland@redhat.com>

	* locale/loadarchive.c (_nl_load_locale_from_archive): Check max file
	position indicated by locrectab against file bounds before rounding to
	page size.  In mapping loop, always set TO before breaking out of
	contiguous range coalescing loop.

	* locale/loadarchive.c (_nl_load_locale_from_archive): Use MAP_PRIVATE
	(or MAP_COPY if available) instead of MAP_SHARED.

	* scripts/firstversions.awk: When encountering a version newer than
	the specified earliest version, be sure to emit the specified earliest
	version first if any renaming of an older version to that has been.

2002-08-21  Roland McGrath  <roland@redhat.com>

	* configure.in: Make GCC version check require 3.[2-9]* and no others.
	* manual/install.texi (Tools for Compilation): Say 3.2 is required.
	(Configuring and compiling): Don't mention older GCC versions any more.
	* INSTALL: Regenerated.

	* manual/install.texi (Configuring and compiling, Installation,
	Running make install, Linux): Linux -> GNU/Linux where appropriate.

	* elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can
	be inlined.  Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP]
	and with noinline otherwise.  Remove hack alloca use to prevent
	inlining, we can ask for it explicitly nowadays.

	* dlfcn/bug-dlsym1.c: New file.
	* dlfcn/bug-dlsym1-lib1.c, dlfcn/bug-dlsym1-lib2.c: New files.
	* dlfcn/Makefile (distribute): Add them.
	(tests): Add bug-dlsym1 here.
	(modules-names): Add bug-dlsym1-lib1 and bug-dlsym1-lib2 here.
	($(objpfx)bug-dlsym1, $(objpfx)bug-dlsym1.out): New targets.
	($(objpfx)bug-dlsym1-lib1.so, $(objpfx)bug-dlsym1-lib2.so): Likewise.

2002-08-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (start_time): New global variable.  Moved from _dl_start.
	(DONT_USE_BOOTSTRAP_MAP): Define if we can use non-exported symbols
	before relocation.
	(_dl_start): Don't use local bootstrap_map variable if
	DONT_USE_BOOTSTRAP_MAP is defined.  Use GL(dl_rtld_map).  Don't
	pass bootstrap_map to _dl_start_final in this case either.  Don't
	pass start_time to _dl_start_final ever.
	(_dl_start_final): Don't copy bootstrap_map if DONT_USE_BOOTSTRAP_MAP.

	* elf/dl-deps.c (_dl_map_object_deps): Revert patch from 2002-05-28.
	This cripples the scope lists necessary to search for symbols in
	dependencies which are not in the global scope.

	* include/setjmp.h (__libc_longjmp): Add declaration.

2002-08-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/_mcount.S: Fix assembler.

	* sysdeps/unix/sysv/linux/x86_64/Makefile: Generate bits/syscall.h
	with biarch support.

2002-08-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Fix it.

	* sysdeps/x86_64/Makefile (sysdep_routines): Add _mcount.

	* sysdeps/x86_64/machine-gmon.h: New file.
	* sysdeps/x86_64/_mcount.S: New file.

2002-08-20  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP.  Set
	bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called.
	(_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map).
	(dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized
	to TL_INIT_TP.  Otherwise pass 1.
	* include/link.h (struct link_map): Add l_tls_tp_initialized.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP.

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

	* locale/programs/localedef.c (add_to_readlist): Error about
	circular dependencies only if the locale in question hasn't
	been finished.
	* locale/programs/linereader.c (get_string): Pass LC_CTYPE not
	CTYPE_LOCALE to load_locale.
	* locale/programs/locfile.c (locfile_read): Don't include
	unneeded but available locales in locale_mask.

	* locale/programs/locarchive.c (enlarge_archive): If quiet, don't
	print any messages about enlarging archive.

2002-08-20  Brian Youmans  <3diff@gnu.org>

	* manual/contrib.texi: Removed licenses, added acknowledgements
	for contributions by Intel, IBM, Craig Metz.
	* LICENSES: New file, contains the text of all non-FSF licenses in the
	distribution that require putting the notice in the accompanying
	documentation.
	* README.template, README: Mention LICENSES.

	* sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a
	new one modelled on the modern BSD license, per recent letter
	of permission from CMU.
	* sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise.

	* sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder
	from IBM to FSF, per the recent Software Letter.  Changed the
	distribution terms from GPL to LGPL.

	* sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and
	copying permission notice (Lesser GPL), per recent IBM Software Letter.
	* sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/root.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/sincos.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uatan.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/upow.tbl: Likewise.
	* sysdeps/ieee754/dbl-64/utan.tbl: Likewise.

	* sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder
	from IBM to FSF, per the recent Software Letter.  Corrected the
	text of the copying permission notice to say Lesser GPL instead
	of GPL in warranty disclaimer paragraph.
	* sysdeps/ieee754/dbl-64/atnat2.h: Likewise.
	* sysdeps/ieee754/dbl-64/branred.h: Likewise.
	* sysdeps/ieee754/dbl-64/dla.h: Likewise.
	* sysdeps/ieee754/dbl-64/doasin.h: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpa2.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.h: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise.
	* sysdeps/ieee754/dbl-64/mydefs.h: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.h: Likewise.
	* sysdeps/ieee754/dbl-64/uasncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/uexp.h: Likewise.
	* sysdeps/ieee754/dbl-64/ulog.h: Likewise.
	* sysdeps/ieee754/dbl-64/upow.h: Likewise.
	* sysdeps/ieee754/dbl-64/urem.h: Likewise.
	* sysdeps/ieee754/dbl-64/uroot.h: Likewise.
	* sysdeps/ieee754/dbl-64/usncs.h: Likewise.
	* sysdeps/ieee754/dbl-64/utan.h: Likewise.

	* sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying
	permission notice to say Lesser GPL instead of GPL in warranty
	disclaimer paragraph.
	* sysdeps/ieee754/dbl-64/doasin.c: Likewise.
	* sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_log.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/mptan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowpow.c:  Likewise.

2002-08-20  Roland McGrath  <roland@redhat.com>

	Fix ABI compatibility with libc compiled with old tools on powerpc.
	Changes contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
	and Jack Howarth <howarth@bromo.med.uc.edu>.
	* sysdeps/powerpc/Makefile [$(have-protected) = yes]
	(CPPFLAGS-divdi3.c, CPPFLAGS-libgcc-compat.S): New variables,
	pass -DHAVE_DOT_HIDDEN for these files.
	* sysdeps/powerpc/Versions (libc: GLIBC_2.0): Added __floatdidf,
	__floatdisf.
	* sysdeps/powerpc/divdi3.c: New file.
	* sysdeps/powerpc/libgcc-compat.S: New file, replacement for ...
	* sysdeps/powerpc/libgcc-compat.c: ... this, file removed.

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

	* locale/loadarchive.c (_nl_load_locale_from_archive): Handle
	partially overlapping mappings.	 Remove unneeded (char *) casts.
	Never allow duplication of ranges in mapped areas.

2002-08-20  Roland McGrath  <roland@redhat.com>

	* elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors
	can be detected by make.  Reported by H.J. Lu <hjl@gnu.org>.

2002-08-20  Ulrich Drepper  <drepper@redhat.com>

	* include/unistd.h: Don't hide _exit.

	* elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP.
	(dl_main): Pass extra argument 0 to TLS_INIT_TP.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra
	argument 1 to TLS_INIT_TP.
	* sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter.

	* sysdeps/generic/dl-tls.c (allocate_dtv): Optimize a bit.

	* elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv
	memory allocation to...
	(allocate_dtv): ...here.  New function.
	(_dl_allocate_tls): Change to take parameter.  If parameter is non-NULL
	call allocate_dtv instead of _dl_allocate_tls_storage.
	(_dl_deallocate_tls): New parameter.  Deallocate TCB only if true.
	(_dl_get_tls_static_info): New function.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls
	and _dl_deallocate_tls.  Add prototype for _dl_get_tls_static_info.

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

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Return
	immediately if result == NULL.

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

	* sysdeps/alpha/fpu/libm-test-ulps: Regenerate.

2002-08-18  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/mkdir.c (__mkdir): Use __directory_name_split
	instead of __file_name_split.
	* sysdeps/mach/hurd/unlink.c (__unlink): Likewise.

	* sysdeps/mach/hurd/dl-sysdep.c
	[HP_TIMING_AVAIL] (_dl_cpuclock_offset): New variable.
	[HP_TIMING_AVAIL] (_dl_sysdep_start): Set it with HP_TIMING_NOW.

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

	* locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix
	in change before last: MAX -> MIN.

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

	* libio/fileops.c (_IO_file_seekoff_mmap): Leave read pointers at EOF
	if seek would go past it.
	(mmap_remap_check): If file position is at or past EOF after check,
	leave read pointers at EOF and don't seek.

	* libio/tst-mmap-offend.c: New file.
	* libio/Makefile (tests): Add it.

	* locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of
	the name as passed, rather than the name in the archive dictionary.

2002-08-15  Ulrich Drepper  <drepper@redhat.com>

	* csu/Makefile: Define elide-routines.os not static-only-routines.

	* include/sched.h (__clone): Add varargs at the end.

	* elf/rtld.c (_dl_start): Allow TLS_INIT_TP to fail, and stop in that
	case.
	(TLS_INIT_HELPER): If defined, use it.
	* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.

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

	* elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
	on L->l_prev; it can happen under rtld --verify too.

	* locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the
	header separately, just map an initial window of 2MB from the file
	and remap if that is not large enough to cover the whole header.

2002-08-15  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/m68k/Versions: Add *xattr syscalls with
	version 2.3.
	* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
	* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
	* sysdeps/unix/sysv/linux/mips/Versions: Likewise.
	Patch by Andreas Gruenbacher <agruen@suse.de>.

	* sysdeps/unix/sysv/linux/syscalls.list: Add *xattr syscalls.

2002-08-14  Roland McGrath  <roland@redhat.com>

	* locale/locarchive.h (struct locale_category_data): Give this name to
	the type of locale_data_t's elements.
	* locale/programs/locarchive.c (cmpcategorysize): New static function.
	(add_locale): Use that to sort the categories by size and put all
	those that fit into two pages into the LC_ALL block, instead of
	hard-coding it to do everything but LC_CTYPE and LC_COLLATE.
	(show_archive_content): Detect categories inside LC_ALL block
	directly, instead of hard-coding.
	(oldlocrecentcmp): Compare just on file locations used.

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

	* locale/programs/locarchive.c (struct oldlocrecent): New type.
	(oldlocrecentcmp): New function.
	(enlarge_archive): Re-add locales in the order they were added
	to the archive.
	(add_locale): Put all the small locale files together, if the small
	locale file block would occupy less pages if page size aligned, align
	it.
	(show_archive_content): Adjust for locale archives optimized for speed.

2002-08-14  Roland McGrath  <roland@frob.com>

	* configure.in: Use "MISSING" as not-found value for MIG.
	* sysdeps/mach/configure.in: Fatal if mig not found.
	* configure, sysdeps/mach/configure: Regenerated.

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

	* locale/loadarchive.c (archfname): Add missing slash.

	* sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def.
	* wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def.

2002-08-12  Roland McGrath  <roland@redhat.com>

	* include/sys/wait.h (__waitpid): Add libc_hidden_proto.
	* sysdeps/unix/sysv/sco3.2.4/waitpid.S: Add libc_hidden_def.
	* sysdeps/unix/sysv/sysv4/waitpid.c: Add libc_hidden_weak.
	* sysdeps/unix/sysv/linux/waitpid.c: Likewise.
	* sysdeps/unix/sysv/aix/waitpid.c: Likewise.
	* sysdeps/unix/bsd/bsd4.4/waitpid.c: Likewise.
	* sysdeps/generic/waitpid.c: Likewise.

	* include/net/if.h: New file.  Use libc_hidden_proto
	for if_nametoindex and if_indextoname.
	* sysdeps/generic/if_index.c: Add libc_hidden_def.
	* sysdeps/mach/hurd/if_index.c: Likewise.
	* sysdeps/unix/sysv/linux/if_index.c: Likewise.

	* include/grp.h (setgroups): Add libc_hidden_proto.
	* sysdeps/generic/setgroups.c: Add libc_hidden_def.
	* sysdeps/mach/hurd/setgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.

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

	* include/unistd.h (seteuid, setegid): Add libc_hidden_proto.
	* sysdeps/generic/seteuid.c (seteuid): Add libc_hidden_def.
	* sysdeps/generic/setegid.c (setegid): Likewise.
	* sysdeps/mach/hurd/seteuid.c (seteuid): Likewise.
	* sysdeps/mach/hurd/setegid.c (setegid): Likewise.
	* sysdeps/unix/bsd/seteuid.c (seteuid): Likewise.
	* sysdeps/unix/bsd/setegid.c (setegid): Likewise.
	* sysdeps/unix/sysv/aix/seteuid.c (seteuid): Likewise.
	* sysdeps/unix/sysv/aix/setegid.c (setegid): Likewise.
	* sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c (seteuid): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Likewise.
	* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Likewise.
	* sysdeps/unix/sysv/linux/setegid.c (setegid): Likewise.
	* sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise.
	Remove fallback if __ASSUME_SETRESUID_SYSCALL.

	* include/sys/stat.h (__fxstat_internal, __fxstat64_internal,
	__lxstat_internal, __lxstat64_internal): Remove.
	(__fxstat, __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64):
	Add hidden_proto.
	* sysdeps/generic/fxstat.c (__fxstat): Add hidden_def.
	Remove INTDEF where present, remove #undef at the beginning.
	* sysdeps/generic/fxstat64.c (__fxstat64): Likewise.
	* sysdeps/generic/lxstat.c (__lxstat): Likewise.
	* sysdeps/generic/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/generic/xstat.c (__xstat): Likewise.
	* sysdeps/generic/xstat64.c (__xstat64): Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c (__xstat64, __fxstat64): Likewise.
	* sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise.
	* sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise.
	* sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise.
	* sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/mach/hurd/xstat.c (__xstat): Likewise.
	* sysdeps/mach/hurd/xstat64.c (__xstat64): Likewise.
	* sysdeps/unix/fxstat.c (__fxstat): Likewise.
	* sysdeps/unix/common/lxstat.c (__lxstat): Likewise.
	* sysdeps/unix/sysv/aix/fxstat.c (__fxstat): Likewise.
	* sysdeps/unix/sysv/aix/fxstat64.c (__fxstat64): Likewise.
	* sysdeps/unix/sysv/aix/lxstat.c (__lxstat): Likewise.
	* sysdeps/unix/sysv/aix/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/unix/sysv/aix/xstat.c (__xstat): Likewise.
	* sysdeps/unix/sysv/aix/xstat64.c (__xstat64): Likewise.
	* sysdeps/unix/sysv/linux/ia64/fxstat.c (__fxstat): Likewise.
	* sysdeps/unix/sysv/linux/ia64/lxstat.c (__lxstat): Likewise.
	* sysdeps/unix/sysv/linux/ia64/xstat.c (__xstat): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c (__fxstat): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c (__lxstat): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/xstat.c (__xstat): Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise.
	* sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise.
	* sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise.
	* sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise.
	* sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise.
	* sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/unix/xstat.c (__xstat): Likewise.

	* include/sys/statvfs.h (statvfs, fstatvfs): Add libc_hidden_proto.
	* sysdeps/generic/statvfs.c (statvfs): Add libc_hidden_def.
	* sysdeps/generic/fstatvfs.c (fstatvfs): Likewise.
	* sysdeps/mach/hurd/statvfs.c (statvfs): Likewise.
	* sysdeps/mach/hurd/fstatvfs.c (fstatvfs): Likewise.
	* sysdeps/unix/sysv/linux/statvfs.c (statvfs): Likewise.
	* sysdeps/unix/sysv/linux/fstatvfs.c (fstatvfs): Likewise.

	* include/unistd.h (tcgetpgrp): Add libc_hidden_proto.
	* include/termios.h (tcsetattr, cfsetispeed, cfsetospeed): Likewise.
	* sysdeps/generic/tcgetpgrp.c (tcgetpgrp): Add libc_hidden_def.
	* sysdeps/generic/tcsetattr.c (tcsetattr): Likewise.
	* sysdeps/generic/speed.c (cfsetispeed, cfsetospeed): Likewise.
	* sysdeps/unix/bsd/bsd4.4/tcsetattr.c (tcgetpgrp): Likewise.
	* sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Likewise.
	* sysdeps/unix/bsd/sun/sunos4/speed.c (cfsetispeed, cfsetospeed):
	Likewise.
	* sysdeps/unix/bsd/tcgetpgrp.c (tcgetpgrp): Likewise.
	* sysdeps/unix/bsd/tcsetattr.c (tcsetattr): Likewise.
	* sysdeps/unix/sysv/aix/tcsetattr.c (tcsetattr): Likewise.
	* sysdeps/unix/sysv/aix/speed.c (cfsetispeed, cfsetospeed): Likewise.
	* sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise.
	* sysdeps/unix/sysv/linux/speed.c (cfsetispeed, cfsetospeed): Likewise.
	* sysdeps/unix/sysv/tcgetpgrp.c (tcgetpgrp): Likewise.
	* sysdeps/unix/sysv/tcsetattr.c (tcsetattr): Likewise.

	* include/string.h (strcoll): Add libc_hidden_proto.
	* string/strcoll.c (strcoll): Add libc_hidden_def.

	* misc/err.c (vwarn): Fix pasto in libc_hidden_def.

2002-08-11  Philip Blundell  <philb@gnu.org>

	* sysdeps/arm/Makefile: New file.

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

	* posix/regcomp.c (parse_reg_exp): If '|' is immediately followed
	by another '|', end of regex or enclosing ')', clear branch.
	* posix/bug-regex9.c: New test.
	* posix/Makefile (tests): Add bug-regex9.

2002-08-12  Roland McGrath  <roland@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Fix inner loop
	start count condition, use TOTAL instead of variable that was never
	set.  Fix outer loop termination condition to TOTAL >= after update.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize
	dl_tls_static_align and dl_tls_static_nelem.

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

	* elf/tst-tlsmod4.c (in_dso): Insert a random library call before use
	of the TLS macros, otherwise the compiler might not have initialized
	the PIC register yet when we use the PLT via asm.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod2.c (in_dso): Likewise.

	* 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.

	* include/sys/errno.h: New file.

	* include/signal.h: No libc_hidden_proto for raise,
	__libc_current_sigrtmin, __libc_current_sigrtmax.
	These need to be overridden by linuxthreads.
	* sysdeps/posix/raise.c: Reverted.
	* sysdeps/generic/raise.c: Reverted.
	* signal/allocrtsig.c: Reverted.

	* locale/loadarchive.c (LOCALEDIR): Remove debugging defn.  Oops.

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

	* locale/loadarchive.c (_nl_archive_subfreeres): New function.
	* locale/localeinfo.h: Declare it.
	* locale/setlocale.c (free_mem): Don't call _nl_unload_locale on the
	current locale if it's not in the file list.
	Call _nl_archive_subfreeres.

2002-08-10  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/strchr.S: Add comment.

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

	* include/wchar.h (putwc): Use libc_hidden_proto.
	* include/stdio.h (dprintf, fprintf, vfprintf, sprintf,
	sscanf, fwrite, perror, remove, rewind, open_memstream): Likewise.
	* stdio-common/dprintf.c: Add libc_hidden_def.
	* stdio-common/fprintf.c: Likewise.
	* stdio-common/sprintf.c: Likewise.
	* stdio-common/sscanf.c: Likewise.
	* libio/iofwrite.c: Likewise.
	* libio/memstream.c: Likewise.
	* libio/putwc.c: Likewise.
	* stdio-common/perror.c: Likewise.
	* sysdeps/posix/remove.c: Likewise.
	* sysdeps/generic/remove.c: Likewise.
	* libio/rewind.c: Likewise.  Use <stdio.h> instead of "stdio.h".
	* stdio-common/vfprintf.c: Add libc_hidden_def.  Include <stdio.h>.

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

	* include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add prototypes here too.  Add libc_hidden_proto.
	* wctype/wcfuncs.c (iswalpha, iswdigit, iswlower, iswspace, iswxdigit,
	towlower, towupper): Add libc_hidden_weak.

	* include/bits/dlfcn.h: New file.
	* elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def.

	* include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto.
	* include/netinet/ether.h (_nss_files_parse_etherent): Likewise.
	* include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise.
	* include/pwd.h (_nss_files_parse_pwent): Likewise.
	* include/shadow.h (_nss_files_parse_spent): Likewise.
	* include/netdb.h (_nss_files_parse_protoent,
	_nss_files_parse_servent, _nss_files_parse_netent): Likewise.
	* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define.
	(LINE_PARSER): Use it.
	* nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def.

	* libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT
	#endif.

	* manual/debug.texi (%MENU%): Remove trailing dot.
	Reported by <hayastan132@hotmail.com>.

	* sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek): Add lseek
	aliases.
	(lseek): Dummy.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, lseek):
	Likewise.

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

	* locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale
	name to find codeset name (if any) and normalize it.  If the
	normalized name differs, look up only that in the archive.
	* locale/programs/locarchive.c (add_locale_to_archive): If the name
	contains a codeset, normalize the codeset store only the normalized
	name in the archive.  If not, add an alias containing the locale's
	normalized codeset name.  Apply codeset name normalization when
	matching entries in the alias file.

	* locale/programs/locarchive.c (delete_locales_from_archive): Don't
	decrement HEAD->namehash_used here.
	(add_locale): Only need to insert name string when name_offset != 0.

	* locale/programs/localedef.c (options): Add -A/--alias-file.
	(alias_file): New variable.
	(parse_opt): Grok -A, set that.
	* locale/programs/localedef.h: Declare it.

	* locale/locarchive.h (struct locrecent): Add `refs' member.
	* locale/programs/locarchive.c (insert_name): New function, broken out
	of ...
	(add_locale_to_archive): ... here.  Call that.
	(add_alias): New function.
	(add_locale): New static function, add_locale_to_archive renamed.
	(add_locale_to_archive): Call that and use add_alias to add an alias
	for the name with codeset if the given name lacks it.
	(enlarge_archive): Call add_locale instead of add_locale_to_archive.

	* locale/Makefile (routines): Add loadarchive.
	* locale/loadarchive.c: New file, started from code by Ulrich Drepper.
	(_nl_load_locale_from_archive): New function.
	* locale/localeinfo.h: Declare it.
	* locale/findlocale.c (_nl_find_locale): If using default locale path,
	try _nl_load_locale_from_archive first.

	* locale/loadlocale.c (_nl_intern_locale_data): New function,
	broken out of _nl_load_locale.
	(_nl_load_locale): Call that.
	* locale/localeinfo.h: Declare it.
	(struct locale_data): Replace member `mmaped' with `alloc', an enum.
	(struct locale_data): Remove unused member `options'.
	* locale/findlocale.c (_nl_remove_locale): Update uses.
	* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.
	* locale/C-collate.c: Update initializer.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-address.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-time.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-messages.c : Likewise.
	* locale/C-ctype.c: Likewise.

	* locale/hashval.h [! LONGBITS]: Include <limits.h> here and
	use CHAR_BIT instead of BITSPERBYTE.

	* locale/localeinfo.h (_nl_find_locale, _nl_load_locale,
	_nl_unload_locale): Add `internal_function attribute_hidden' to decls.
	* locale/findlocale.c (_nl_find_locale): Add internal_function to defn.
	(_nl_remove_locale): Likewise.
	* locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise.

	* locale/findlocale.c (_nl_default_locale_path): New variable.
	(_nl_find_locale): If LOCALE_PATH is null, default to that.
	* locale/localeinfo.h: Declare it.
	* locale/setlocale.c (setlocale): Use _nl_default_locale_path
	in place of LOCALEDIR.  If no LOCPATH, pass null to _nl_find_locale.
	* locale/newlocale.c (__newlocale): Likewise.

	* misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses.
	* inet/rexec.c (rexec_af): Add libc_hidden_def.
	* sysdeps/generic/morecore.c: Likewise.
	* signal/allocrtsig.c (__libc_current_sigrtmin): Likewise.
	(__libc_current_sigrtmax): Likewise.

2002-08-08  Roland McGrath  <roland@redhat.com>

	* locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT.
	* catgets/open_catalog.c (__open_catalog): Likewise.

	* locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed
	from typo INITIAL_NUM_NANES.
	(create_archive): Update use.

2002-08-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sigwait.c: New file.

2002-08-08  Roland McGrath  <roland@frob.com>

	* resolv/netdb.h: Don't declare h_errno as a plain global any more.

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

	* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define to something
	else and undefine after including wcstol_l.c.
	* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Similarly.

2002-08-08  Ulrich Drepper  <drepper@redhat.com>

	* gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.

2002-08-08  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in: Make the test for broken_alias_attribute stricter.

2002-05-24  Robert Love  <rml@tech9.net>

	* posix/Makefile (routines): Add sched_getaffinity and
	sched_setaffinity.
	* posix/sched.h: Add declarations for sched_getaffinity and
	sched_setaffinity.
	* sysdeps/generic/sched_getaffinity.c: New file.
	* sysdeps/generic/sched_setaffinity.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and
	sched_setaffinity.

2002-08-06  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes.

2002-08-07  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error
	message.

	* stdlib/isomac.c (get_null_defines): Treat NOT_IN_libc special.
	It is known to be defined.

	* include/string.h: Define index and rindex only if _ISOMAC is not
	defined.

	* elf/rtld.c: Include <errno.h>.
	* sysdeps/generic/libc-tls.c: Likewise.

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

	* resolv/res_debug.c (latlon2ul): Add const to argument type, and use
	it internally.
	(precsize_aton): Likewise.

	* inet/getnetgrent_r.c (endnetgrent, __getnetgrent_r): Actually call
	the static symbols added in the last change (doofus is me).

	* locale/newlocale.c (__newlocale): Use a bit mask instead of a second
	loop to notice missing categories in a composite name.

	* locale/locale.h (LC_CTYPE_MASK, LC_NUMERIC_MASK, LC_TIME_MASK,
	LC_COLLATE_MASK, LC_MONETARY_MASK, LC_MESSAGES_MASK, LC_ALL_MASK,
	LC_PAPER_MASK, LC_NAME_MASK, LC_ADDRESS_MASK, LC_TELEPHONE_MASK,
	LC_MEASUREMENT_MASK, LC_IDENTIFICATION_MASK, LC_ALL_MASK): New macros.

2002-08-07  Ulrich Drepper  <drepper@redhat.com>

	* malloc/tst-calloc.c: Add tests for one or both parameters being zero.

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

	* 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  Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c (public_cALLOc): Check ELEM_SIZE != 0 before
	division.

2002-08-06  Roland McGrath  <roland@redhat.com>

	* include/getopt.h: Put private decls inside [_GETOPT_H].
	Use libc_hidden_proto for getopt_long, getopt_long_only.
	* posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h".
	Add libc_hidden_def.

	* sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr):
	Define as a macro for __dl_iterate_phdr.

	* inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name,
	made static.  Add __ name as a strong alias.
	(internal_endnetgrent): Likewise.
	(internal_getnetgrent_r): Likewise.

	* locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
	with no __ prefix.
	* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
	* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
	all *_l functions with no __ prefix.
	* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
	* ctype/ctype_l.c: Likewise.
	* locale/nl_langinfo.c: Likewise.
	* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
	* stdlib/stdlib.h [__USE_GNU]: Likewise.
	* wcsmbs/wchar.h [__USE_GNU]: Likewise.
	* wctype/wctype.h [__USE_GNU]: Likewise.
	* string/strcoll_l.c (strcoll_l): Define as weak alias.
	* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
	* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
	* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
	* stdlib/strtod_l.c (strtod_l): Define as weak alias.
	* stdlib/strtof_l.c (strtof_l): Define as weak alias.
	* stdlib/strtold_l.c (strtold_l): Define as weak alias.
	* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
	(__wcscasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
	(__wcsncasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
	* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
	* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
	* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
	* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
	* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
	* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
	* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
	* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
	* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
	* wctype/wctype_l.c (wctype_l) Define as weak alias.

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

	* include/rpc/auth.h: Use libc_hidden_proto for getnetname,
	netname2user, host2netname, user2netname, key_gendes.
	* sunrpc/netname.c: Add libc_hidden_def.
	* sunrpc/key_call.c: Likewise.

	* include/netdb.h: Use libc_hidden_proto for getaddrinfo, getnameinfo,
	freeaddrinfo.
	* inet/getnameinfo.c: Add libc_hidden_def.
	* sysdeps/generic/getaddrinfo.c: Likewise.
	* sysdeps/posix/getaddrinfo.c: Likewise.

	* include/wchar.h: Use libc_hidden_proto for wmemchr, wmemset.
	* wcsmbs/wmemchr.c: Add libc_hidden_def.
	* wcsmbs/wmemset.c: Add libc_hidden_def.

	* include/string.h: Move libc_hidden_proto's inside #ifndef _STRING_H.
	(index, rindex): Define as macros for strchr, strrchr.

	* string/envz.c (envz_strip): index -> strchr

	* include/rpc/rpc_msg.h: Use libc_hidden_proto for _seterr_reply.
	* sunrpc/rpc_prot.c: Add libc_hidden_def.

	* include/wchar.h: Use libc_hidden_proto for mbrtowc.
	* wcsmbs/mbrtowc.c: Add libc_hidden_weak.

	* include/stdlib.h: Use libc_hidden_proto for wctomb.
	* stdlib/wctomb.c: Add libc_hidden_def.

	* include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af,
	rexec_af, rresvport_af, ruserok_af, iruserok_af, ruserpass, hstrerror.
	* resolv/herror.c: Likewise.
	* inet/rcmd.c: Add libc_hidden_def.
	* inet/ruserpass.c: Likewise.
	* inet/getnetgrent_r.c: Likewise.

	* include/rpc/svc.h: Use libc_hidden_proto for svc_register,
	svc_unregister, remove *_internal decls.  Use libc_hidden_proto
	for svcerr_auth, svcerr_noprog, svcerr_progvers.
	* sunrpc/svc.c (svc_register, svc_unregister): Change INTDEF to
	libc_hidden_def.
	(svcerr_auth, svcerr_noprog, svcerr_progvers): Add libc_hidden_def.
	* sunrpc/svc_simple.c (registerrpc): Nix INTUSE for svc_register.

	* sysdeps/posix/system.c (do_system): New function, guts broken out of
	__libc_system.
	(__libc_system): Call it, putting just the line == NULL test here.

	* include/libc-symbols.h (__hidden_proto): Add extern keywords so
	variables work right.

	* elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext.
	* elf/dl-close.c (_dl_close): Likewise.

	* include/netinet/in.h: Use libc_hidden_proto for bindresvport,
	in6addr_any, in6addr_loopback.  Remove decls for
	bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal.
	* sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport.
	* sunrpc/svc_tcp.c (svctcp_create): Likewise.
	* sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise.
	* sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def.
	* inet/in6_addr.c: Change INTVARDEF to libc_hidden_def.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for
	in6addr_loopback.
	* inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any.

	* include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r,
	ether_aton_r.
	* inet/ether_aton_r.c: Add libc_hidden_def.
	* inet/ether_ntoa_r.c: Likewise.

	* include/rpc/svc.h: Use libc_hidden_proto for xprt_register,
	xprt_unregister.
	* sunrpc/svc.c: Add libc_hidden_def.
	* include/rpc/pmap_clnt.h: Use libc_hidden_proto for pmap_getport,
	pmap_set, pmap_unset.
	* sunrpc/pmap_clnt.c: Add libc_hidden_def.
	* sunrpc/pm_getport.c: Likewise.
	* include/rpc/auth_des.h: Use libc_hidden_proto for getpublickey.
	* sunrpc/publickey.c: Add libc_hidden_def.

2002-08-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (_dl_start): Don't use memset.  Use same tricks as for
	the other memset call in this function.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Store dtv pointer
	at correct index.  Clear BSS region now that memalign is used.

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

	* include/sys/utsname.h: Use libc_hidden_proto for uname, __uname.
	* sysdeps/generic/uname.c: Add libc_hidden_def.
	* sysdeps/mach/hurd/uname.c: Likewise.

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

	* include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll,
	wcspbrk): Add libc_hidden_proto.
	* time/strftime.c (my_strftime): Add libc_hidden_def.
	(strftime): Remove libc_hidden_def.
	* wcsmbs/wcschr.c (wcschr): Add libc_hidden_def.
	* wcsmbs/wcspbrk.c (wcspbrk): Likewise.
	* wcsmbs/wcsspn.c (wcsspn): Likewise.
	* wcsmbs/wcscmp.c (wcscmp): Likewise.
	* wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak.
	* wcsmbs/wcscoll.c (wcscoll): Likewise.

	* include/rpc/rpc.h (__rpc_thread_svc_max_pollfd,
	__rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_proto.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd,
	__rpc_thread_svc_pollfd, __rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.

	* include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror,
	clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto.
	* sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror,
	clnt_perror, clnt_sperror): Add libc_hidden_def.
	* sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise.

	* include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add
	libc_hidden_proto.
	* sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto.
	* sunrpc/des_soft.c (des_setparity): Likewise.

	* include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk):
	Add libc_hidden_proto.
	* sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk):
	Add libc_hidden_def.

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

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member
	`bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'.
	* elf/rtld.c (dl_main): Set it to the new dtv for the main thread.
	* sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the
	dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the
	old data, abandoning the original memory allocated by rtld at startup,
	instead of calling realloc normally.

2002-08-05  Ulrich Drepper  <drepper@redhat.com>

	* po/fr.po: Update from translation team.

2002-08-04  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/make-syscalls.sh: If the syscall name field is -
	then generate a dummy module under the given name, obeying the
	normal rules for the "caller" field.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop
	actually iterate over the elements.  Fix typo p_type -> p_vaddr.

	* include/pthread.h: Don't declare __pthread_initialize_minimal as
	weak here; we declare it weak or strong in the one place we use it.
	* sysdeps/generic/libc-start.c: ... which is here.
	Don't make the decl weak if [USE_TLS], since static programs need TLS
	setup even when single-threaded.

	* stdlib/isomac.c (fmt): Add -DNOT_IN_libc to the compiler command.

	* elf/Makefile (test-srcs): Add $(modules-names) to it.
	(CFLAGS-vismod2.c, CFLAGS-failobj.c, CFLAGS-constload2.c,
	CFLAGS-reldepmod3.c, CFLAGS-reldepmod4.c, CFLAGS-ltglobmod2.c): Remove
	all these variables.

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

	* include/stdio.h: Don't define macro magic to redirect function
	calls if _ISOMAC is defined.

	* sysdeps/i386/fpu/libm-test-ulps: Add epsilons for inlined
	ldouble asin tests.

2002-08-04  Roland McGrath  <roland@redhat.com>

	* stdlib/lrand48_r.c: Add libc_hidden_def.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Allocate the
	TCB with __libc_memalign instead of mmap.
	(_dl_deallocate_tls): Free it with free instead of munmap.

	* Makerules (cpp-srcs-left): When setting this to run
	cppflags-iterator.mk, must append .c to $(tests) and $(xtests)
	words.  Combine the two loops into one on the concatenated list,
	including those as well as $(test-srcs).

	* elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here,
	since we align here with optimally minimal waste anyway.
	(malloc): Just call that.

	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to
	the right variable.

	* elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
	to compute memory location for l_tls_initimage.
	* elf/rtld.c (_dl_start): Likewise.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.

	* libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT,
	because the .d file is generated in the non-shared case and
	so fails to catch them otherwise.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
	split out of _dl_allocate_tls.
	(_dl_allocate_tls_init): Likewise.
	(_dl_allocate_tls): Call those.
	* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
	* elf/rtld.c (dl_main): Call them separately instead of calling
	_dl_allocate_tls.  Delay _dl_allocate_tls_init until after relocation
	is finished, so that the initializer data has been relocated before we
	copy it into the main thread's TLS block.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in
	loop conditions, prevented the last used module from being initialized.

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

	* sysdeps/generic/glob.c (glob, globfree): Only use libc_hidden_def
	if glob resp. globfree are not macros.
	* sysdeps/gnu/glob64.c (globfree64): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/alpha/glob.c (glob, globfree, globfree64):
	Add libc_hidden_ver.
	* sysdeps/unix/sysv/linux/i386/glob64.c (globfree64): Add
	libc_hidden_def.
	* sysdeps/wordsize-64/glob.c (globfree64): Use libc_hidden_ver
	instead of libc_hidden_weak.
	* sysdeps/wordsize-64/strtol.c (__strtoll_internal): Use
	libc_hidden_ver instead of libc_hidden_def.
	* sysdeps/wordsize-64/wcstol.c (__wcstoll_internal): Use
	libc_hidden_ver instead of libc_hidden_def.
	(wcstoll, wcstoq): Remove libc_hidden_weak.
	* sysdeps/wordsize-64/strtol_l.c (____strtoll_l_internal): Add
	libc_hidden_ver.
	* sysdeps/wordsize-64/strtoul.c (__strtoull_internal): Add
	libc_hidden_ver.
	* sysdeps/wordsize-64/strtoul_l.c (____strtoull_l_internal): Add
	libc_hidden_ver.
	* sysdeps/wordsize-64/wcstoul.c (__wcstoull_internal): Add
	libc_hidden_ver.

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

	* stdio-common/psignal.c: Declare _sys_siglist_internal.  Use USEINT
	to access _sys_siglist.
	* string/strsignal.c: Likewise.
	* sysdeps/generic/siglist.c: Add _sys_siglist_internal alias.
	* sysdeps/gnu/siglist.c: Likewise.
	* sysdeps/unix/siglist.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.

	* libio/fileops.c: Add missing INTUSEs for _IO_file_jumps.

	* libio/wfileops.c: Add missing INTUSE for _IO_file_close.

	* intl/dcigettext.c: Define _nl_default_dirname_internal as hidden
	alias and use it.
	* intl/bindtextdom.c: Use _nl_default_dirname_internal.

	* include/netinet/in.h: Add declaration of in6addr_loopback_internal.
	* inet/in6_addr.c: Add INTVARDEF for in6addr_loopback.
	* sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access.

	* include/time.h: Add libc_hidden_proto for __gmtime_r.
	* time/gmtime.c (__gmtime_r): Add libc_hidden_def.

	* iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db,
	and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db,
	and __gconv_get_cache respectively.
	* iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and
	defined static.  Change all users.
	(__gconv_get_cache): New function.
	* iconv/gconv_db.c (__gconv_get_modules_db): New function.
	(__gconv_get_alias_db): New function.
	* iconv/gconv_int.h (__gconv_alias_db): Declare as hidden.
	(__conv_modules_db): Likewise.
	Add prototypes for __gconv_get_cache, __gconv_get_modules_db,
	and __gconv_get_alias_db.
	* iconv/iconv_prog.c: Use the new functions instead of accessing the
	variables.

	* include/stdlib.h: Add prototype and libc_hidden_proto for
	__default_morecore.
	* sysdeps/generic/morecore.c: Include <stdlib.h>.

	* malloc/obstack.c: Remove fputs macro.

	* malloc/mtrace.c: Remove fopen macro.

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

	* manual/debug.texi: Fix spelling to programmatically.
	Reported by <hayastan132@hotmail.com>.

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

	* include/libio.h: Add libc_hidden_proto for __uflow.
	* include/stdio.h: Map fopen, fdopen, fclose, fputs, fsetpos, and
	fgetpos to _IO_* names.
	Add libc_hidden_proto for fileno, fwrite, fseek, fflush_unlocked,
	fread_unlocked, fwrite_unlocked, fgets_unlocked, fputs_unlocked.
	* include/wchar.h: Add libc_hidden_proto for fputws_unlocked,
	putwc_unlocked, vswscanf.
	* libio/iolibio.h: Add libc_hidden_proto for _IO_fputs.
	* libio/fileno.c: Use <stdio.h> and libc_hidden_def.
	* libio/fseek.c: Likewise.
	* libio/fmemopen.c: Include "libioP.h".  Call _IO_fopencookie and
	not fopencookie.
	* libio/genops.c (__uflow): Add libc_hidden_def.
	* libio/iofflush_u.c (fflush_unlocked): Likewise.
	* libio/iofgets_u.c (fgets_unlocked): Likewise.
	* libio/iofputs_u.c (fputs_unlocked): Likewise.
	* libio/iofputws_u.c (fputws_unlocked): Likewise.
	* libio/iofread_u.c (fread_unlocked): Likewise.
	* libio/iofwrite_u.c (fwrite_unlocked): Likewise.
	* libio/iovswscanf.c (vswscanf): Likewise.
	* libio/putwc_u.c (putwc_unlocked): Likewise.
	* libio/iofputs.c: Use libc_hidden_def instead of INTDEF.
	* malloc/malloc.c: Redirect fwrite calls to _IO_fwrite.
	* malloc/mtrace.c: Likewise.

	* sunrpc/clnt_perr.c: Remove fputs macro.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.

	* iconv/Makefile: Add CPPFLAGS definitions with -DNOT_in_libc for
	iconv_prog, linereader, and charmap-dir.
	* locale/Makefile: Likewise for locale and charmap-dir.
	* malloc/Makefile: Likewise for memusagestat.
	* nscd/Makefile: Likewise for nscd, nscd_conf, and dbg_log.
	* sunrpc/Makefile: Likewise for rpc_main.
	* sysdeps/unix/sysv/linux/Makefile: Likewise for lddlibc4.
	* timezone/Makefile: Likewise for zic.

	* stdio-common/perror.c: Avoid multiple calls to fileno_unlocked.

	* elf/dl-addr.c (_dl_addr): Add libc_hidden_def.
	* elf/dl-close.c (_dl_close): Add libc_hidden_def.
	* elf/dl-open.c (_dl_open): Add libc_hidden_def.
	* include/dlfcn.h: Add libc_hidden_proto for _dl_addr, _dl_open,
	_dl_close.

	* include/libio.h: Add libc_hidden_proto for __underflow, __wuflow,
	__wunderflow.
	* libio/genops.c (__underflow): Add libc_hidden_def.
	* libio/wgenops.c (__wuflow): Likewise.
	(__wunderflow): Likewise.

	* include/obstack.h: Add libc_hidden_proto for _obstack_newchunk.
	* malloc/obstack.c (_obstack_newchunk): Add libc_hidden_def.

	* include/stdio.h: Add libc_hidden_proto for __vfscanf.
	* stdio-common/vfscanf.c (__vfscanf): Add libc_hidden_def.

	* include/string.h: Add libc_hidden_proto for __strverscmp.
	* string/strverscmp.c (__strverscmp): Add libc_hidden_def.

	* include/unistd.h: Add libc_hidden_proto for __sysconf.
	* sysdeps/generic/sysconf.c (__sysconf): Add libc_hidden_def.
	* sysdeps/posix/sysconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.

	* include/wctype.h: Use libc_hidden_proto for __iswctype, __iswalnum_l,
	__iswalpha_l, __iswblank_l, __iswcntrl_l, __iswdigit_l, __iswlower_l,
	__iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l,
	__iswxdigit_l, __towlower_l, __towupper_l.
	* wcsmbs/wcstype.c (__iswctype): Use libc_hidden_def.
	* wcsmbs/wcfuncs_l.c: Use libc_hidden_def for all functions.

	* include/sys/wait.h: Add libc_hidden_proto for __xmknod.
	* sysdeps/generic/xmknod.c (__xmknod): Add libc_hidden_def.
	* sysdeps/mach/hurd/xmknod.c: Likewise.
	* sysdeps/unix/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.

	* sunrpc/svc.c: Add missing INTUSE for _authenticate.

2002-08-03  Roland McGrath  <roland@redhat.com>

	* include/sys/resource.h: Use libc_hidden_proto for getpriority,
	setpriority.
	* sysdeps/unix/sysv/linux/getpriority.c: Add libc_hidden_def.
	* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
	* sysdeps/unix/sysv/irix4/setpriority.c: Likewise.
	* sysdeps/mach/hurd/setpriority.c: Likewise.
	* sysdeps/mach/hurd/getpriority.c: Likewise.
	* sysdeps/generic/setpriority.c: Likewise.
	* sysdeps/generic/getpriority.c: Likewise.

	* include/mcheck.h: Use libc_hidden_proto for mcheck_check_all.
	* malloc/mcheck.c: Add libc_hidden_def.

	* include/search.h: Use libc_hidden_proto for hcreate_r, hdestroy_r.
	* misc/hsearch_r.c: Add libc_hidden_def.

	* include/fnmatch.h: Use libc_hidden_proto for fnmatch.
	* posix/fnmatch.c: Add libc_hidden_weak.

	* include/unistd.h: Use libc_hidden_proto for _exit, alarm, confstr,
	execl, execle, execlp, execvp, getpid, getsid.
	* sysdeps/generic/alarm.c: Add libc_hidden_def.
	* sysdeps/unix/alarm.c: Likewise.
	* posix/confstr.c: Likewise.
	* posix/execvp.c: Likewise.
	* posix/execlp.c: Likewise.
	* posix/execle.c: Likewise.
	* posix/execl.c: Likewise.
	* sysdeps/generic/getsid.c: Likewise.
	* sysdeps/mach/hurd/getsid.c: Likewise.
	* sysdeps/generic/getpid.c: Add libc_hidden_weak.
	* sysdeps/mach/hurd/getpid.c: Likewise.

	* include/stdlib.h: Use libc_hidden_proto for ecvt_r, fcvt_r,
	qecvt_r, qfcvt_r, lrand48_r.
	* misc/efgcvt_r.c: Add libc_hidden_def.

	* include/wordexp.h: Use libc_hidden_proto for wordfree.
	* sysdeps/generic/wordexp.c: Add libc_hidden_def.

	* include/langinfo.h: Use libc_hidden_proto for nl_langinfo.
	* locale/nl_langinfo.c: Add libc_hidden_def.

	* include/glob.h: Use libc_hidden_proto for glob, globfree, globfree64.
	* sysdeps/generic/glob.c: Add libc_hidden_def.
	* sysdeps/generic/glob64.c: Likewise.
	* sysdeps/wordsize-64/glob.c (globfree64): Add libc_hidden_weak.

	* locale/nl_langinfo.c: Use _NL_CURRENT_DATA.

	* elf/Makefile (CFLAGS-vismod2.c): New variable.

	* locale/setlocale.c (_nl_current_names): Variable moved ...
	* locale/localename.c (_nl_current_names): ... here, new file.
	Make it global, with attribute_hidden.
	* locale/localeinfo.h: Declare it.
	* locale/Makefile (aux): Add localename.
	* locale/localename.c (__current_locale_name): New function.
	* include/locale.h (__current_locale_name): Declare it.
	* intl/dcigettext.c (guess_category_value): Use that instead of
	calling setlocale.

	* locale/locale.h [__USE_GNU] (locale_t): New type alias of __locale_t.
	[__USE_GNU] (newlocale, duplocale, freelocale, uselocale): New decls.
	[__USE_GNU] (LC_GLOBAL_LOCALE): New macro.
	* locale/newlocale.c: Add alias to __ name.
	* locale/duplocale.c: Likewise.
	* locale/freelocale.c: Likewise.
	* locale/uselocale.c: New file.
	* locale/Makefile (routines): Add it.
	* locale/Versions (libc: GLIBC_2.3): New set.
	Add newlocale, duplocale, freelocale, uselocale.
	(libc: GLIBC_PRIVATE): Add __uselocale.

	* locale/localeinfo.h [SHARED]
	(_NL_CURRENT_LOCALE): New macro, defined to fetch a tsd value.
	(_NL_CURRENT_DATA): Define using that.
	(_NL_CURRENT, _NL_CURRENT_WSTR, _NL_CURRENT_WORD): Define using that.
	(_NL_CURRENT_DEFINE): Define to empty.
	[! SHARED]: Decls of _nl_current_CATEGORY and _nl_current
	conditionalized on this.
	* locale/xlocale.c (NL_C_INTIIALIZER): New macro,
	taking initializer of _nl_C_locobj.
	[SHARED] (_nl_global_locale): New variable, using that initializer.
	(_nl_C_locobj): Use new macro for initialzier.
	* locale/setlocale.c [! SHARED] (_nl_current): Conditionalize on this.
	[! SHARED] (CATEGORY_USED): New macro.
	[SHARED] (CATEGORY_USED, _nl_C): New macros.
	(setdata, setlocale): Use that macro instead of examining _nl_current.
	(setdata): Set the slot in _nl_global_locale.
	Conditionalize setting of _nl_current on [! SHARED].
	* locale/findlocale.c [SHARED] (_nl_C): Define as a macro instead of
	declaration as an extern.
	* locale/newlocale.c (__newlocale): Use _nl_C_locobj instead of _nl_C.

	* include/locale.h: Use libc_hidden_proto for setlocale.
	* locale/setlocale.c: Add libc_hidden_def.

	* locale/setlocale.c (free_mem): Use _NL_CURRENT_DATA.

	* include/search.h: Use libc_hidden_proto for hsearch_r, lfind.
	* misc/hsearch_r.c: Add libc_hidden_def.
	* misc/lsearch.c: Likewise.

	* include/ttyent.h: Use libc_hidden_proto for getttyent, setttyent,
	endttyent.
	* misc/getttyent.c: Add libc_hidden_def.

	* include/mcheck.h: Use libc_hidden_proto for mcheck.
	* malloc/mcheck.c: Add libc_hidden_def.

	* include/envz.h: Use libc_hidden_proto for envz_entry, enz_remove.
	* include/argz.h: Use libc_hidden_proto for argz_delete.
	* string/argz-delete.c: Add libc_hidden_def.
	* string/envz.c: Likewise.  Use <envz.h>, not "envz.h".

	* sysdeps/unix/sysv/linux/x86_64/clone.S (thread_start): Use
	HIDDEN_JUMPTARGET for _exit.
	* sysdeps/unix/sysv/linux/m68k/clone.S (thread_start): Likewise.
	* sysdeps/unix/sysv/linux/i386/clone.S (thread_start): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise.
	* sysdeps/unix/_exit.S (_exit): Add libc_hidden_def.

	* include/libc-symbols.h: Fix [__ASSEMBLY__] -> [__ASSEMBLER__].
	[__ASSEMBLER__] (hidden_weak): Define using hidden_def, or to empty.
	[__ASSEMBLER__] (HIDDEN_JUMPTARGET): New macro.
	* sysdeps/unix/sysv/linux/i386/makecontext.S: Use it for exit.

	* include/stdlib.h: Use libc_hidden_proto for abort,
	__strtof_internal, __strtod_internal, __strtold_internal,
	__strtol_internal, __strtoll_internal, __strtoul_internal,
	__strtoull_internal. __strtof_l_internal, __strtod_l_internal,
	__strtold_l_internal, __strtol_l_internal, __strtoll_l_internal,
	__strtoul_l_internal, __strtoull_l_internal.
	* include/wchar.h: Use libc_hidden_proto for __wcstof_internal,
	__wcstod_internal, __wcstold_internal, __wcstol_internal,
	__wcstoll_internal, __wcstoul_internal, ____wcstof_l_internal,
	____wcstod_l_internal, ____wcstold_l_internal, ____wcstol_l_internal,
	____wcstoll_l_internal, ____wcstoul_l_internal, __wcscasecmp_l,
	__wcsncasecmp_l.
	* sysdeps/generic/abort.c: Add libc_hidden_def.
	* stdlib/strtod.c: Likewise.
	* sysdeps/generic/strtol.c: Likewise.
	* sysdeps/wordsize-64/strtol.c: Likewise.
	* sysdeps/wordsize-64/wcstol.c: Likewise.
	* sysdeps/wordsize-64/wcstol_l.c: Likewise.

	* include/stdlib.h: Use libc_hidden_proto for qsort.
	* stdlib/msort.c: Add libc_hidden_def.

	* include/utime.h: Use libc_hidden_proto for utime.
	* sysdeps/generic/utime.c: Add libc_hidden_def.
	* sysdeps/unix/utime.c: Likewise.

	* sysdeps/generic/utmp_file.c (LOCK_FILE): sigemptyset -> __sigemptyset
	* sysdeps/posix/profil.c (__profil): sigfillset -> __sigfillset
	* sysdeps/posix/sprofil.c (__sprofil): Likewise.
	* shadow/lckpwdf.c (__lckpwdf): Likewise (both).
	* sysdeps/posix/spawni.c (__spawni): sigismember -> __sigismember

	* include/signal.h: Use libc_hidden_proto for raise, sigemptyset,
	sigfillset, sigismember, __sigpause, __libc_current_sigrtmin,
	and __libc_current_sigrtmax.
	* signal/sigismem.c: Add libc_hidden_def.
	* signal/sigfillset.c: Likewise.
	* signal/sigempty.c: Likewise.
	* sysdeps/generic/sigpause.c (__sigpause): Likewise.
	* sysdeps/posix/sigpause.c (__sigpause): Likewise.
	* sysdeps/unix/bsd/osf/alpha/sigpause.S: Likewise.
	* sysdeps/posix/raise.c: Likewise.
	* sysdeps/generic/raise.c: Likewise.

2002-08-03  Ulrich Drepper  <drepper@redhat.com>

	* include/string.h: Use libc_hidden_proto for __stpcpy.
	* sysdeps/alpha/stpcpy.S (__stpcpy): Add libc_hidden_def.
	* sysdeps/alpha/alphaev67/stpcpy.S: Likewise.
	* sysdeps/generic/stpcpy.c: Likewise.
	* sysdeps/i386/stpcpy.S: Likewise.
	* sysdeps/i386/i586/stpcpy.S: Likewise.
	* sysdeps/powerpc/stpcpy.S: Likewise.
	* sysdeps/sparc/sparc32/stpcpy.S: Likewise.
	* sysdeps/sparc/sparc64/stpcpy.S: Likewise.

	* include/string.h: Use libc_hidden_proto for __strcasecmp_l,
	__strncasecmp_l, __strdup, __strndup, __strerror_r.
	* sysdeps/generic/strcasecmp_l.c (__strcasecmp_l): Add
	libc_hidden_def.
	* string/strdup.c (__strdup): Likewise.
	* string/strndup.c (__strndup): Likewise.
	* sysdeps/generic/_strerror.c (__strerror_r): Likewise.
	* sysdeps/generic/strncase_l.c (__strncasecmp_l): Likewise.

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

	* include/libio.h: New file.
	* libio/libioP.h (__overflow, __woverflow): Remove libc_hidden_proto.
	* libio/iolibio.h: #include <libio.h>, not "libio.h".
	* sysdeps/generic/morecore.c (__sbrk): Add libc_hidden_proto.
	* sysdeps/unix/bsd/syscalls.list: Remove all __GI_* aliases.
	* sysdeps/unix/common/syscalls.list: Likewise.
	* sysdeps/unix/inet/syscalls.list: Likewise.
	* sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: Likewise.
	* sysdeps/unix/syscalls.list: Likewise.

2002-08-03  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (public_cALLOc): Only divide if at least one of
	the arguments is big enough to cause an overflow.

2002-08-03  Ulrich Drepper  <drepper@redhat.com>

	* assert/assert.c: Use hidden_def not INTDEF.

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

	* include/libc-symbols.h: Optimize if HAVE_BROKEN_ALIAS_ATTRIBUTE is
	not defined.

2002-08-03  Roland McGrath  <roland@redhat.com>

	* include/sys/syslog.h: Use libc_hidden_proto for syslog, vsyslog.
	* include/err.h: Use libc_hidden_proto for warn, warnx, vwarn, vwarn,
	verr, verrx.
	* include/stdlib.h: Use libc_hidden_proto for exit, getenv, bsearch.
	* misc/syslog.c: Add libc_hidden_def.
	* misc/err.c: Likewise.
	* stdlib/exit.c: Likewise.
	* stdlib/bsearch.c: Likewise.
	* sysdeps/generic/getenv.c: Likewise.

	* include/libc-symbols.h (hidden_weak): Define it for [__ASSEMBLER__].

	* sysdeps/unix/make-syscalls.sh: Generate libc_hidden_def or
	libc_hidden_weak for every system call symbol defined.

	* include/time.h: Use libc_hidden_proto for time, asctime, mktime,
	timelocal, localtime, strftime.
	* time/asctime.c: Add libc_hidden_def.
	* time/mktime.c: Likewise.
	* time/localtime.c: Likewise.
	* time/strftime.c: Likewise.
	* time/strptime.c: Likewise.
	* sysdeps/generic/time.c: Likewise.
	* sysdeps/unix/time.c: Likewise.
	* sysdeps/unix/sysv/i386/time.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/time.S: Likewise.

	* include/arpa/inet.h: Use libc_hidden_proto for inet_ntop, inet_pton.
	inet_makeaddr, inet_netof, inet_addr, __inet_addr.
	* resolv/inet_ntop.c: Likewise.
	* resolv/inet_pton.c: Likewise.
	* inet/inet_mkadr.c: Add libc_hidden_def.
	* inet/inet_netof.c: Likewise.
	* resolv/inet_addr.c: Likewise.

	* include/libc-symbols.h: Remove `defined HAVE_BROKEN_ALIAS_ATTRIBUTE'
	clauses from conditionals for now.  Will have to be fixed later
	for older compilers.

	* sysdeps/generic/mempcpy.c (__mempcpy): #undef it before defn.

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.

2002-08-02  Roland McGrath  <roland@frob.com>

	* elf/Makefile ($(objpfx)interp.os): Depend on config.make,
	since it sets the variables we use in a -D switch.

2002-08-02  Roland McGrath  <roland@redhat.com>

	* posix/bits/posix1_lim.h (SSIZE_MAX): Define to LONG_MAX, not INT_MAX.
	On 32-bit platforms they are the same; on 64-bit platforms ssize_t
	matches long int, not int.

	* locale/localeinfo.h (_NL_CURRENT_DATA): New macro.
	* wcsmbs/wcsmbsload.h (update_conversion_ptrs): Use it.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
	* wctype/wctrans.c (wctrans): Likewise.
	* wctype/wctype.c (__wctype): Likewise.
	* intl/loadmsgcat.c (_nl_init_domain_conv): Use _NL_CURRENT.

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

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

	* include/rpc/rpc.h: Declare RPC_VARS tsd as extern.
	* sunrpc/rpc_thread.c: Define it without static.
	* 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>

	* locale/iso-639.def: Add entries for Venda and Nothern Sotho.
	Reported by Dwayne Bailey <dwayne@obsidian.co.za>.

	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Adapt
	previous patch.

2002-06-29  Todd Fries  <todd@openbsd.org>

	* resolv/gethnamaddr.c (gethostbyaddr): Try ip6.int if ip6.arpa fails.

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

	* include/errno.h: Don't include tls.h if _ISOMAC is defined.

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

	* resolv/resolv.h (_res): Define macro unconditionally.
	[! _LIBC_REENTRANT] (_res): Move this conditional decl to ...
	* include/resolv.h: ... here.
	[USE_TLS && HAVE___THREAD] (_res): #undef it and declare
	as a __thread variable.
	* resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as
	a __thread variable instead of a global.
	* resolv/res_data.c [_LIBC]: Don't #undef _res.

	* include/errno.h: Include <tls.h> to make sure USE_TLS defined by the
	time we test it.

	* intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it.

	* malloc/malloc.c [_LIBC]: Include <string.h> instead of using local
	decls of memset and memcpy.

	* sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__].
	* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise.

	* elf/dl-load.c (_dl_map_object_from_fd): Comment fix.

	* sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD]
	(__libc_tsd_define): Define using __thread.

	* sunrpc/rpc_thread.c: Use __libc_tsd_define.
	(__rpc_thread_variables): Use __libc_tsd_get.
	(__rpc_thread_destroy): Use __libc_tsd_get instead of calling
	__rpc_thread_variables, which might allocate what we're about to free.

	* inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a
	thread-local variable.
	* resolv/netdb.h (h_errno): Define macro unconditionally.
	[_LIBC] (__set_h_errno): Macro moved to ...
	* include/netdb.h: ... here.
	[USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable.
	[USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that.
	[! _LIBC_REENTRANT]: #undef h_errno here.

	* include/errno.h: Protect from multiple inclusion.

	* misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these
	before defining them, since Linux's <linux/posix_types.h> might have
	defined them.

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

	* malloc/malloc.c (public_cALLOc): Check for overflow on
	multiplication.
	* sunrpc/xdr_array.c (xdr_array): Likewise.
	* sunrpc/rpc/types.h (mem_free): Add comment.
	Patch by Solar Designer <solar@openwall.com>.

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

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_SET_THREAD_AREA_SYSCALL): Define.

2002-08-01  Roland McGrath  <roland@redhat.com>

	* libio/fileops.c (_IO_file_sync_mmap): New function.
	(_IO_file_jumps_mmap): Use it.
	(_IO_file_underflow_mmap): Rewritten.  If after EOF or fflush,
	repeat the stat check and resize the mapped buffer as necessary.

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

	* libio/fileops.c (decide_maybe_mmap): New static function.
	Code taken from libio/iofopen.c:__fopen_maybe_mmap to try to
	mmap the file contents.  Then switch the jump tables to the mmap
	tables if it worked, or the vanilla file tables if not.
	(_IO_file_underflow_maybe_mmap): New function.
	(_IO_file_seekoff_maybe_mmap): New function.
	(_IO_file_xsgetn_maybe_mmap): New function.
	(_IO_file_jumps_maybe_mmap): New variable, jump table using those.
	* libio/libioP.h: Declare those.
	* libio/wfileops.c (_IO_wfile_underflow_maybe_mmap): New function.
	(_IO_wfile_jumps_maybe_mmap): New variable, jump table using that.
	* libio/iofopen.c (__fopen_maybe_mmap): Don't try to mmap here.
	If the stream is read-only, set its jump tables to those new ones.
	* libio/iofdopen.c (_IO_new_fdopen) [_G_HAVE_MMAP]: Set the initial
	jump tables to the maybe_mmap ones, and don't call __fopen_maybe_mmap.
	We need the tables set before _IO_file_attach.

	* libio/tst-mmap-eofsync.c: New file.
	* libio/tst-mmap-fflushsync.c: New file.
	* libio/bug-mmap-fflush.c: New file.
	* libio/tst-mmap2-eofsync.c: New file.
	* libio/Makefile (tests): Add them.

	* libio/wfileops.c (_IO_wfile_underflow_mmap): Don't set EOF bit when
	_IO_file_underflow_mmap fails, it already set the appropriate bit.

2002-07-31  Jeff Bailey  <jbailey@gnu.org>

	* libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
	Declarations moved to <bits/sys_errlist.h>.  Include that file.
	* libio/Makefile (headers): Add bits/sys_errlist.h to the list.
	* sysdeps/generic/bits/sys_errlist.h: New file.  This does *not*
	declare sys_errlist and sys_nerr.
	* sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file.  Does
	provide declarations.

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

	* elf/rtld.c (dl_main): Fix typo in error message.

2002-07-31  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): __fxstat -> __fxstat64,
	__xstat -> __xstat64, __lseek -> __libc_lseek64.  Completes 2002-06-09
	sysdeps/mach/hurd/dl-sysdep.c change.

2002-07-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/configure.in: Check /lib/modules/`uname
	-r`/build/include for kernel headers.

	* po/fi.po: New file.

2002-07-15  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (static_nss): Set to `yes' if --disable-shared.

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

	* intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN
	is set.

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

	* sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file.
	* sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter
	arguments.

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

	* sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add
	alias.

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

	* intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro.
	* intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments,
	sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset,
	trans_sysdep_tab_offset.
	(struct sysdep_segment): New type.
	(struct sysdep_string): New type.
	(SEGMENTS_END): New macro.
	* intl/gettextP.h (struct sysdep_string_desc): New type.
	(struct loaded_domain): New fields malloced, n_sysdep_strings,
	orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields
	orig_tab, trans_tab, hash_tab to const pointers because they point
	into read-only memory.
	* intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h.
	(PRI*): Define fallback values.
	(get_sysdep_segment_value): New function.
	(_nl_load_domain): Distinguish major and minor revision parts. Add
	support for minor revision 1 with system dependent strings.
	(_nl_unload_domain): Also free the 'malloced' field.
	* intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size,
	now done in loadmsgcat.c. Add support for system dependent strings.

2002-07-16  Stepan Kasal  <kasal@math.cas.cz>

	* posix/bug-regex7.c: New file.
	* posix/bug-regex8.c: New file.
	* posix/Makefile (tests): Add bug-regex7 and bug-regex8.

2002-07-16  Stepan Kasal  <kasal@math.cas.cz>

	* posix/bug-regex4.c (main): Fix typos.
	* posix/bug-regex6.c (main): Likewise.

2002-07-27  Ulrich Drepper  <drepper@redhat.com>

	* posix/bug-regex6.c (main): Fix warnings.

	* iconvdata/Makefile (CPPFLAGS): Add NOT_IN_libc.

	* iconv/iconv_prog.c (main): Improve error message for the cases
	where -t and/or -f parameter are missing.

2002-07-10  Stepan Kasal  <kasal@math.cas.cz>

	* posix/regexec.c (re_match): Reorganize to remove duplicate code.
	(re_search): Likewise.
	(re_match_2): Likewise.
	(re_search_2): Likewise.
	(re_search_stub): New function.
	(re_search_2_stub): New function.
	* regcomp.c (re_compile_pattern): Typo in a comment fixed.

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

	* posix/regex_internal.h: Add new member STOP to struct re_string_t.
	(re_string_eoi): Use STOP instead of LEN.
	* posix/regex_internal.c (re_string_allocate): Initialize pstr->len.
	(re_string_construct): Likewise.
	(re_string_reconstruct): Adjust pstr->stop like pstr->len.
	* posix/regexec.c (re_search_internal): Add a new argument STOP
	so that it can handle the argument STOP of re_search_2 and re_match_2
	correctly.
	(regexec): Adapt to new I/F of re_search_internal.
	(re_search_stub): Likewise.

2002-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/clnt_gen.c: Don't include <sys/errno.h>.

	* elf/dl-minimal.c: Remove definition of __assert_perror_fail.

	* sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal.
	* sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead
	of __divdi3.

	* sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal.
	* sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal
	alias for adjtimex syscall.

	* elf/dl-minimal.c: Define __assert_fail_internal.
	* assert/assert.c: Likewise.
	* include/assert.h: Define __assert_file macro if !SHARED and not
	NOT_IN_libc.

	* iconv/Makefile: Define NOT_IN_libc for objects in standalone
	programs.
	* locale/Makefile: Likewise.
	* nscd/Makefile: Likewise.
	* catgets/Makefile: Likewise.

2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* libio/fileops.c (_IO_file_seekoff_mmap): Do use fp->_offset to
	compute current position.

	* stdio-common/tst-fseek.c (main): Improve error messages.

	* libio/tst-freopen.c (main): Remove unused variable.

	* libio/fileops.c (_IO_file_seekoff_mmap): Set fp->_offset after
	succesful seek call.  Simplify error checking.

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

	* config.h.in: Use __ASSEMBLER__ test macro not ASSEMBLER.
	* sysdeps/ia64/fpu/libm_support.h: Likewise.

2002-07-19  Roland McGrath  <roland@frob.com>

	* hurd/hurdsig.c (_hurdsig_getenv): Always return null if
	__libc_enable_secure is set.

2002-07-24  Roland McGrath  <roland@frob.com>

	Added <ifaddrs.h> interface with functions `getifaddrs', `freeifaddrs'.
	This implementation supports only IPv4.
	* inet/ifaddrs.h: New file.
	* sysdeps/generic/ifaddrs.c: New file.
	* sysdeps/gnu/ifaddrs.c: New file.
	* inet/test-ifaddrs.c: New file.
	* inet/Makefile (routines): Add ifaddrs.
	(headers): Add ifaddrs.h here.
	(tests): Add test-ifaddrs.
	* inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs.

	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit
	socket call to get an AF_INET socket, instead of using __opensock.
	The SIOCGIFNETMASK ioctl will work only with a PF_INET socket.

	* sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD,
	if not -1 use it instead of calling __opensock.
	* sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
	* sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it.
	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument.

	* sysdeps/mach/hurd/ifreq.h: New file.
	* sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS.
	* sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise.
	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller.

	* libio/fileops.c (_IO_file_seekoff_mmap): Don't rely on FP->_offset,
	which gets moved around.  Calculate size of mmap'd buffer instead.

2002-07-24  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/arm/brk.S: Improve schedule.
	* sysdeps/unix/sysv/linux/arm/socket.S (PUSHARGS_1): Use more
	efficient instruction.
	(__socket): Optimize return sequence.

2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Prefer inet
	sockets on old kernels.

2002-07-22  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias
	definiton of _old_sys_nerr.  Define _old_sys_errlist as strong
	alias.

2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* locale/hashval.h: Make more self-contained by defining LONG_BITS.
	* locale/programs/simple-hash.c: Remove LONG_BITS definition.

	* locale/programs/locarchive.c (add_locale_to_archive): Correct
	test to detect duplicate locales.

	* libio/fileops.c (_IO_new_file_seekoff): Fail if relative
	position would be before beginning of file.
	(_IO_file_seekoff_mmap): Likewise.
	* libio/Makefile (tests): Add bug-fseek.
	* libio/bug-fseek.c: New file.

	* intl/explodename.c: Remove support for CEN-style locale variables.
	It was never used and shouldn't be since it's not portable.
	* intl/finddomain.c: Likewise.
	* intl/l10nflist.c: Likewise.
	* intl/loadinfo.h: Likewise.
	* locale/findlocale.c: Likewise.

2002-07-24  Roland McGrath  <roland@frob.com>

	* libio/fileops.c (_IO_file_seekoff_mmap): When just examining the
	position, calculate it to take into account an active pushback buffer.

	* libio/Makefile (tests): Add bug-ungetc.
	* libio/bug-ungetc.c: New file.

2002-07-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/libc-tls.c: New file.
	* csu/Makefile (routines): Add libc-tls.
	(static-only-routines): Add libc-tls.
	* elf/dl-support.c (_dl_phdr): New variable.
	(_dl_phnum): New variable.
	(_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector.
	* sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code
	for !SHARED.  First look through auxiliary vector.  If TLS always
	call __pthread_initialize_minimal.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument
	in mmap call is never zero.

2002-07-23  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/fpu/s_copysign.S: Use optimized version.
	* sysdeps/x86_64/fpu/s_copysignf.S: Likewise.

2002-07-22  Ulrich Drepper  <drepper@redhat.com>

	* libio/tst-eof.c: Rewrite to let test-skeleton.c deal with
	creation and removal of the temp file.

	* libio/bug-rewind.c: Use test skeleton.  Use create_temp_file for
	file creation.
	* test-skeleton.c (create_temp_file): New function.

2002-07-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/dl-machine.h (elf_machine_load_address): Use
	local label.

2002-07-21  Roland McGrath  <roland@frob.com>

	* wcsmbs/Makefile (strtox-CFLAGS): New variable,
	put -I../include before -I../stdlib so we get the right errno.h et al.
	(CFLAGS-wcstod.c): Use that variable instead of -I../stdlib.
	(CFLAGS-wcstof.c): Likewise.
	(CFLAGS-wcstold.c): Likewise.
	(CFLAGS-wcstod_l.c): Likewise.
	(CFLAGS-wcstof_l.c): Likewise.
	(CFLAGS-wcstold_l.c): Likewise.

2002-07-19  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/errnos.awk: Remove __set_errno defn from output.

2002-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define if
	__ASSUME_AT_XID is defined.
	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_XID): Define
	for 2.4.1 and up.
	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Optimize handling
	of AT_UID, AT_EUID, AT_GID, and AT_EGID.

	* wcsmbs/Makefile (CFLAGS-wcstod.c): Add -I../stdlib.
	(CFLAGS-wcstof.c): Likewise.
	(CFLAGS-wcstold.c): Likewise.
	(CFLAGS-wcstod_l.c): Likewise.
	(CFLAGS-wcstof_l.c): Likewise.
	(CFLAGS-wcstold_l.c): Likewise.

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

	* resource/sys/resource.h (__rlimit_resource_t, __rusage_who_t,
	__priority_which_t): Always typedef to int for C++.

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-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/bits/mman.h: Fix MS_SYNC and
	MS_INVALIDATE values.

2002-07-17  Andreas Schwab  <schwab@suse.de>
	    Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/pread.c: Sign extend offset.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.

2002-07-01  H.J. Lu  <hjl@gnu.org>

	* elf/circleload1.c (load_dso): Call "circlemod1" and check
	return value.

	* elf/circlemod1.c (circlemod1): Return int.
	* elf/circlemod2.c (circlemod2): Likewise.
	* elf/circlemod2a.c (circlemod2): Likewise.
	* elf/circlemod3.c (circlemod3): Likewise.
	(circlemod3a): A new function.

2002-07-16  Ulrich Drepper  <drepper@redhat.com>

	* catgets/tst-catgets.c (main): Don't expect results for
	untranslated messages.

	* glibcbug.in: Fix little typo.  Remove STDIO.

	* config.h.in: Fail if __FAST_MATH__ is defined.
	* math/Makefile (CPPFLAGS-test-ifloat.c): Also define TEST_FAST_MATH.
	(CPPFLAGS-test-idouble.c): Likewise.
	(CPPFLAGS-test-ildouble.c): Likewise.

2002-07-15  Ulrich Drepper  <drepper@redhat.com>

	* intl/tst-gettext.sh: Pass -f option to msgfmt.
	* intl/tst-gettext.c: Correctly handle untranslated messages in
	positive tests.

	* po/de.po: Update from translation team.

2002-07-02  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/atomicity.h: Don't include <sgidefs.h>.  Always
	use ll/sc.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.

	* sysdeps/unix/sysv/linux/configure.in: Set arch_minimum_kernel
	to 2.4.0 for mips.

2002-07-15  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): If loaded object uses
	TLS fail if USE_TLS is not defined.

	* libio/wfileops.c (_IO_wfile_seekoff): Reposition wide pointers
	and adjust state for seek position.  [PR libc/4070]
	* libio/Makefile (tests): Add bug-rewind.
	* libio/bug-rewind.c: New file.

2002-07-12  Philip Blundell  <philb@gnu.org>

	* sysdeps/generic/backtrace.c (FIRST_FRAME_POINTER): New macro.
	(__backtrace): Use it.
	* sysdeps/arm/frame.h (FIRST_FRAME_POINTER): Define.  [PR libc/2632]

2002-07-12  Philip Blundell  <philb@gnu.org>

	* sysdeps/arm/dl-machine.h (elf_machine_rel): Don't handle
	R_ARM_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC.  Only check
	for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined.
	(elf_machine_rela): Remove unused variable.

	* sysdeps/unix/sysv/linux/arm/Makefile [subdir=elf]
	(sysdep-rtld-routines, sysdep_routines, sysdep-dl-routines): Don't
	define.

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

	* iconvdata/gconv-modules: Add aliases for ISO-8859-11.

2002-07-14  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/bits/link.h: Add biarch support.

2002-07-13  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/mips/register-dump.h (register_dump):
	Use correct indices.
	Patch by Eliot Dresselhaus <eliot@ayrnetworks.com>.

2002-07-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/bits/byteswap.h: Unified 31/64 bit byteswap.h.
	* sysdeps/s390/s390-32/bits/byteswap.h: Remove.
	* sysdeps/s390/s390-64/bits/byteswap.h: Remove.
	* sysdeps/s390/bits/link.h: Unified 31/64 bit link.h.
	* sysdeps/s390/s390-32/bits/link.h: Remove.
	* sysdeps/s390/s390-64/bits/link.h: Remove.
	* sysdeps/s390/bits/setjmp.h: Unified 31/64 bit setjmp.h.
	* sysdeps/s390/s390-32/bits/setjmp.h: Remove.
	* sysdeps/s390/s390-64/bits/setjmp.h: Remove.
	* sysdeps/s390/bits/wordsize.h: New file.
	* sysdeps/unix/sysv/linux/s390/bits/elfclass.h: Unified 31/64 bit
	elfclass.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Unified 31/64 bit fcntl.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/ipc.h: Unified 31/64 bit ipc.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/mman.h: Unified 31/64 bit mman.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/msq.h: Unified 31/64 bit msq.h.
	* ysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/resource.h: Unified 31/64 bit
	resource.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/sem.h: Unified 31/64 bit sem.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/shm.h: Unified 31/64 bit shm.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Unified 31/64 bit
	sigaction.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Unified 31/64 bit
	siginfo.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/socket.h: Unified 31/64 bit
	socket.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Unified 31/64 bit stat.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: Remove.
	* sysdeps/unix/sysv/linux/s390/bits/types.h: Unified 31/64 bit types.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: Remove.
	* sysdeps/unix/sysv/linux/s390/net/route.h: New file.
	* sysdeps/unix/sysv/linux/s390/sys/procfs.h: Unified 31/64 bit
	procfs.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: Remove.
	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Unified 31/64 bit
	ucontext.h.
	* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Remove.

2002-07-11  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def (libc): Add GLIBC_2.3.
	* stdlib/Versions [libc] (GLIBC_2.3): Add realpath.
	* stdlib/canonicalize.c: Add compatibility version for realpath
	and make new code available in GLIBC_2.3.

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

	* malloc/hooks.c (public_gET_STATe): Access max_total_mem in mp_.

2002-07-11  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_hconf.c (_res_hconf_init): Move code into new
	function do_init.  Use __libc_once.
	(do_init): New function.

	* iconvdata/iso8859-11.h: Removed.
	* iconvdata/Makefile (gen-8bit-gap-modules): Add iso8859-11.
	(distribute): Remove iso8859-11.h.
	* iconvdata/tst-tables.sh: Add ISO-8859-11.

	* stdio-common/vfscanf.c (inchar): Restore errno from previous
	underflow operation if c == (W)EOF.

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

	* stdio-common/printf_fp.c (__printf_fp): If _FPIO_CONST_SHIFT is
	non-zero, adjust exponent.
	* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfl, erfl, __erfcl, erfcl):
	Remove NO_LONG_DOUBLE aliases.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l, expm1l): Likewise.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl, log1pl): Likewise.
	(__log1pl): Raise divide by zero and invalid exceptions when needed.
	* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Special case
	1**y and -1**+-Inf.
	* sysdeps/ieee754/ldbl-128/ldbl2mpn.c (__mpn_extract_long_double):
	Fix BITS_PER_MP_LIMB 32 extraction.
	* sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Don't raise
	exceptions for qNaNs.
	* sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise.
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgamma_r):
	Raise exceptions when needed.  Don't recurse unnecessarily.
	Special case 1.0L and 2.0L arguments to avoid -0.0L as result.
	* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Don't raise
	exceptions for qNaNs.
	* sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Make qs 64-bit
	to fix *quo return value sign.
	* sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gamma_r): Special
	case -Inf argument.
	* soft-fp/op-4.h (_FP_FRAC_CLZ_4): Fix a pasto.

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

	* libio/tst-eof.c (do_test): Remove unused ch and tm variables.
	* iconvdata/iso-2022-jp-3.c (EMIT_SHIFT_TO_INIT): Kill warnings if
	-DNDEBUG.

2002-07-10  Ulrich Drepper  <drepper@redhat.com>

	* 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>

	* Versions.def [libpthread]: Add GLIBC_2.2.6.
	* posix/Versions [libc] (GLIBC_2.2.6): Add __nanosleep.

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

	* sysdeps/unix/sysv/sysv4/bits/sigset.h (__NSSBITS): Correct value.

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

	* include/sys/socket.h (__libc_sendto, __libc_recvfrom): New
	declarations.

	* 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  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/elf/initfini.c (__asm__): Call call_gmon_start.

2002-07-08  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/fpu/s_fdiml.S: Fix wrong register name.

2002-07-06  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/fpu/bits/mathinline.h: New file.
	* sysdeps/x86_64/fpu/s_copysign.S: New file.
	* sysdeps/x86_64/fpu/s_copysignf.S: New file.
	* sysdeps/x86_64/fpu/s_copysignl.S: New file.
	* sysdeps/x86_64/fpu/s_finitel.S: New file.
	* sysdeps/x86_64/fpu/s_fmax.S: New file.
	* sysdeps/x86_64/fpu/s_fmaxf.S: New file.
	* sysdeps/x86_64/fpu/s_fmaxl.S: New file.
	* sysdeps/x86_64/fpu/s_fmin.S: New file.
	* sysdeps/x86_64/fpu/s_fminf.S: New file.
	* sysdeps/x86_64/fpu/s_fminl.S: New file.

2002-06-05  Brian Youmans <3diff@gnu.org>

	* sysdeps/ia64/fpu/e_acos.S: Added text of Intel license.
	* sysdeps/ia64/fpu/e_acosf.S: Likewise.
	* sysdeps/ia64/fpu/e_acosl.S: Likewise.
	* sysdeps/ia64/fpu/e_asin.S: Likewise.
	* sysdeps/ia64/fpu/e_asinf.S: Likewise.
	* sysdeps/ia64/fpu/e_asinl.S: Likewise.
	* sysdeps/ia64/fpu/e_atan2.S: Likewise.
	* sysdeps/ia64/fpu/e_atan2f.S: Likewise.
	* sysdeps/ia64/fpu/e_cosh.S: Likewise.
	* sysdeps/ia64/fpu/e_coshf.S: Likewise.
	* sysdeps/ia64/fpu/e_coshl.S: Likewise.
	* sysdeps/ia64/fpu/e_exp.S: Likewise.
	* sysdeps/ia64/fpu/e_expf.S: Likewise.
	* sysdeps/ia64/fpu/e_fmod.S: Likewise.
	* sysdeps/ia64/fpu/e_fmodf.S: Likewise.
	* sysdeps/ia64/fpu/e_fmodl.S: Likewise.
	* sysdeps/ia64/fpu/e_hypot.S: Likewise.
	* sysdeps/ia64/fpu/e_hypotf.S: Likewise.
	* sysdeps/ia64/fpu/e_hypotl.S: Likewise.
	* sysdeps/ia64/fpu/e_log.S: Likewise.
	* sysdeps/ia64/fpu/e_logf.S: Likewise.
	* sysdeps/ia64/fpu/e_pow.S: Likewise.
	* sysdeps/ia64/fpu/e_powf.S: Likewise.
	* sysdeps/ia64/fpu/e_powl.S: Likewise.
	* sysdeps/ia64/fpu/e_remainder.S: Likewise.
	* sysdeps/ia64/fpu/e_remainderf.S: Likewise.
	* sysdeps/ia64/fpu/e_remainderl.S: Likewise.
	* sysdeps/ia64/fpu/e_scalb.S: Likewise.
	* sysdeps/ia64/fpu/e_scalbf.S: Likewise.
	* sysdeps/ia64/fpu/e_scalbl.S: Likewise.
	* sysdeps/ia64/fpu/e_sinh.S: Likewise.
	* sysdeps/ia64/fpu/e_sinhf.S: Likewise.
	* sysdeps/ia64/fpu/e_sinhl.S: Likewise.
	* sysdeps/ia64/fpu/e_sqrt.S: Likewise.
	* sysdeps/ia64/fpu/e_sqrtf.S: Likewise.
	* sysdeps/ia64/fpu/e_sqrtl.S: Likewise.
	* sysdeps/ia64/fpu/libm_atan2_req.S: Likewise.
	* sysdeps/ia64/fpu/libm_error.c: Likewise.
	* sysdeps/ia64/fpu/libm_frexp4.S: Likewise.
	* sysdeps/ia64/fpu/libm_frexp4f.S: Likewise.
	* sysdeps/ia64/fpu/s_frexpl.c: Likewise.
	* sysdeps/ia64/fpu/s_ilogb.S: Likewise.
	* sysdeps/ia64/fpu/s_ilogbf.S: Likewise.
	* sysdeps/ia64/fpu/s_ilogbl.S: Likewise.
	* sysdeps/ia64/fpu/s_ldexp.S: Likewise.
	* sysdeps/ia64/fpu/s_ldexpf.S: Likewise.
	* sysdeps/ia64/fpu/s_ldexpl.S: Likewise.
	* sysdeps/ia64/fpu/s_log1p.S: Likewise.
	* sysdeps/ia64/fpu/s_log1pf.S: Likewise.
	* sysdeps/ia64/fpu/s_log1pl.S: Likewise.
	* sysdeps/ia64/fpu/s_logb.S: Likewise.
	* sysdeps/ia64/fpu/s_logbf.S: Likewise.
	* sysdeps/ia64/fpu/s_logbl.S: Likewise.
	* sysdeps/ia64/fpu/s_modf.S: Likewise.
	* sysdeps/ia64/fpu/s_modff.S: Likewise.
	* sysdeps/ia64/fpu/s_modfl.S: Likewise.
	* sysdeps/ia64/fpu/s_nearbyint.S: Likewise.
	* sysdeps/ia64/fpu/s_nearbyintf.S: Likewise.
	* sysdeps/ia64/fpu/s_nearbyintl.S: Likewise.
	* sysdeps/ia64/fpu/s_rint.S: Likewise.
	* sysdeps/ia64/fpu/s_rintf.S: Likewise.
	* sysdeps/ia64/fpu/s_rintl.S: Likewise.
	* sysdeps/ia64/fpu/s_round.S: Likewise.
	* sysdeps/ia64/fpu/s_roundf.S: Likewise.
	* sysdeps/ia64/fpu/s_roundl.S: Likewise.
	* sysdeps/ia64/fpu/s_scalbn.S: Likewise.
	* sysdeps/ia64/fpu/s_scalbnf.S: Likewise.
	* sysdeps/ia64/fpu/s_scalbnl.S: Likewise.
	* sysdeps/ia64/fpu/s_significand.S: Likewise.
	* sysdeps/ia64/fpu/s_significandf.S: Likewise.
	* sysdeps/ia64/fpu/s_significandl.S: Likewise.
	* sysdeps/ia64/fpu/s_tan.S: Likewise.
	* sysdeps/ia64/fpu/s_tanf.S: Likewise.
	* sysdeps/ia64/fpu/s_tanl.S: Likewise.
	* sysdeps/ia64/fpu/s_trunc.S: Likewise.
	* sysdeps/ia64/fpu/s_truncf.S: Likewise.
	* sysdeps/ia64/fpu/s_truncl.S: Likewise.
	* sysdeps/ieee754/dbl-64/doasin.c: Changed copyright notice to
	reflect IBM donation of math library to FSF
	* sysdeps/ieee754/dbl-64/dosincos.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_asin.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_atan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_exp.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_log.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_pow.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_remainder.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/halfulp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpa.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpatan2.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/mplog.c: Likewise.
	* sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise.
	* sysdeps/ieee754/dbl-64/mptan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_atan.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
	* sysdeps/ieee754/dbl-64/sincos32.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowexp.c: Likewise.
	* sysdeps/ieee754/dbl-64/slowpow.c: Likewise.
	* sysdeps/gnu/netinet/udp.h: Added BSD copying permission notice
	* sysdeps/vax/__longjmp.c: Likewise.
	* sysdeps/vax/setjmp.c: Likewise.
	* libio/filedoalloc.c: Fixed BSD copying permission notice to
	remove advertising clause
	* sysdeps/vax/htonl.s: Likewise.
	* sysdeps/vax/htons.s: Likewise.
	* libio/wfiledoalloc.c: Likewise.
	* stdlib/random.c: Likewise.
	* stdlib/random_r.c: Likewise.
	* sysdeps/mach/sys/reboot.h: Likewise.
	* inet/getnameinfo.c: Deleted advertising clause from Inner Net License
	* sysdeps/posix/getaddrinfo.c: Likewise.
	* sunrpc/des_impl.c: Updated license permission notice to Lesser
	GPL and corrected pointer to point to the correct license.

2002-07-04  Andreas Jaeger  <aj@suse.de>

	* scripts/config.guess: New upstream version.
	* scripts/config.sub: Likewise.

2002-07-02  Andreas Schwab  <schwab@suse.de>

	* resolv/nss_dns/dns-network.c (getanswer_r): Reduce linebuflen
	in parallel to bumping up the buffer pointer.

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

	* 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-06-30  Ulrich Drepper  <drepper@redhat.com>

	* locale/iso-639.def: Add entry for Ganda.
	* locale/programs/ld-address.c (DEFINE_LANGUAGE_CODE3): New
	definition.
	(address_finish): Handle entries with two letter ISO 639 code.

	* iconvdata/Makefile: Recreate gconv-modules.cache file in target
	directory if it existed before.
	* iconv/iconvconfig.c: Implement --prefix option.

	* 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-05-29  H.J. Lu  <hjl@gnu.org>

	* elf/dl-error.c (_dl_signal_cerror): Report error if ld.so debug
	is turned on.

2002-05-28  H.J. Lu  <hjl@gnu.org>

	* elf/dl-deps.c (_dl_map_object_deps): Don't add objects which
	are not dlopened on the dependency list of a dlopened object.

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

	* elf/dl-lookup.c (add_dependency): It is not necessary to add
	dependencies if they are created between objects which are created
	while processing RTLD_NOW for objects loaded as part of the same
	dlopen call.

2002-06-14  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile (tests): Add circleload1.
	(modules-names): Add circlemod1, circlemod2, circlemod3,
	circlemod1a, circlemod2a and circlemod3a.
	($(objpfx)circleload1): New target.
	($(objpfx)circleload1.out): Likewise.
	($(objpfx)circlemod1.so): Likewise.
	($(objpfx)circlemod2.so): Likewise.
	($(objpfx)circlemod1a.so): Likewise.
	($(objpfx)circlemod2a.so): Likewise.
	* elf/circleload1.c: New file.
	* elf/circlemod1.c: New file.
	* elf/circlemod1a.c: New file.
	* elf/circlemod2.c: New file.
	* elf/circlemod2a.c: New file.
	* elf/circlemod3.c: New file.
	* elf/circlemod3a.c: New file.

2002-06-18  Amos Waterland  <apw@us.ibm.com>

	* sysdeps/pthread/aio_cancel.c (aio_cancel): Add check for invalid
	file descriptor.
	* sysdeps/pthread/aio_fsync.c (aio_fsync): Add check for invalid fd;
	add check for fd not open for writing.

	* sysdeps/pthread/aio_suspend.c (aio_suspend): Add check for
	completed element(s) and do not suspend thread if so.  Patch
	heavily modified by drepper.

	* rt/tst-aio7.c: New file.  Regression test for problems which the
	above three changes fix.
	* rt/Makefile (tests): Add tst-aio7.

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

	* rt/tst-aio6.c: Fix comment.

	* catgets/gencat.c (read_input_file): Handle more than one slash
	at end of line correctly [PR libc/3926].
	Based on a patch by Steven Kim <steven.kim@peregrine.com>.

	* catgets/sample.SJIS: Add test case for above bug.
	* catgets/test-gencat.c: Adjust test code.
	* catgets/test-gencat.sh: Adjust expected results.

	* elf/do-rel.h (elf_dynamic_do_rel): Avoid overflow in computation
	to skip relative relocations.
	Patch by Geoff Keating <geoffk@redhat.com>.

2002-05-26  Bruno Haible  <bruno@clisp.org>

	* iconv/loop.c (STANDARD_FROM_LOOP_ERR_HANDLER): New macro.
	(STANDARD_TO_LOOP_ERR_HANDLER): Renamed from STANDARD_ERR_HANDLER.
	All callers changed.
	* iconv/gconv_simple.c (ascii_internal_loop): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	(utf8_internal_loop): Likewise.
	(ucs2_internal_loop): Likewise.
	(internal_ucs2_loop): Perform error handling like in
	STANDARD_FROM_LOOP_ERR_HANDLER.
	* iconvdata/unicode.c (BODY for TO_LOOP): Perform error handling like
	in STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
	handling.
	* iconvdata/utf-16.c (BODY for TO_LOOP): Perform error handling like
	in STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
	handling.
	* iconvdata/utf-32.c (BODY for TO_LOOP): Perform error handling like
	in STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
	handling.
	* iconvdata/big5.c (BODY for FROM_LOOP): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/8bit-gap.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/8bit-generic.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/ansi_x3.110.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/armscii-8.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/cp1255.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/cp1258.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/euc-cn.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/euc-jp.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/euc-kr.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/euc-tw.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/big5hkscs.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/gb18030.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/gbk.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso-2022-jp-3.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso646.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso_6937-2.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/iso_6937.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/johab.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/sjis.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/t.61.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/uhc.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/utf-7.c (BODY for FROM_LOOP): Likewise.
	* iconvdata/gbbig5.c (BODY for FROM_LOOP): Likewise.  When ignoring
	an error, still set result = __GCONV_ILLEGAL_INPUT.
	(BODY for TO_LOOP): Likewise.
	* iconvdata/ibm930.c (BODY for FROM_LOOP): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/ibm932.c: Include <dlfcn.h> and <stdint.h>.
	(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
	handling.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/ibm933.c (BODY for FROM_LOOP): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/ibm935.c (BODY for FROM_LOOP): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/ibm937.c (BODY for FROM_LOOP): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/ibm939.c (BODY for FROM_LOOP): For error handling use
	STANDARD_FROM_LOOP_ERR_HANDLER.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/ibm943.c: Include <dlfcn.h> and <stdint.h>.
	(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
	handling.
	(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
	* iconvdata/gbgbk.c (BODY for FROM_LOOP): Update.
	* iconvdata/iso8859-1.c (BODY for TO_LOOP): Update.
	* iconvdata/tcvn5712-1.c (BODY for TO_LOOP): Update.

2002-06-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_load_address): Use local
	labels in assembler instructions.

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

	* libio/fileops.c (_IO_file_xsgetn_mmap): Always set EOF flag if
	not enough content is available.
	* libio/tst-eof.c: New file.
	* libio/Makefile (tests): Add tst-eof.

	* libio/fileops.c (_IO_file_underflow_mmap): Read a single byte to
	update atime.
	* libio/tst-atime.c: New file.
	* libio/Makefile (tests): Add tst-atime.

	* argp/argp-fmtstream.c (__argp_fmtstream_update): Avoid crash in
	handling of overly long words.

2002-06-25  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86-64/dl-machine.h (elf_machine_load_address): Rewrite
	to not use 32-bit pc relative relocations.
	(elf_machine_dynamic): Likewise.

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

	* sysdeps/unix/sysv/linux/getdents.c [__ASSUME_GETDENTS64_SYSCALL]
	(__GETDENTS): Check for failed getdents64 syscall.
	* dirent/Makefile (tests): Add bug-readdir1.
	* dirent/bug-readdir1.c: New file.

2002-06-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_debug_bindings): Use type_class 4 for TLS
	lookups.
	* elf/rtld.c (dl_main): Move TLS setup code before LD_TRACE_PRELINKING
	code.  Print TLS modid and offset for modules containing PT_TLS
	segments.

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

	* sysdeps/unix/sysv/linux/i386/dl-brk.c: Move...
	* sysdeps/unix/sysv/linux/dl-brk.c: ...here.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move...
	* sysdeps/unix/sysv/linux/dl-sbrk.c: ...here.

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

	* nss/getXXbyYY_r.c (NEW, NEW1): Define.
	(NEW (REENTRANT_NAME)): Strong alias to INTERNAL (REENTRANT_NAME).
	(REENTRANT_NAME@@GLIBC_2.1.2): Use NEW (REENTRANT_NAME).
	* nss/getXXent_r.c (NEW, NEW1): Define.
	(NEW (REENTRANT_GETNAME)): Strong alias to
	INTERNAL (REENTRANT_GETNAME).
	(REENTRANT_GETNAME@@GLIBC_2.1.2): Use NEW (REENTRANT_GETNAME).

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

	* libio/fileops.c (_IO_file_setbuf_mmap): New function.
	(_IO_file_jumps_mmap): Use it.
	* libio/iosetvbuf.c: Don't call _IO_WSETBUF.
	* libio/libioP.h: Remove _IO_wdefault_setbuf and
	_IO_wdefault_setbuf_internal prorotypes.  Add _IO_file_setbuf_mmap
	prototype.
	* libio/wfileops.c (_IO_wfile_setbuf): Removed.
	(_IO_wfile_jumps_mmap): Don't use it anymore.
	* libio/wgenops.c (_IO_wdefault_setbuf): Removed.
	* libio/memstream.c (_IO_wmem_jumps): Use _IO_default_setbuf not
	_IO_wdefault_setbuf.
	* libio/vswprintf.c (_IO_wstrn_jumps): Likewise.
	* libio/wstrops.c (_IO_wstr_jumps): Likewise.
	* stdio-common/vfprintf.c (_IO_helper_jumps): Likewise.

2002-06-05  Jakub Jelinek  <jakub@redhat.com>

	* libio/Makefile (tests): Add tst-mmap-setvbuf.
	* libio/tst-mmap-setvbuf.c: New test.

2002-06-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/libm-test-ulps: Add some ulps from my P3.

2002-06-18  Jakub Jelinek  <jakub@redhat.com>

	* include/unistd.h (__fork_internal): Remove.
	(__fork): Don't define to __fork_internal.
	* sysdeps/mach/hurd/fork.c (__fork): Remove INTDEF.
	* sysdeps/unix/sysv/aix/fork.c (__fork): Likewise.
	* sysdeps/unix/sysv/linux/ia64/fork.S (__fork_internal): Remove alias.
	* sysdeps/unix/sysv/linux/sparc/fork.S (__fork_internal): Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list (__fork_internal): Likewise.

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

	* po/hr.po: New file.

2002-06-11  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Fix error path when new_heap() returns NULL.
	Reported by Michael Meissner <meissner@redhat.com>.

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

	* sysdeps/unix/sysv/linux/ia64/getcontext.S: Fix typo.
	Patch by Hans Boehm <hans_boehm@hp.com>.

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.
	* sysdeps/ia64/fpu/libm-test-ulps: Regenerated.

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.

2002-06-17  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h (uc_sigmask): Fix
	typo: corresponding sigcontext field is called sc_mask, not sc_sigmask.
	Reported by Peter A. Buhr.

2002-06-15  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/mmap.c (__mmap): Add a dead case that quiets a
	warning.

	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_internal): unsigned int -> size_t

	* sysdeps/unix/sysv/linux/bits/ustat.h: Moved to ...
	* sysdeps/generic/bits/ustat.h: ... here (was almost identical).

	* sysdeps/alpha/divrem.h: Use local label instead of global one for
	jump to local subroutine.

2002-06-14  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/Makeconfig: File moved to ...
	* sysdeps/mach/hurd/Makeconfig: ... here.

2002-06-13  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/fpu/s_finite.c: Remove INTDEF.
	* sysdeps/m68k/fpu/s_finitef.c: Likewise.
	* sysdeps/m68k/fpu/s_finitel.c: Likewise.

2002-06-13  Roland McGrath  <roland@frob.com>

	* hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type.
	* hurd/hurdstartup.c (_hurd_startup): Likewise.
	Use intptr_t instead of int for argc in stack layout.
	* sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type.
	(_dl_init_first): Likewise.
	(_hurd_stack_setup): Likewise.
	(init1): Add a cast.
	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start: go): Fix arg type.

	* sysdeps/mach/hurd/if_index.c (if_nameindex): Use size_t for AMOUNT
	argument to pfinet_siocgifconf RPC.

2002-06-13  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Define to get correct
	expansion order.

2002-06-12  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/tmpfile.c [USE_IN_LIBIO] (tmpfile): Don't #define
	if already defined.
	[USE_IN_LIBIO]: Conditionalize versioned_symbol use on
	[GEN_THIS == __GT_FILE] so that tmpfile64.c's inclusion doesn't get it.

2002-06-11  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/xstat64.c: Conditionalize entire contents of the
	file on [!RTLD_STAT64].
	* sysdeps/mach/hurd/fxstat64.c: Likewise.

	* sysdeps/mach/hurd/tmpfile.c (tmpfile64): Define as alias of tmpfile.
	(__fdopen): Use INTUSE.
	* sysdeps/mach/hurd/tmpfile64.c: New file, empty placeholder.

	* stdio-common/tmpfile64.c: File removed.
	* sysdeps/generic/tmpfile64.c: New file.
	* sysdeps/generic/tmpfile.c (GEN_THIS): New macro, define to __GT_FILE
	if not already defined.
	(tmpfile): Use it in place of __GT_FILE.

	* include/unistd.h: Declare __chown_internal.

	* sysdeps/mach/hurd/sendfile64.c (sendfile64): Do real work here.
	* sysdeps/mach/hurd/sendfile.c (sendfile): Call that.

2002-06-09  Roland McGrath  <roland@frob.com>

	Update to new Hurd RPC interfaces supporting 64-bit file sizes.
	* sysdeps/mach/hurd/configure.in: Check for <hurd/version.h> with
	value of HURD_INTERFACE_VERSION >= 20020609.
	* sysdeps/mach/hurd/configure: Regenerated.
	* shlib-versions (.*-.*-gnu-gnu.*): Set libhurduser=0.3.
	* sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Rewritten to
	convert a struct stat64 into a struct stat and return 0 or -1
	with errno set to EOVERFLOW.
	* sysdeps/mach/hurd/statfsconv.c (statfs64_conv): Likewise
	for struct statfs64 to struct statfs.
	* sysdeps/mach/hurd/xstat.c (__xstat): Use converter and call ...
	* sysdeps/mach/hurd/xstat64.c (__xstat64): ... this, real work here.
	* sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise.
	* sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise.
	* sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise.
	* sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
	* sysdeps/mach/hurd/statfs64.c (__statfs64): Likewise.
	* sysdeps/mach/hurd/fstatfs.c (__fstatfs): Likewise.
	* sysdeps/mach/hurd/fstatfs64.c (__fstatfs64): Likewise.
	* sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Do real work here.
	* sysdeps/mach/hurd/pwrite.c (__libc_pwrite): Call that.
	* sysdeps/mach/hurd/pread64.c (__libc_pread64): Do real work here.
	* sysdeps/mach/hurd/pread.c (__libc_pread): Call that.
	* sysdeps/mach/hurd/lseek64.c (__libc_lseek64): Do real work here.
	* sysdeps/mach/hurd/lseek.c (__libc_lseek): Call that.
	* sysdeps/mach/hurd/readdir64.c (__readdir64): Do real work here.
	* sysdeps/mach/hurd/readdir.c (__readdir): Call that.
	* sysdeps/mach/hurd/readdir64_r.c (__readdir64_r): Do real work here.
	* sysdeps/mach/hurd/readdir_r.c (__readdir64_r): Call that.
	* hurd/lookup-retry.c (__hurd_file_name_lookup_retry):
	Use struct stat64 for io_stat argument.
	* sysdeps/mach/hurd/readlink.c (__readlink): Likewise.
	* hurd/fopenport.c (seekio): Remove EOVERFLOW check, pass POS directly
	to io_seek.
	* hurd/fd-read.c (_hurd_fd_read): Use loff_t for OFFSET argument.
	* hurd/fd-write.c (_hurd_fd_write): Likewise.
	* hurd/hurd/fd.h: Update decls.
	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_internal): Use ino64_t
	and struct dirent64.
	* sysdeps/mach/hurd/dl-sysdep.c (open_file): Use struct stat64.
	(__xstat): Renamed to __xstat64, use struct stat64 for argument.
	(__fxstat): Renamed to __fxstat64, use struct stat64 for argument.
	(__lseek): Renamed to __libc_lseek64, use off64_t for argument.

2002-06-08  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/dirstream.h (struct __dirstream): Use size_t
	instead of unsigned long int for __allocation and __size members.

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

	* sysdeps/unix/sysv/linux/i386/dl-brk.c: Move...
	* sysdeps/unix/sysv/linux/dl-brk.c: ...here.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move...
	* sysdeps/unix/sysv/linux/dl-sbrk.c: ...here.

2002-06-07  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/bits/environments.h: File removed.

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

	* 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.
	* sysdeps/unix/sysv/linux/syscalls.list (sendfile): Remove EXTRA.
	(sendfile64): Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (sendfile): Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (sendfile): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (sendfile):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Likewise.

	* include/sys/stat.h (__fxstat64, __lxstat64): Only define if not
	already defined.

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

	* sysdeps/cris/stackinfo.h: New file.

	* sysdeps/hppa/dl-machine.h (elf_machine_rela): Cast reloc_addr
	to an integer type before performing bit operations on it.

2002-06-05  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/sendfile.c: Include <errno.h>.
	* sysdeps/generic/sendfile64.c: Likewise.

	* io/Makefile (routines): Add sendfile and sendfile64.
	(headers): Add sys/sendfile.h to the list.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add it here.
	* sysdeps/unix/sysv/linux/sys/sendfile.h: Moved to ...
	* io/sys/sendfile.h: ... here.
	* sysdeps/generic/sendfile.c: New file.
	* sysdeps/generic/sendfile64.c: New file.

	* sysdeps/unix/sysv/linux/Versions (GLIBC_2.1, GLIBC_2.3):
	Move sendfile, sendfile64 to ...
	* io/Versions (GLIBC_2.1, GLIBC_2.3): ... here.
	* sysdeps/mach/hurd/sendfile.c: New file.
	* sysdeps/mach/hurd/sendfile64.c: New file.

	* sysdeps/mach/nanosleep.c: New file.

2002-06-04  Roland McGrath  <roland@frob.com>

	* sysdeps/alpha/elf/configure.in: New file.  Check for TLS support.
	* sysdeps/alpha/elf/configure: New file (generated).

2002-06-02  Roland McGrath  <roland@frob.com>

	* include/link.h: Include <tls.h> to make sure USE_TLS is defined.

2002-06-01  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/alpha/init-first.c: New file, modified from
	i386/init-first.c by Andrew M. Miklic <miklic@attglobal.net>.

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

	* resolv/resolv.h (struct __res_state): Remove unused nstimes.
	Add nsmap.
	* resolv/res_init.c (__res_vinit): Initialize nsmap array.
	Remove nstimes setting.
	(res_nclose): Check all MAXNS nameservers with non-NULL nsaddrs.
	* resolv/res_send.c (res_nsend): Don't close unconditionally if
	there is mix of IPv6 and IPv4 nameservers.
	Use nsmap array to find free slots and preserve nameserver ordering.
	Fix RES_ROTATE.

2002-05-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/sendfile.h: It is now possible to
	use this header with LFS.

	* po/sk.po: Update from translation team.

2002-05-28  Andreas Schwab  <schwab@suse.de>

	* sysdeps/generic/readelflib.c (process_elf_file): Give correct
	message when finding object of wrong class.

2002-05-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/wordsize-32/divdi3.c (__moddi3): Fix pasto.
	Patch by <radu@netsoft.ro>.

2002-05-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile [$(subdir)==misc] (sysdep_routines):
	Add readahead.
	* sysdeps/unix/sysv/linux/readahead.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list: Add sendfile64 syscall.
	* sysdeps/unix/sysv/linux/Versions: Export readahead and sendfile64.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add readahead syscall.
	Add sendfile64 alias to sendfile syscall.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_readahead
	syscall.

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Use __i686.get_pc_thunk.XX
	special section for PIC register loading.
	* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.

	* config.h.in: Define HAVE_HIDDEN.
	* configure.in: Also define HAVE_HIDDEN if HAVE_PROTECTED is defined.

	* elf/elf.h: Correct Alpha TLS relocations according to last spec.

2002-05-28  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/alpha/setfpucw.c: New file.

2002-05-26  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/ioctl.c (__ioctl): Don't use sizeof in _IOTS.
	Use integer_t instead of int for IOC_VOID case.

2002-05-27  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (DO_STATIC_NSS): Define if --disable-shared.

2002-05-26  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2022-jp.c (BODY for TO_LOOP): Avoid running off the
	end of the ISO-8859-7 from idx table.

2002-05-27  Ulrich Drepper  <drepper@redhat.com>

	* manual/lang.texi: Fix FLT_EPSILON description [PR libc/3649].

2002-05-24  David S. Miller  <davem@redhat.com>

	* string/bits/string2.h (memset): Do not try to optimize when
	not _STRING_ARCH_unaligned if GCC will do the right thing.

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

	* posix/regex.c: Define `inline' as a macro into nothing for the
	compilers which lack the keyword.
	* posix/regex.h: (RE_SYNTAX_GNU_AWK): Remove RE_CONTEXT_INVALID_OPS
	for the compatibility of gawk.
	* posix/regcomp.c: Add fake implementation of isblank() for the
	environments which lack the function.
	Don't use free_charset() in case of non-i18n envs.
	(build_range_exp): Don't use i18n related code in case of non-i18n
	envs.
	(build_collating_symbol): Likewise.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	(re_compile_fastmap_iter): Likewise.
	(parse_bracket_exp): Likewise.
	(build_word_op): Likewise.
	(regfree): Don't use free_charset() in case of non-i18n envs.
	* posix/regex_internal.h: Remove COMPLEX_BRACKET from
	re_token_type_t in case of non-i18n envs.
	Don't define re_charset_t in case of non-i18n envs.
	Change the type of wcs of re_string_t from wchar_t to wint_t,
	since we store also WEOF.
	* posix/regex_internal.c: (re_string_realloc_buffers): Change
	the type of wcs of re_string_t from wchar_t to wint_t.
	(re_string_reconstruct): Likewise.
	(create_ci_newstate): Don't use i18n related code in case of
	non-i18n envs.
	(create_cd_newstate): Likewise.

2002-05-24  Ulrich Drepper  <drepper@redhat.com>

	* iconv/loop.c: Fix typo.

2002-05-23  Jakub Jelinek  <jakub@redhat.com>

	* inet/ether_line.c (ether_line): Fix a typo causing only
	lower 4 bits of each ethernet address byte being assigned.
	Don't modify what line points to.
	* inet/tst-ether_aton.c (main): Add ether_line tests.

2002-05-23  Marcus Brinkmann  <marcus@gnu.org>

	* manual/filesys.texi: Don't make readlink example leak memory
	when readlink fails.

2002-05-20  Ulrich Drepper  <drepper@redhat.com>

	* iconv/loop.c: Fix condition for defining unaligned loop.  Add
	some more security checks.

2002-05-17  David S. Miller  <davem@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/fork.S: Define _internal aliases.

2002-05-16  David S. Miller  <davem@redhat.com>

	* sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define.
	(elf_machine_dynamic): Use it to force PIC register to be loaded.
	(elf_machine_load_address): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes.

	* sysdeps/sparc/sparc64/strncmp.S: When second argument pointer
	is unaligned, do not forget to fully initialize %g1 magic value.

	* sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf
	register definitions and provide 32-bit variants of structures
	during 64-bit builds.

	* soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define.
	* soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define.
	* soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define.
	* soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if
	_FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it.
	(_FP_FROM_INT): Perform right shifts on unsigned integer type.
	Do not clear implicit one bit here, it must be done post-rounding.
	Only pad to the left using left shift if value uses less than the
	available fractional bits.

2002-05-20  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/powerpc/Makefile (sysdeps_routines): Use libgcc-compat
	instead of cmpdi2, shdi3, fixdfdi, fixsfdi in csu dir.
	(shared-only-routines): Likewise.
	* sysdeps/powerpc/libgcc-compat.c: New file.
	* sysdeps/wordsize-32/cmpdi2.c: Removed.
	* sysdeps/wordsize-32/fixdfdi.c: Removed.
	* sysdeps/wordsize-32/fixsfdi.c: Removed.
	* sysdeps/wordsize-32/shdi3.c: Removed.

2002-05-16  Bruno Haible  <bruno@clisp.org>

	* MakeTAGS (libc.pot): Don't sort the output.
	* po/header.pot: Update to match xgettext 0.11 output.

2002-05-16  Bruno Haible  <bruno@clisp.org>

	* MakeTAGS (subdirs): Remove duplicates.

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

	* sysdeps/unix/sysv/linux/errlist.c: Remove extra weak alias
	definiton of _old_sys_nerr.  Define _old_sys_errlist as strong
	alias.

2002-05-19  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/configure.in: Warn against an
	installation in /usr/local.

2002-05-16  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/sysv/aix/bits/ioctl-types.h: Don't use multiline
	string as argument of #error.

2002-05-15  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/canonicalize.c (canonicalize): Rename to __realpath and
	don't define static.  Remove old __realpath function.  TC1 of
	POSIX 2001 will allow the second parameter to be NULL.
	* stdlib/test-canon.c: Comment out test for NULL as second
	parameter of realpath.

	* time/offtime.c (__offtime): Set errno if overflow is detected.

	* elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk.
	* sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add
	dl-brk and dl-sbrk.

	* sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW.
	(fdimf): Likewise.

2002-05-15  Roland McGrath  <roland@frob.com>

	* hurd/report-wait.c (_S_msg_report_wait): Use mach_msg_id_t for arg.

2002-05-12  Bruno Haible  <bruno@clisp.org>

	* iconvdata/testdata/EUC-JISX0213: New file.
	* iconvdata/testdata/EUC-JISX0213..UTF8: New file.
	* iconvdata/testdata/SHIFT_JISX0213: New file.
	* iconvdata/testdata/SHIFT_JISX0213..UTF8: New file.
	* iconvdata/testdata/ISO-2022-JP-3: New file.
	* iconvdata/testdata/ISO-2022-JP-3..UTF8: New file.
	* iconvdata/TESTS: Add EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3.
	* iconvdata/run-iconv-test.sh: Skip the charmap test if the charmap
	contains comments indicating precomposed characters.

2002-04-21  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2022-jp-3.c: New file.
	* iconvdata/gconv-modules (ISO-2022-JP-3): New module.
	* iconvdata/Makefile (modules): Add ISO-2022-JP-3.
	(LDFLAGS-ISO-2022-JP-3.so): New variable.
	(ISO-2022-JP-3.so): Depend on libJIS.so and libJISX0213.so.
	(distribute): Add iso-2022-jp-3.c.

2002-05-12  Bruno Haible  <bruno@clisp.org>

	* iconvdata/tst-table-to.c (main): Restore handling of
	transliterations, broken by last patch.

2002-05-12  Bruno Haible  <bruno@clisp.org>

	* iconvdata/TESTS: Add IBM922, IBM1124, IBM1129.

2002-05-12  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Don't advance inptr
	when there is not enough room in the output buffer.
	* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconv/skeleton.c ({FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}): New
	macros.
	(RESET_INPUT_BUFFER): Use them instead of {MIN,MAX}_NEEDED_{FROM,TO}.
	Also make this macro work if FROM_DIRECTION evaluates to 0.
	(gconv_init): Use the new macros instead of {MIN,MAX}_NEEDED_{FROM,TO}.
	(FUNCTION_NAME): Likewise, in the handling of unaligned accesses and
	of consume_incomplete.
	* iconvdata/cp1255.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
	instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to
	4, not 8.
	* iconvdata/cp1258.c: Likewise.
	* iconvdata/ibm930.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}
	instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 3,
	not 2.
	* iconvdata/ibm933.c: Likewise.
	* iconvdata/ibm935.c: Likewise.
	* iconvdata/ibm937.c: Likewise.
	* iconvdata/ibm939.c: Likewise.
	* iconvdata/iso-2022-cn.c: Define
	{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
	{MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 6, not 4.
	* iconvdata/iso-2022-cn-ext.c: Likewise.
	* iconvdata/iso-2022-jp.c: Define
	{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
	{MIN,MAX}_NEEDED_{FROM,TO}.
	* iconvdata/tcvn5712-1.c: Define
	{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
	{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_FROM to 1, not 2.
	* iconvdata/euc-jisx0213.c: Define
	{FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of
	{MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 8, not 4.
	* iconvdata/shift_jisx0213.c: Likewise.

2002-05-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* sysdeps/powerpc/Makefile (sysdeps_routines): Add divdi3, cmpdi2,
	shdi3, fixdfdi, fixsfdi in csu dir.
	(shared-only-routines): Likewise.
	* sysdeps/wordsize-32/cmpdi2.c: New file.
	* sysdeps/wordsize-32/shdi3.c: New file.
	* sysdeps/wordsize-32/fixdfdi.c: New file.
	* sysdeps/wordsize-32/fixsfdi.c: New file.
	* sysdeps/powerpc/Versions (__divdi3, __moddi3, __udivdi3, __umoddi3,
	__ashldi3, __ashrdi3, __lshrdi3, __cmpdi2, __ucmpdi2, __fixdfdi,
	__fixsfdi, __fixunsdfdi, __fixunssfdi): Export at GLIBC_2.0.

	* sysdeps/unix/sysv/linux/semctl.c (__old_semctl, __new_semctl):
	Only use va_arg if the argument will be used [PR libc/3259].

2002-05-06  Michael A. Schmidt  <mmaass@us.ibm.com>

	* catgets/catgets.c (catopen): Free buffer if internal catalog
	open fails.

2002-05-14  Ulrich Drepper  <drepper@redhat.com>

	* debug/xtrace.sh: Make more robust.  For realtime tracking use
	non-buffering methods.
	* debug/pcprofiledump.c: Implement -u option.
	Patch by Roger Luethi <rl@hellgate.ch>.

2002-05-11  Jakub Jelinek  <jakub@redhat.com>

	* include/netinet/in.h (bindresvport_internal): Add prototype.
	* include/rpc/auth.h  (authunix_create_internal,
	authunix_create_default_internal, authnone_create_internal,
	authdes_pk_create_internal): Add prototypes.
	* include/rpc/clnt.h (clnt_create_internal, clnttcp_create_internal,
	clntudp_create_internal, clntudp_bufcreate_internal,
	clntunix_create_internal): Add prototypes.
	* include/rpc/svc.h (svc_sendreply_internal, svcerr_decode_internal,
	svc_getreq_internal, svc_getreq_common_internal,
	svc_getreqset_internal, svc_getreq_poll_internal,
	svc_register_internal, svc_unregister_internal,
	svcudp_create_internal, svcudp_bufcreate_internal): Add prototypes.
	* include/rpc/svc_auth.h (_authenticate_internal): Add prototype.
	* include/sys/socket.h (__sendto, __recvfrom, __sendmsg, __recvmsg,
	__setsockopt, __getsockname, __bind, __listen): Add prototypes.
	* inet/rexec.c (rexec_af): Use __listen and __getsockname.
	* inet/rcmd.c (rcmd_af): Use __listen.
	(rresvport_af): Use __bind.
	* sunrpc/clnt_udp.c: Use INTUSE calls to bindresvport,
	authunix_create, authunix_create_default, authnone_create,
	authdes_pk_create, clnt_create, clnttcp_create, clntudp_create,
	clntudp_bufcreate, clntunix_create svc_sendreply, svcerr_decode,
	svc_getreq, svc_getreq_common, svc_getreqset, svc_getreq_poll,
	svc_register, svc_unregister, svcudp_create, svcudp_bufcreate,
	_authenticate, add INTDEF after such function definitions.
	Use __listen, __bind, __sendto, __recvfrom, __sendmsg, __recvmsg,
	__setsockopt, __getsockname instead of non-__ variants.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/rtime.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/bindrsvprt.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/auth_none.c: Likewise.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/clnt_gen.c: Likewise.
	* sunrpc/pm_getmaps.c: Likewise.
	* sunrpc/clnt_simp.c: Likewise.
	* sunrpc/pmap_clnt.c: Likewise.
	* sunrpc/svc_run.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/pm_getport.c: Likewise.
	* sunrpc/auth_des.c: Likewise.
	* sunrpc/svc_auth.c: Likewise.
	* sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases,
	__register_frame_info_table_bases, __deregister_frame_info_bases):
	Add INTDEF.
	(__register_frame_info_bases_internal,
	__register_frame_info_table_bases_internal,
	__deregister_frame_info_bases_internal): Add prototypes.
	(__register_frame_info, __register_frame): Use INTUSE in call to
	__register_frame_info_bases.
	(__register_frame_info_table): Similarly.
	(__deregister_frame_info, __deregister_frame): Similarly.
	* sysdeps/generic/sendto.c (__sendto): Renamed from sendto, add
	sendto as weak alias.
	* sysdeps/mach/hurd/sendto.c: Likewise.
	* sysdeps/generic/recvfrom.c (__recvfrom): Renamed from recvfrom, add
	recvfrom as weak alias.
	* sysdeps/mach/hurd/recvfrom.c: Likewise.
	* sysdeps/unix/sysv/aix/recvfrom.c: Likewise.
	* sysdeps/generic/recvmsg.c (__recvmsg): Renamed from recvmsg, add
	recvmsg as weak alias.
	* sysdeps/unix/sysv/aix/recvmsg.c: Likewise.
	* sysdeps/generic/sendmsg.c (__sendmsg): Renamed from sendmsg, add
	sendmsg as weak alias.
	* sysdeps/unix/sysv/aix/sendmsg.c: Likewise.
	* sysdeps/generic/setsockopt.c (__setsockopt): Renamed from
	setsockopt, add setsockopt as weak alias.
	* sysdeps/mach/hurd/setsockopt.c: Likewise.
	* sysdeps/generic/bind.c (__bind): Renamed from bind, add bind as
	weak alias.
	* sysdeps/mach/hurd/bind.c: Likewise.
	* sysdeps/generic/listen.c (__listen): Renamed from listen, add listen
	as weak alias.
	* sysdeps/mach/hurd/listen.c: Likewise.
	* sysdeps/generic/getsockname.c (__getsockname): Renamed from
	getsockname, add getsockname as weak alias.
	* sysdeps/mach/hurd/getsockname.c: Likewise.
	* sysdeps/unix/sysv/aix/getsockname.c: Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Add weak alias.
	* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Add weak alias.
	* sysdeps/unix/inet/syscalls.list (__bind, __listen, __recvmsg,
	__recvfrom, __sendmsg, __sendto, __setsockopt): Add aliases.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__recvmsg, __sendmsg):
	Add aliases.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/recvfrom.S (__recvfrom): Add weak alias.
	* sysdeps/unix/sysv/linux/recvmsg.S (__recvmsg): Likewise.
	* sysdeps/unix/sysv/linux/sendmsg.S (__sendmsg): Likewise.
	* sysdeps/unix/sysv/linux/sendto.S (__sendto): Likewise.
	* sysdeps/unix/sysv/linux/setsockopt.S (__setsockopt): Likewise.
	* sysdeps/unix/sysv/linux/bind.S (__bind): Likewise.
	* sysdeps/unix/sysv/linux/listen.S (__listen): Likewise.
	* sysdeps/unix/sysv/linux/getsockname.S (__getsockname): Likewise.

2002-05-10  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/localedef.h (show_archive_content): Add verbose
	argument.
	* locale/programs/localedef.c (main): Adjust caller.
	* locale/programs/locarchive.c (struct nameent, struct dataent): New
	types.
	(nameentcmp, dataentcmp): New functions.
	(xstrcmp): Remove.
	(show_archive_content): Print verbose listing with --list-archive -v.

2002-05-14  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/locarchive.c (open_archive): Take extra argument
	readonly.  If true open file with O_RDONLY and don't create the
	archive if it doesn't exist.
	Adapt all callers.
	(close_archive): Don't do anything if fd element is -1.
	* locale/programs/localedef.h (open_archive): Adjust prototype.
	* locale/programs/locfile.c (write_all_categories): Adjust open_archive
	call.

	* malloc/malloc.c (__posix_memalign): Correct check for size of
	alignment value [PR libc/3444].

	* include/stdio.h: Remove references to old stdio implementation.

	* libio/Makefile (bug-ungetwc2-ENV): Define.

2002-05-13  Roland McGrath  <roland@frob.com>

	* iconv/gconv_charset.h (upstr): Add inline keyword, quiets warning.

	* hurd/hurdinit.c (_hurd_init): Use internal name _hurd_new_proc_init.

2002-05-13  Marcus Brinkmann  <marcus@gnu.org>

	* hurd/hurdchdir.c (_hurd_change_directory_port_from_name):
	Allocate three, not two, more than LEN when appending '/.'.
	* sysdeps/mach/hurd/chroot.c (chroot): Likewise.  Don't check
	if NAME ends with '/.' if it is shorter than 2 chars.

2002-05-12  Roland McGrath  <roland@frob.com>

	* mach/Makefile ($(mach-syscalls:%=$(objpfx)%.S)): Make the generated
	files #include <sysdep.h> instead of <mach/machine/syscall_sw.h>.

	* hurd/hurdexec.c (_hurd_exec): Reauthenticate ports/dtable used in
	file_exec to effect svuid=euid, svgid=egid if that is not a no-op.

2002-05-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/Makefile: Remove extra endif.
	* sysdeps/ia64/ia64libgcc.S (__divsf3): Fix typo in symbol version.

2002-05-10  Andreas Schwab  <schwab@suse.de>

	* sysdeps/powerpc/fpu/w_sqrt.c: Add sqrtl alias.

2002-05-09  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/sys/io.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/Dist: Add it.
	* sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers): Add it.

	* sysdeps/unix/sysv/linux/ia64/glob.c: Move to ...
	* sysdeps/wordsize-64/glob.c: ...here.
	* sysdeps/unix/sysv/linux/x86_64/glob.c: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-64/glob.c: Remove.
	* sysdeps/unix/sysv/linux/sparc/sparc64/glob.c: Remove.

2002-05-08  Roland McGrath  <roland@frob.com>

	* hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Use
	O_NOTRANS flag in "." lookup.

2002-05-05  Ulrich Drepper  <drepper@redhat.com>

	* malloc/mtrace.c: Comment out use of _mtrace_file and _mtrace_len.

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

	* locale/duplocale.c (__duplocale): Update special members only
	when allocation succeeded.

2002-05-03  Roland McGrath  <roland@frob.com>

	* shlib-versions (.*-.*-gnu-gnu.*): Remove USE_IN_LIBIO conditionals;
	we can only build libc.so.0.3(GLIBC_2.2.6) now.

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

	* sysdeps/ia64/Makefile: Add ia64libgcc in csu subdir.
	* sysdeps/ia64/Versions (__divtf3, __divdf3, __divsf3, __divdi3,
	__moddi3, __udivdi3, __umoddi3, __multi3): Export at GLIBC_2.0.
	* sysdeps/ia64/ia64libgcc.S: New file.

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

	* sysdeps/generic/dl-tls.c (oom): Implement using _dl_fatal_printf.

	* malloc/memusage.c: Distinguish anonymous mmap.

2002-05-01  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/close.c: #undef __close before function defn,
	and use INTDEF on it.
	* sysdeps/mach/hurd/fcntl.c: Use INTDEF2.

	* sysdeps/mach/hurd/dl-sysdep.c (errno): New variable.

	* sysdeps/mach/hurd/alpha/static-start.S: New file (unfinished).

2002-05-01  Ulrich Drepper  <drepper@redhat.com>

	* malloc/memusage.c: Add support for tracking mmap & friends.
	* malloc/memusage.sh: Implement -m/--mmap option.

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

	* locale/programs/locarchive.c (create_archive): Add archivefname
	argument, create fname from it.
	(enlarge_archive): Honour output_prefix.
	(open_archive): Likewise.

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

	* locale/programs/locarchive.c (add_locales_to_archive): Don't nest
	too many stpcpy macros.

2002-04-26  Bruno Haible  <bruno@clisp.org>

	* locale/programs/ld-collate.c (collate_read): Cast first argument
	for "%.*s" to int.

2002-04-26  Bruno Haible  <bruno@clisp.org>

	* include/libintl.h (__ngettext, __dngettext, __dcngettext,
	__dcngettext_internal): New declarations.
	(__gettext, __dgettext, __dcgettext, __dcgettext_internal): Add
	attribute declarations.

2002-04-30  Roland McGrath  <roland@frob.com>

	Removed old GNU stdio implementation; GNU libio is now the only option.
	* configure.in: Removed --enable-libio option and @stdio@ subst var.
	Define USE_IN_LIBIO unconditionally.
	* configure: Regenerated.
	* Makeconfig (stdio): Set to libio by default.
	* config.make.in (stdio): Variable removed.
	* sysdeps/unix/sysv/linux/configure.in: Don't set $stdio.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
	* sysdeps/mach/hurd/configure.in: Don't test $stdio.
	* sysdeps/mach/hurd/configure: Regenerated.
	* stdio/.cvsignore: File removed.
	* stdio/Makefile: File removed.
	* stdio/Versions: File removed.
	* stdio/__fbufsize.c: File removed.
	* stdio/__flbf.c: File removed.
	* stdio/__fpending.c: File removed.
	* stdio/__fpurge.c: File removed.
	* stdio/__freadable.c: File removed.
	* stdio/__freading.c: File removed.
	* stdio/__fsetlocking.c: File removed.
	* stdio/__fwritable.c: File removed.
	* stdio/__fwriting.c: File removed.
	* stdio/clearerr.c: File removed.
	* stdio/fclose.c: File removed.
	* stdio/fcloseall.c: File removed.
	* stdio/feof.c: File removed.
	* stdio/ferror.c: File removed.
	* stdio/fflush.c: File removed.
	* stdio/fgetc.c: File removed.
	* stdio/fgetpos.c: File removed.
	* stdio/fgets.c: File removed.
	* stdio/fileno.c: File removed.
	* stdio/fmemopen.c: File removed.
	* stdio/fopen.c: File removed.
	* stdio/fopncook.c: File removed.
	* stdio/fputc.c: File removed.
	* stdio/fputs.c: File removed.
	* stdio/fread.c: File removed.
	* stdio/freopen.c: File removed.
	* stdio/fseek.c: File removed.
	* stdio/fsetpos.c: File removed.
	* stdio/ftell.c: File removed.
	* stdio/fwrite.c: File removed.
	* stdio/getc.c: File removed.
	* stdio/getchar.c: File removed.
	* stdio/getdelim.c: File removed.
	* stdio/gets.c: File removed.
	* stdio/glue.c: File removed.
	* stdio/internals.c: File removed.
	* stdio/linewrap.c: File removed.
	* stdio/linewrap.h: File removed.
	* stdio/memstream.c: File removed.
	* stdio/newstream.c: File removed.
	* stdio/obstream.c: File removed.
	* stdio/putc.c: File removed.
	* stdio/putchar.c: File removed.
	* stdio/puts.c: File removed.
	* stdio/rewind.c: File removed.
	* stdio/setbuf.c: File removed.
	* stdio/setbuffer.c: File removed.
	* stdio/setlinebuf.c: File removed.
	* stdio/setvbuf.c: File removed.
	* stdio/stdio.h: File removed.
	* stdio/ungetc.c: File removed.
	* stdio/vasprintf.c: File removed.
	* stdio/vscanf.c: File removed.
	* stdio/vsnprintf.c: File removed.
	* stdio/vsprintf.c: File removed.
	* stdio/vsscanf.c: File removed.
	* sysdeps/generic/defs.c: File removed.
	* sysdeps/generic/fdopen.c: File removed.
	* sysdeps/generic/pipestream.c: File removed.
	* sysdeps/generic/stdio_init.c: File removed.
	* sysdeps/generic/sysd-stdio.c: File removed.
	* sysdeps/generic/vdprintf.c: File removed.
	* sysdeps/mach/hurd/defs.c: File removed.
	* sysdeps/mach/hurd/fdopen.c: File removed.
	* sysdeps/mach/hurd/pipestream.c: File removed.
	* sysdeps/mach/hurd/stdio_init.c: File removed.
	* sysdeps/mach/hurd/sysd-stdio.c: File removed.
	* sysdeps/mach/hurd/vdprintf.c: File removed.
	* sysdeps/posix/defs.c: File removed.
	* sysdeps/posix/fdopen.c: File removed.
	* sysdeps/posix/pipestream.c: File removed.
	* sysdeps/posix/stdio_init.c: File removed.
	* sysdeps/posix/vdprintf.c: File removed.
	* sysdeps/unix/pipestream.c: File removed.
	* sysdeps/unix/sysv/sysd-stdio.c: File removed.
	* sysdeps/unix/sysv/sco3.2.4/pipestream.c: File removed.
	* sysdeps/unix/sysv/sysv4/pipestream.c: File removed.

2002-04-29  Roland McGrath  <roland@frob.com>

	* include/libc-symbols.h (link_warning): Use `unused' attribute.

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

	* sysdeps/generic/tls.h: Describe what must be defined.

	* sysdeps/generic/glob.c (glob): Don't pass GLOB_NOMAGIC flag to
	glob_in_dir [PR libc/3385].
	* posix/globtest.sh: Add test case.

	* intl/loadmsgcat.c [!_LIBC] (_nl_init_domain_conv): Don't add
	//TRANSLIT twice.

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

	* sysdeps/unix/sysv/linux/ia64/fxstat.c: Fix a few issues with the
	_internal symbol handling.
	* sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise.

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

	* sysdeps/ia64/fpu/s_finite.S: Define _internal aliases.
	* sysdeps/unix/sysv/linux/ia64/fork.S: Likewise.

2002-04-26  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (re_compile_fastmap_iter): Fix fastmap in case of
	not _LIBC and RE_ENABLE_I18N.
	(build_range_exp): Implement for not _LIBC.
	(build_collating_symbol): Likewise.
	(parse_bracket_exp): Unify redundant error handlings.
	Don't erase mbcset for non matching list in multibyte envs.
	(build_word_op): Add '_' to matching list for \w operator.
	* posix/regex_internal.c (re_string_construct): Invoke
	build_upper_buffer in case of not RE_ENABLE_I18N.
	(re_string_reconstruct): Don't touch cur_state in case of not
	RE_ENABLE_I18N.
	* posix/regex_internal.h (attribute_hidden): New macro in case of
	not _LIBC.
	(re_charset_t): Define range_starts/ends in case of not _LIBC.
	* posix/regexec.c (sift_states_iter_mb): Hide in case of not
	RE_ENABLE_I18N.
	(transit_state_mb): Likewise.
	(check_node_accept_bytes): Implement the code evaluating range
	expression in case of not _LIBC.
	(find_collation_sequence_value): Hide in case of not _LIBC.

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

	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: Copied from
	i386/semctl.c.
	(__old_semctl, __new_semctl): Only use va_arg if the argument will
	be used.

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

	* sysdeps/ia64/fpu/s_isinf.S: Fix definition of _internal names.

	* sysdeps/ia64/strncpy.S: Fix recovery code.
	Patch by David Mosberger <davidm@hpl.hp.com>.

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

	* sysdeps/unix/sysv/linux/ia64/Versions [libc]: Add getunwind for
	GLIBC_2.2.6.

2002-04-14  Bruno Haible  <bruno@clisp.org>

	* posix/regex.c (re_max_failures): Add back symbol for binary
	compatibility.

2002-04-22  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (re_compile_internal): Adapt it to new interface
	of buffer building functions.
	* posix/regex_internal.c (re_string_allocate): New function.
	(re_string_realloc_buffers): New function.
	(re_string_skip_chars): New function.
	(re_string_reconstruct): New function.
	(re_string_construct): Adapt it to new interface of buffer building
	functions.
	(re_string_construct_common): Likewise.
	(build_wcs_buffer): Likewise.
	(build_wcs_upper_buffer): Likewise.
	(build_upper_buffer): Likewise.
	(re_string_translate_buffer): Likewise.
	(re_string_context_at): Adapt it to variable length buffers.
	* posix/regex_internal.h (re_string_t): Add new fields to handle
	variable length buffers.
	(re_match_context_t): Likewise.
	* posix/regexec.c (re_search_internal): Adapt it to new interface
	of re_string_t and re_match_context_t.
	(acquire_init_state_context): Likewise.
	(check_matching): Likewise.
	(check_halt_state_context): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(sift_states_backward): Likewise.
	(clean_state_log_if_need): Likewise.
	(sift_states_iter_mb): Likewise.
	(sift_states_iter_bkref): 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.
	(check_node_accept): Likewise.
	(match_ctx_init): Likewise.
	(extend_buffers): New function.

2002-04-21  Bruno Haible  <bruno@clisp.org>

	* iconvdata/tst-table.sh: For the second check, use the truncated
	GB18030 charmap table, like for the first check.

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

	* elf/dl-load.c (open_verify): Correct __lseek parameters.
	Patch by Simon Hildrew <simon@hildrew.net> [PR libc/3354].

2002-04-23  H.J. Lu  <hjl@gnu.org>

	* include/math.h (isfinite): Fix a typo.

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

	* libio/bug-ungetwc2.c (test_locale): Use the de_DE.UTF-8 locale
	which is created by the test suite.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2002-kr.c (MAX_NEEDED_FROM): Set to 4.
	(BODY for FROM_LOOP): Fix comparisons between inptr and inend.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/johab.c (BODY for FROM_LOOP): Change type of i, m, f,
	to avoid gcc warning.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Fix modification mask
	of data->__statep->__count.

2002-04-20  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jisx0213.c (BODY for TO_LOOP): Really ignore Unicode
	tag characters.
	* iconvdata/shift_jisx0213.c (BODY for TO_LOOP): Likewise.

2002-04-24  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/alpha/syscall.S: Don't use .frame, ENTRY will have it;
	use END macro instead of our own .end directive.
	Use `callsys' insn mnemonic instead of `call_pal'.

	* sysdeps/mach/alpha/sysdep.h (ENTRY): New macro.

	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New
	macro; we need this for Hurd.

	Log entry was missing for 2002/03/24 commit of rev 1.8,
	goes with 2002-03-17 changes.
	* sysdeps/mach/hurd/i386/Makefile [$(subdir) = misc]
	(sysdep_routines): Append ioperm here.
	(sysdep_headers): Append sys/io.h here.

2002-04-23  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/send.c: int -> size_t for WROTE.
	* sysdeps/mach/hurd/sendto.c: Likewise.
	* hurd/hurdioctl.c (siocgifconf): int -> size_t for DATA_LEN.
	* sysdeps/mach/hurd/wait4.c (__wait4): natural_t -> int for SIGCODE.
	* sysdeps/mach/hurd/getpriority.c: unsigned int -> size_t for PISIZE.

2002-04-22  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/ioperm.c (ioperm): Translate MIG_BAD_ID
	failure from i386_io_perm_* RPCs to ENOSYS.

2002-04-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/ldconfig.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/dl-cache.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/vfork.S: Use %rdi as temp
	register instead of destroying %rbx.

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

	* string/string.h: Declare strerror_r also for XPG6.

2002-04-19  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/tmpfile.c: Create a file descriptor and use fdopen.

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

	* Makefile: Add handling of xtests and xcheck targets.
	* MakeTAGS: Likewise.
	* Makeconfig: Likewise.
	* Makerules: Likewise.
	* Rules: Likewise.
	* manual/Makefile: Likewise.
	* sunrpc/Makefile (xtests): Add thrsvc if thread library available.
	* sunrpc/thrsvc.c: New file.  By Zack Weinberg.

2002-04-11  Zack Weinberg  <zack@codesourcery.com>

	* include/rpc/rpc.h (struct rpc_thread_variables): Remove
	authnone_private_s.
	* sunrpc/auth_none.c: Include bits/libc-lock.h.
	Delete #ifdef _RPC_THREAD_SAFE_ block.
	(authnone_private): Make a struct, not a pointer to struct.
	(authnone_private_guard): New once-control variable.
	(authnone_create_once): New function, split out of
	authnone_create.  No need to allocate memory.
	(authnone_create): Just call authnone_create_once via
	__libc_once, then return &authnone_private->no_client.
	(authnone_marshal): Access private data via CLIENT argument,
	not authnone_private pointer.
	Fix typo (MAX_MARSHEL_SIZE -> MAX_MARSHAL_SIZE).
	* sunrpc/rpc_thread.c (__rpc_thread_destroy): No need to free
	authnone_private_s.

2002-04-12  H.J. Lu  <hjl@gnu.org>

	* sunrpc/clnt_raw.c (clntraw_create): Properly set xdrs and client.

2002-04-18  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
	FROM_DIRECTION): Make the FROM direction stateless.
	* iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for
	FROM_DIRECTION): Likewise.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/JISX0213.TXT: New file.
	* iconvdata/jisx0213.h: New file.
	* iconvdata/jisx0213.c: New file.
	* iconvdata/euc-jisx0213.c: New file.
	* iconvdata/shift_jisx0213.c: New file.
	* iconvdata/gconv-modules (EUC-JISX0213, SHIFT_JISX0213): New modules.
	* iconvdata/EUC-JISX0213.precomposed: New file.
	* iconvdata/SHIFT_JISX0213.precomposed: New file.
	* iconvdata/SHIFT_JISX0213.irreversible: New file.
	* iconvdata/tst-table-to.c (main): Make it work for encodings for
	which the "to" direction is stateful.
	* iconvdata/tst-tables.sh: Add EUC-JISX0213, SHIFT_JISX0213.
	* iconvdata/Makefile (modules): Add libJISX0213, EUC-JISX0213,
	SHIFT_JISX0213.
	(libJISX0213-routines): New variable.
	(LDFLAGS-EUC-JISX0213.so, LDFLAGS-SHIFT_JISX0213.so): New variables.
	(EUC-JISX0213.so, SHIFT_JISX0213.so): Depend on libJISX0213.so.
	(LDFLAGS-libJISX0213.so): New variable.
	(distribute): Add JISX0213.TXT, EUC-JISX0213.precomposed,
	SHIFT_JISX0213.precomposed, SHIFT_JISX0213.irreversible,
	jisx0213.c, jisx0213.h, euc-jisx0213.c, shift_jisx0213.c.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/big5hkscs.c (big5hkscs_to_ucs): Change element type to
	uint32_t.  Update to Unicode 3.2.
	(from_ucs4, from_ucs4_idx): Update to Unicode 3.2.
	(BODY for TO_LOOP): Handle the ASCII range specially.
	* iconvdata/BIG5HKSCS.irreversible: Add one more entry.
	* iconvdata/testdata/BIG5HKSCS: Remove a character.
	* iconvdata/testdata/BIG5HKSCS..UTF-8: Regenerated.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/gb18030.c (__twobyte_to_ucs, __fourbyte_to_ucs,
	__ucs_to_gb18030_tab1, __ucs_to_gb18030_tab2): Update to Unicode 3.2.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/cns11643.h (__cns11643_from_ucs4p2c_tab): New declaration.
	(ucs4_to_cns11643): Update.
	* iconvdata/cns11643.c: Update to Unicode 3.2.
	(__cns11643l2*_to_ucs4_tab, __cns11643_from_ucs4p0_tab,
	__cns11643_from_ucs4p2_tab): Regenerated.
	(__cns11643_from_ucs4p2c_tab): New array.
	* iconvdata/cvs11643l1.c: Update comments.
	* iconvdata/EUC-TW.irreversible: Remove two entries.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* locale/C-translit.h.in: Update to Unicode 3.2.
	Add <U2047>, <U205F>..<U2063>, <U2145>..<U2149>, <U2A74>..<U2A76>,
	<U30A0>, <U3251>..<U325F>, <U32B1>..<U32BF>, <UFE00>..<UFE0F>.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/sjis.c (halfkana_to_ucs4): Remove array.
	(BODY for FROM_LOOP): Optimize the JISX0201:GR to Unicode conversion.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/euc-jp.c (BODY for FROM_LOOP): When encountering an
	invalid input (e.g. a byte > 0x80 followed by a byte < 0x80), skip
	always one byte, not 0 bytes in some cases and 2 bytes in others.

	* iconvdata/tst-table-from.c (main): Correct the usage message.

2002-04-19  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (parse_expression): Fix incorrect error code.
	(parse_dup_op): Fix error handling like "a{}".
	(parse_bracket_exp): Add error handling.
	(fetch_number): Add error handling for "a{<very_large_number>}".

2002-04-19  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (parse_bracket_symbol): Add error handling
	in case that the symbol name is too long.
	(build_charclass): Handle [:lower:]/[:uppper:] correctly
	in case of REG_ICASE.

2002-04-19  Andreas Jaeger  <aj@suse.de>

	* math/libm-test.inc: Fix comment, suggested by Hartvig Ekner
	<hartvige@mips.com>.

2002-04-15  H.J. Lu  <hjl@gnu.org>

	* include/math.h (__finitel_internal): Declare only if
	__NO_LONG_DOUBLE_MATH is not defined.
	(__isinfl_internal): Likewise.
	(__isnanl_internal): Likewise.

	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __connect_internal.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.

	* sysdeps/unix/sysv/linux/syscalls.list: Add __chown_internal and
	__fcntl_internal.

	* sysdeps/unix/sysv/linux/fxstat.c (__fxstat64_internal): Added.
	* sysdeps/unix/sysv/linux/lxstat.c (__lxstat64_internal): Added.

2002-04-15  Bruno Haible  <bruno@clisp.org>

	* iconvdata/armscii-8.c (BODY for FROM_LOOP): Fix array access.
	(BODY for TO_LOOP): Likewise.
	* iconvdata/tcvn5712-1.c (from_ucs4): Map U+0309 to 0xB1.
	* iconvdata/tst-table.sh: Add support for encodings which contain
	precomposed Unicode characters, known to the iconv converter in both
	directions but not listed in the charmap.
	* iconvdata/IBM856.irreversible: New file.
	* iconvdata/IBM922.irreversible: New file.
	* iconvdata/IBM1132.irreversible: New file.
	* iconvdata/IBM1133.irreversible: New file.
	* iconvdata/IBM1160.irreversible: New file.
	* iconvdata/IBM1161.irreversible: New file.
	* iconvdata/IBM1163.irreversible: New file.
	* iconvdata/IBM1164.irreversible: New file.
	* iconvdata/ARMSCII-8.irreversible: New file.
	* iconvdata/TCVN5712-1.precomposed: New file.
	* iconvdata/tst-tables.sh: Add IBM856, IBM922, IBM1124, IBM1129,
	IBM1160, IBM1161, IBM1132, IBM1133, IBM1162, IBM1163, IBM1164,
	ARMSCII-8, TCVN5712-1.
	* iconvdata/Makefile (distribute): Add IBM856.irreversible,
	IBM922.irreversible, IBM1132.irreversible, IBM1133.irreversible,
	IBM1160.irreversible, IBM1161.irreversible, IBM1163.irreversible,
	IBM1164.irreversible, ARMSCII-8.irreversible, TCVN5712-1.precomposed.

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

	* time/tst-mktime.c: Include <stdlib.h>.  Use %d, not %ld format
	for EVENING69.  Include offsets in TZ environment variable.

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

	* iconv/skeleton.c (RESET_INPUT_BUFFER): Replace ifs with #ifs to
	avoid compiler warnings.

	* locale/programs/localedef.c (main): Always call
	construct_output_path.

	* iconv/Makefile (CFLAGS-simple-hash.c): Define to find hashval.h.

	* locale/programs/locfile.c (to_archive): New variable.  To collect
	data which has to be added to the locale archive.
	(write_all_categories): Take new third parameter with locale name.
	Unless no_archive flag set add new locale data to the archive
	(write_locale_data): Unless no-archive flag set store generated data
	in to_archive data structure instead of generation output file.
	Add new parameter with locale category index.
	* locale/programs/locfile.h: Add new parameters in declaractions of
	write_all_categories and write_locale_data.
	* locale/programs/localedef.c: Recognize --no-archive, --list-archive,
	--add-to-archive, and --delete-from-archive options.  Pass extra
	parameter to write_all_categories.
	* locale/programs/localedef.h: Add prototypes for functions in
	locarchive.c.
	* locale/locarchive.h: New file.
	* locale/programs/locarchive.c: New file.
	* locale/Makefile (distribute): Add programs/locarchive.c and
	locarchive.h.
	(localedef-modules): Add md5 and locarchive.
	Add vpath to crypt subdir for md5.c.

	* locale/programs/ld-address.c: Pass locale category ID as new second
	parameter to write_locale_data.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/ld-time.c: Likewise.

	* locale/simple-hash.c: Move compute_hashval function from here...
	* locale/hashval.h: ...to here.  New file.
	* locale/simple-hash.h: Add prototype for compute_hashval.

	* include/libintl.h: Minor cleanups.

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

	* posix/regcomp.c (gettext): Use INTUSE for _libc_intl_domainname.

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

	* include/sys/stat.h: Fix typo.  Patch by HJ Lu.

2002-04-14  Bruno Haible  <bruno@clisp.org>

	* locale/programs/charmap.c (charmap_read): Don't access result if
	result == NULL.

2002-02-17  Andreas Schwab  <schwab@suse.de>

	* elf/reldep7.c: New file.
	* elf/reldep7mod1.c: New file.
	* elf/reldep7mod2.c: New file.
	* elf/Makefile: Add rules to build and run reldep7.

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

	* elf/dl-lookup.c (_dl_lookup_symbol): Move add_dependency call to
	the end of the function.  Pass original flags to recursive call if
	add_dependency failed.
	(_dl_lookup_versioned_symbol): Likewise.

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

	* time/mktime.c (__mktime_internal): If year is 69, don't bail out
	early, but check whether it overflowed afterwards.
	* time/tst-mktime.c (main): Add new tests.

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

	* debug/xtrace.sh: Fix program name in help message.
	Patch by Roger Luethi <rl@hellgate.ch>.

	* include/sys/stat.h: Add prototypes for __lxstat_internal and
	__lxstat64_internal.  Add macros __lxstat and __lxstat64 if not
	NOT_IN_libc.
	* sysdeps/generic/lxstat.c: Use INTDEF for __lxstat.
	* sysdeps/mach/hurd/lxstat.c: Likewise.
	* sysdeps/unix/common/lxstat.c: Likewise.
	* sysdeps/unix/sysv/aix/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise.
	* sysdeps/generic/lxstat64.c: Use INTDEF for __lxstat64.
	* sysdeps/mach/hurd/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/aix/lxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.

	* include/wchar.h: Declare __mbrtowc_internal and __mbrlen_internal
	prototypes.  Add __mbrlen and __mbrtowc macros.
	* wcsmbs/mbrlen.c: Use INTDEF for __mbrlen.
	* wcsmbs/mbrtowc.c: Use INTDEF for __mbrtowc.

	* include/unistd.h: Add prototype for __write_internal and add
	__libc_write macro is SHARED.
	* sysdeps/generic/write.c: Use INTDEF for __write.
	* sysdeps/mach/hurd/write.c: Likewise.
	* sysdeps/unix/sysv/aix/write.c: Likewise.
	* sysdeps/unix/syscalls.list: Add __libc_write alias.

	* assert/assert.c: Replace STR_N_SIZE with something usable in
	macro arguments.
	* assert/assert-perr.c: Likewise.

	* include/sys/socket.h: Declare __libc_sa_len_internal and define
	SA_LEN macro to use it if not NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sa_len.c: Use INTDEF for __libc_sa_len.

	* include/fcntl.h: Declare __open_internal and define __open and
	__libc_open macros if not NOT_IN_libc.
	* sysdeps/generic/open.c: Use INTDEF for __open.
	* sysdeps/mach/hurd/open.c: Likewise.
	* sysdeps/unix/sysv/aix/open.c: Likewise.
	* sysdeps/unix/syscalls.list: Add __open_internal alias.

	* sysdeps/generic/check_fds.c: Make sure newly opened file descriptor
	has correct number.

	* include/fcntl.h: Define __libc_fcntl macro if not NOT_IN_libc.
	* sysdeps/mach/hurd/fcntl.c: Undefine __libc_fcntl as well.
	* sysdeps/unix/sysv/aix/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.

	* include/wctype.h: Declare __iswalpha_l_internal,
	__iswdigit_l_internal, __iswspace_l_internal,
	__iswxdigit_l_internal, and __iswctype_internal.  Define
	__iswalpha_l, __iswctype, __iswdigit_l, __iswspace_l, and
	__iswxdigit_l macros if not NOT_IN_libc.
	* wctype/iswctype.c: Use INTDEF for __iswctype.
	* wctype/wcfuncs_l.c: Use INTDEF for all __iswXXX_l.

	* 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.

	* include/sys/time.h: Declare __gettimeofday_internal and define
	__gettimeofday macro if not NOT_IN_libc.
	* sysdeps/generic/gettimeofday.c: Use INTEDEF for __gettimeofday.
	* sysdeps/mach/gettimeofday.c: Likewise.
	* sysdeps/posix/gettimeofday.c: Likewise.
	* sysdeps/unix/sysv/aix/gettimeofday.c: Likewise.
	* sysdeps/unix/common/syscalls.list: Define __gettimeofday alias.
	* sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Likewise.

	* include/sys/stat.h: Declare __fxstat_internal and __fxstat64_internal
	and define __fxstate and __fxstat64 macros if not NOT_IN_libc.
	Remove __lstat and __fstat inline functions.
	* sysdeps/generic/fxstat.c: Use INTDEF for __fxstat.
	* sysdeps/mach/hurd/fxstat.c: Likewise.
	* sysdeps/unix/fxstat.c: Likewise.
	* sysdeps/unix/sysv/aix/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise.
	* sysdeps/generic/fxstat64.c: Use INTDEF for __fxstat64.
	* sysdeps/mach/hurd/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/aix/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.

	* include/unistd.h: Declare __getpid_internal and define
	__getpid macro if not NOT_IN_libc.
	* sysdeps/mach/hurd/getpid.c: Use INTDEF for __getpid.
	* sysdeps/generic/getpid.c: Likewise.
	* sysdeps/unix/syscalls.list: Add __getpid_internal alias.
	* posix/bsd-getpgrp.c: Use INTUSE for __getpgid call.

	* include/unistd.h: Declare __getpgid_internal and define
	__getpgid macro if not NOT_IN_libc.
	* sysdeps/generic/getpgid.c: Use INTDEF for __getpgid.
	* sysdeps/mach/hurd/getpgid.c: Likewise.
	* sysdeps/unix/sysv/aix/getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Add _getpgid_internal alias.

	* include/unistd.h: Declare __getpagesize_internal and define
	__getpagesize macro if not NOT_IN_libc.
	* sysdeps/unix/sysv/linux/shmat.c: Include <unistd.h> for
	__getpagesize.
	* sysdeps/generic/getpagesize.c: Use INTDEF for __getpagesize.
	* sysdeps/mach/getpagesize.c: Likewise.
	* sysdeps/posix/getpagesize.c: Likewise.
	* sysdeps/unix/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/m68k/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.

2002-04-13  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/i486/bits/string.h (__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-13  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/fpu/s_finite.c: Add internal alias.
	* sysdeps/m68k/fpu/s_finitef.c: Likewise.
	* sysdeps/m68k/fpu/s_finitel.c: Likewise.

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

	* elf/do-lookup.h [!VERSIONED]: Add new parameter flags.  Use it to
	check whether the caller prefers getting the most recent version of
	a symbol of the earliest version.
	* elf/dl-lookup.c: Adjust all callers of do_lookup.  Change
	_dl_do_lookup to also take the new parameter and pass it on.
	Change 'explicit' parameter of _dl_lookup_symbol and
	_dl_lookup_versioned_symbol to flags.  Adjust tests.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes.
	* elf/dl-libc.c: Adjust all callers of _dl_lookup_symbol and
	_dl_lookup_versioned_symbol.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.

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

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Don't paste
	in a token.
	* sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (LOC): Likewise.

2002-04-10  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/glob.c: New file.

	* include/argz.h: Remove extra char from last patch.

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

	* 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.

	* extra-lib.mk: Mark assignment to lib with override.

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

	* Makerules: Use cppflags-iterator.mk to add defines for all test
	source files.

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  Ulrich Drepper  <drepper@redhat.com>

	* cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead
	of NOT_IN_LIBC.
	* include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC.
	* include/stdlib.h: Likewise.

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

	* elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld
	instead of _RTLD_LOCAL.
	* elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL.
	* include/unistd.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.

	* stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays
	if in libc or ld.so.

2002-04-08  Andreas Jaeger  <aj@suse.de>

	* elf/cache.c (print_entry): Support x86-64.

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

	* include/stdlib.h: For libc itself replace MB_CUR_MAX definition
	with one accessing the locale data structures directly.
	* stdio-common/printf-prs.c: Include localeinfo.h for new
	MB_CUR_MAX definition.

	* Makeconfig (CPPFLAGS): Also add CPPFLAGS-<basename> where <basename>
	is the name of the source file without extension.
	* Makefile (distribute): Add cppflags-iterator.mk.
	* cppflags-iterator.mk: New file.
	* extra-lib.mk: For the sources of the library run
	cppflags-iterator.mk.

	* include/libintl.h: Declare __dcgettext_internal and
	_libc_intl_domainname_internal.  Define __dcgettext using these
	two symbols if used in libc itself.
	* argp/argp-help.c: Define dgettext using __dcgettext_internal and
	_libc_intl_domainname_internal.
	* argp/argp-parse.c: Likewise.
	* intl/dcgettext.c (__dcgettext): Use INTDEF to define alias.
	* intl/dgettext.c: Call __dcgettext_internal instead of __dcgettext.
	* intl/gettext.c: Likewise.
	* locale/SYS_libc.c (_libc_intl_domainname): Use INTDEF to define
	alias.
	* posix/regcomp.c (gettext): Use __dcgettext_internal instead of
	__dcgettext.
	* posix/regex_internal.c (gettext): Likewise.

2002-04-08  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: Fix rewrite rule.

	* sysdeps/x86_64/fpu/s_llrint.S: New file.
	* sysdeps/x86_64/fpu/s_llrintf.S: New file.
	* sysdeps/x86_64/fpu/s_llrintl.S: New file.
	* sysdeps/x86_64/fpu/s_lrint.S: New file.
	* sysdeps/x86_64/fpu/s_lrintf.S: New file.
	* sysdeps/x86_64/fpu/s_lrintl.S: New file.

2002-04-08  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/dl-sysdep.c (__mmap): Use MAP_FAILED instead of
	widening __hurd_fail value.

2002-04-07  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/alpha/trampoline.c: Don't include
	<mach/machine/alpha_instruction.h>.
	(_hurd_setup_sighandler): Take proper arguments for current decls.
	Update code to use _hurdsig_catch_fault.
	Use `callsys' instruction instead of `call_pal'.
	* sysdeps/mach/hurd/alpha/intr-msg.h: New file.

	* sysdeps/mach/alpha/sysdep.h: Include <mach/alpha/asm.h>.
	(ALIGN, at, AT, fp): New macros.

2002-04-06  Roland McGrath  <roland@frob.com>

	* mach/setup-thread.c (__mach_setup_thread): int -> natural_t

	* sysdeps/mach/hurd/dl-sysdep.c: Use ElfW(TYPE) in place of Elf32_TYPE.
	(__mmap): Use MAP_FAILED instead of widening __hurd_fail value.

	* sysdeps/mach/hurd/bind.c: Use prototype definition.
	* sysdeps/mach/hurd/connect.c: Likewise.
	* sysdeps/mach/hurd/getsockopt.c: Likewise.
	* sysdeps/mach/hurd/setsockopt.c: Likewise.

	* sysdeps/mach/hurd/alpha/sigreturn.c: Pass missing argument to
	__msg_sig_post RPC.

	* hurd/catch-exc.c: Use integer_t instead of int.
	* hurd/hurdfault.c: Likewise.

	* sysdeps/mach/hurd/alpha/exc2signal.c
	(_hurd_exception2signal): Rewritten.
	* sysdeps/mach/hurd/alpha/longjmp-ts.c
	(_hurd_longjmp_thread_state): Rewritten.

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

	* 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.

	* sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export
	list.
	* elf/Versions: Remove it here.

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

	* iconvdata/tcvn5712-1.c (MAX_NEEDED_INPUT): Define for from
	direction.  Reported by H . J . Lu <hjl@lucon.org>.

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

	* intl/tst-gettext.sh: Set GCONV_PATH and LOCPATH to values for the
	test just before the test runs.
	* intl/tst-translit.sh: Likewise.
	* intl/tst-codeset.sh: Likewise.

	* timezone/zic.c: Update from tzcode2002c.
	* timezone/asia: Update from tzdata2002c.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

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

	* sysdeps/generic/brk.c (__curbrk): Declare.
	* sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk.
	* sysdeps/generic/dl-sbrk.c: Likewise.
	* sysdeps/unix/arm/dl-brk.S: New file.
	* sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file.
	* sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/vax/dl-brk.S: New file.
	* sysdeps/unix/i386/dl-brk.S: New file.
	* sysdeps/unix/mips/dl-brk.S: New file.
	* sysdeps/unix/sparc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file.

2002-04-03  Andreas Schwab  <schwab@suse.de>

	* Makefile (headers): Add gnu/lib-names.h here instead of
	install-others.
	($(inst_includedir)/gnu/lib-names.h): Remove explicit
	installation rule.
	(install-headers): Add dependency on install-headers-nosubdir.
	* stdio-common/Makefile (headers): Add bits/stdio_lim.h here
	instead of install-others.
	($(inst_includedir)/bits/stdio_lim.h): Remove explicit
	installation rule.

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

	* manual/users.tex (Enable/Disable Setuid): Fix typo in example.
	Reported by Sam Roberts <sroberts@uniserve.com>.

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

	* elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if
	l_addr == 0 and ELF_MACHINE_REL_RELATIVE.
	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.
	* sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.

2002-04-03  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info.
	(RTLD_START): Ditto.
	(__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW
	dependency violation.

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

	* time/mktime.c (__mktime_internal): Move check for year < 70 below
	all variable declarations.

2002-04-04  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/pipe.S: Don't overwrite r8 on error.

2002-04-04  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/fpu/e_sqrt.c: New file.
	* sysdeps/x86_64/fpu/e_sqrtf.c: New file.

	* sysdeps/x86_64/fpu/s_fabs.c: New file.
	* sysdeps/x86_64/fpu/s_fabsf.c: New file.
	* sysdeps/x86_64/fpu/s_fabsl.c: New file.

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

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

	* sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: Removed.
	* sysdeps/unix/sysv/linux/x86_64/time.c: Removed.

	* configure.in: Handle all mips entries the same.

	* sysdeps/mips/dec/bits/endian.h: Removed since arch is not supported.
	* sysdeps/mips/mips3/*: Likewise.
	* sysdeps/mips/p40/bits/endian.h: Likewise.

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

	* misc/dirname.c (dirname): Ignore trailing slashes at end of
	non-null result [PR libc/2600].

	* misc/tst-dirname.c: Add more tests.

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

	* locale/programs/charmap.c (charmap_read): If the charmap doesn't
	define a code_set_name provide one based on the filename.

	* malloc/hooks.c: Define weak_variable correctly for _LIBC.

2001-12-28  Andreas Jaeger  <aj@suse.de>

	* time/mktime.c (__mktime_internal): Check for year < 70
	[PR libc/2738].

2002-04-03  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments for
	shmat.
	Reported by Andi Kleen <ak@suse.de>.

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

	* sysdeps/generic/w_lgamma.c: Initialized local_signgam.
	* sysdeps/generic/w_lgammaf.c: Likewise.
	* sysdeps/generic/w_lgammal.c: Likewise [PR libc/2854].

	* debug/catchsegv.sh (exval): Quote [ in pattern [PR libc/2902].
	Adjust for new output format of the backtrace functions.

	* misc/syslog.c (vsyslog): Only use cleanup handler if
	_LIBC_REENTRANT is defined [PR libc/2924].

	* libio/Makefile (tests): Add bug-ungetwc2.
	* libio/bug-ungetwc2.c: New file.

	* manual/install.texi: Typographical and grammatical cleanup.
	Patch by Dennis Grace <dgrace@us.ibm.com>.

	* sunrpc/rpc_svcout.c (write_real_program): Write "result, "
	parameter if mtflag.  Patch by <jeongyun@innovay.com>.

	* sunrpc/rpc_svcout.c (printif): Remove third parameter.  It was
	always "&".  Adjust callers.
	Add "_" prefix to several generated definitions.
	Patch by paul@serice.net [PR libc/3158].

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

	* sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Completely specify
	size of _dl_arm_cap_flags.
	Patch by enrico.scholz@informatik.tu-chemnitz.de [PR libc/3155].

	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT):
	Define as 8.

2002-03-22  H.J. Lu  <hjl@gnu.org>

	* scripts/firstversions.awk: Check the first version.

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

	* elf/dl-deps.c (_dl_map_object_deps): The sorting of the
	dependencies must be stable to work correctly.
	Reported by martin.lubich@datacon.at.

	* libio/bug-ungetwc1.c: New file.
	* libio/Makefile (tests): Add bug-ungetwc1.

	* libio/fileops.c (_IO_new_file_close_it): Only call _IO_do_flush
	if stream was last used for writing.

	* elf/do-lookup.h (do_lookup): 2 is the first user-defined version
	number [PR libc/3111].

	* libio/iofclose.c (_IO_new_fclose): Move freeing of backup buffer
	to ...
	* libio/fileops.c (_IO_new_file_close_it): ...here [PR libc/3190].

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-03-31  Roland McGrath  <roland@frob.com>

	* hurd/hurdselect.c (_hurd_select): Fix
	MACH_MSG_TYPE_INTEGER_T -> integer_t in sizeof.
	Use a union rather than casts to compare mach_msg_type_t as int.

2002-03-25  Roland McGrath  <roland@frob.com>

	* hurd/hurdchdir.c (_hurd_change_directory_port_from_name): Don't
	check off the end of NAME when it's shorter than 2 chars.
	Reported by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.

2002-03-17  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/sys/io.h: New file.
	* sysdeps/mach/hurd/i386/ioperm.c: New file.
	* sysdeps/mach/hurd/i386/Dist: Add them.
	* sysdeps/mach/hurd/i386/Versions
	(libc: GLIBC_2.2.6): New set, add ioperm.
	* sysdeps/mach/configure.in: New check to set HAVE_I386_IO_PERM_MODIFY.
	(mach_interface_list): Check for mach_i386.defs.
	* config.h.in (HAVE_I386_IO_PERM_MODIFY): #undef it.
	* sysdeps/mach/configure: Regenerated.

2002-03-22  Ulrich Drepper  <drepper@redhat.com>

	* po/fr.po: Update from translation team.

2002-03-21  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Remove
	getpriority from syscalls list.

2002-03-28  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/swapcontext.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/setcontext.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: New file.

2002-03-27  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
	sigcontext): Follow further kernel change.

	* sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Follow further
	kernel change.

	* sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (GET_STACK):
	Change for struct sigcontext change.

	* sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
	Follow changes in struct sigcontext.

	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Remove ptrace
	sysycall, use wrapper instead.

2002-03-26  Andreas Jaeger  <aj@suse.de>

	* 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.

	* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Fix typo.  Reported by
	Michal Ludvig <mludvig@suse.cz>.

	* sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Add 32-bit
	compatibilty, adjust for kernel changes.

	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
	sigcontext): Adjust for kernel changes.

2002-03-25  Andreas Jaeger  <aj@suse.de>

	* iconv/gconv_simple.c (ucs4le_internal_loop_single): Handle
	little endian.
	Reported by Artur Zaprzala <zybi@talex.com.pl>.

2002-03-24  Andreas Jaeger  <aj@suse.de>

	* manual/memory.texi (Aligned Memory Blocks): Fix typo.

	* stdio-common/tst-fdopen.c (main): Remove unused variable.

	* iconv/tst-iconv3.c (main): Use correct printf strings.

2002-03-18  Roland McGrath  <roland@frob.com>

	* sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsgcred): New type.
	(CMGROUP_MAX): New macro.

2002-03-23  Roland McGrath  <roland@frob.com>

	* sysdeps/posix/shm_open.c (SHMDIR): /var/run/shm -> /dev/shm
	* sysdeps/posix/shm_unlink.c: Likewise.

2002-03-22  Roland McGrath  <roland@frob.com>

	* shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Make 2.2.6 default.
	* sysdeps/mach/hurd/configure.in: Default oldest ABI is 2.2.6
	under --enable-libio.
	* sysdeps/mach/hurd/configure: Regenerated.

2002-03-23  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/Makefile
	(sysdep_routines, shared-only-routines): Don't add framestate,
	reverting 2001-10-02 change.
	* sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Makefile: Likewise.
	* sysdeps/generic/Makefile (sysdep_routines, shared-only-routines):
	Do it here instead, only if [$(unwind-find-fde) = yes].

2002-03-23  Andreas Jaeger  <aj@suse.de>

	* signal/signal.h: Fix typo. Patch by Steve Kemp
	<skx@tardis.ed.ac.uk>.

2002-03-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add getresgid and
	getresuid.

	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
	_fpstate): Rename fwd to ftw, use _fpxreg and _xmmreg.
	* sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
	user_fpregs_struct): Rename fwd.

	* sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
	Follow sigcontext changes.

2002-03-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/mips/bits/nan.h: New file.  Copy from generic one with
	changes for NaNs on MIPS.
	Patch by Hartvig Ekner <hartvige@mips.com>.

2002-03-21  Ulrich Drepper  <drepper@redhat.com>

	* nscd/grpcache.c (addgrbyname): Improve buffer allocate with alloca.
	Use realloc if too large.
	(addgrbyid): Likewise.
	* nscd/hstcache.c (addhstbyname): Likewise.
	(addhstbyaddr): Likewise.
	(addhstbynamev6): Likewise.
	(addhstbyaddrv6): Likewise.
	* nscd/pwdcache.c (addpwbyname): Likewise.
	(addpwbyuid): Likewise.

2002-03-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct
	_fpstate): Add separate struct for x86-64.

	* sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
	user_fpregs_struct): Change member names to follow kernel.

2002-03-20  Ulrich Drepper  <drepper@redhat.com>

	* nis/ypclnt.c (yp_all): Remove the hack introduced on 1998-09-29.
	Correctly close the UDP connection right away [PR libc/3120].

2002-03-20  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
	user_fpregs_struct): Fix for changed kernel struct.
	(struct user_regs_struct): Likewise.
	(struct user): Likewise.
	Add 32-bit x86 compatibility.

	* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add more registers.

2002-03-19  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/bits/types.h: Cleanup x86 types.

2002-03-18  Andreas Jaeger  <aj@suse.de>

	* iconvdata/Makefile: Only run tests when shared libs are
	available.

2002-03-17  Andreas Jaeger  <aj@suse.de>

	* sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits.

	* sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment.

	* sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause
	bits.

	* sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New macro.
	(CAUSE_SHIFT): New macro.
	Patch by Hartvig Ekner <hartvige@mips.com>.

	* sysdeps/generic/unwind-dw2-fde-glibc.c: Add prototypes.
	* sysdeps/generic/unwind-pe.h: Likewise.

	* libio/iofdopen.c (_IO_new_fdopen): Pass parameter of correct
	type to _IO_setb.

	* libio/stdio.c (AL2): Define variant when visibility attribute is
	not supported.

	* include/libc-symbols.h (_INTVARDEF): Define variant when
	visibility attribute is not supported.

2002-03-16  Ulrich Drepper  <drepper@redhat.com>

	* po/fr.po: Update from translation team.

2002-02-25  Bruno Haible  <bruno@clisp.org>

	* MakeTAGS (extract): Use --sort-by-file instead of --sort-output.

2002-03-15  Ulrich Drepper  <drepper@redhat.com>

	* libio/iofdopen.c (_IO_new_fdopen): Call _IO_setb to deallocate
	buffers if _IO_file_attach failed.

	* libio/fileops.c (_IO_file_open): Close file descriptor if
	_IO_SEEKOFF call failed.

2002-03-15  H.J. Lu  <hjl@gnu.org>
            Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Check for availability of
	init_array/fini_array/preinit_array handling in binutils.
	* config.h.in (HAVE_INITFINI_ARRAY): New macro.
	* config.make.in (have-initfini-array): New variable.

2002-03-15  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/tst-printf.c (main): Comment out one test which
	checked the compiler's ability to fold floating-point constants
	but not really printf.
	(rfg3): Make s const.
	* stdio-common/tst-printf.sh: Adjust for removed test.

	* 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/aliases.h: Declare __getaliasent_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_conf.c: Add internal_function to __gconv_get_path
	definition.  Add attribute_hidden to __gconv_read_conf definition.

2002-03-14  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c: Declare _environ as hidden.
	* sysdeps/generic/dl-environ.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.

	* sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and
	_dl_mcount_internal as hidden.

	* elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk.
	* sysdeps/generic/dl-brk.c: New file.
	* sysdeps/generic/dl-sbrk.c: New file.
	* sysdeps/unix/sysv/linux/i386/dl-brk.c: New file.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.

	* 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-14  Roland McGrath  <roland@frob.com>

	* Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h.

	* Makeconfig (%.v.i, %.v): New implicit rules.
	(preprocess-versions): Variable removed.
	($(common-objpfx)shlib-versions.v.i): New target giving just the
	shlib-versions input files as dependencies.
	($(common-objpfx)soversions.i): Depend on that instead of the input
	files.  Use it as input instead of using a pipeline.
	(postclean-generated): Append soversions.i, shlib-versions.v, and
	shlib-versions.v.i here.
	* Makerules ($(common-objpfx)Versions.def.v.i): New target giving just
	the Versions.def input files as dependencies.
	($(common-objpfx)Versions.v.i): Likewise for Versions files.
	($(common-objpfx)Versions.all): Depend on that instead of the input
	files.  Use it as input instead of using a pipeline.
	($(common-objpfx)sysd-versions): Likewise with Versions.v.i.
	(postclean-generated): Append those .v and .v.i files here.

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-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/gnu/errlist.awk: Define _sys_errlist_internal and
	_sys_nerr_internal with INTVARDEF2.
	* include/libc-symbols.h (INTVARDEF2): New macro.
	* include/stdio.h (_sys_errlist_internal): Declare as hidden.
	(_sys_nerr_internal): Library.

	* sysdeps/posix/signal.c (_sigintr): Define as hidden.
	* sysdeps/posix/sigintr.c (_sigintr): Declare as hidden.

	* stdio-common/tst-printf.sh: Adjust for last change in tst-printf.c.

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

	* malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed.

2002-03-02  Andreas Schwab  <schwab@suse.de>

	* stdio-common/vfprintf.c (process_arg): Fix decimal format with
	'h' flag and positional arg.
	* stdio-common/tst-printf.c (rfg3): New function to test
	positional arguments.
	(main): Fix some warnings.

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

	* elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.

2002-03-13  Ulrich Drepper  <drepper@redhat.com>

	* grp/initgroups.c (__nss_group_data): Declare as hidden.

	* include/locale.h (_nl_C_locobj): Declare as hidden.

	* time/asctime.c (_nl_C_LC_TIME): Declare as hidden.
	* time/strptime.c (_nl_C_LC_TIME): Likewise.

	* include/netinet/in.h (in6addr_any_internal): Mark as hidden.

	* include/sys/gmon.h: Declare _gmonparam as hidden.

	* locale/lc-ctype.c (__ctype32_wctype): Declare as hidden.
	(__ctype32_wctrans): Likewise.
	(__ctype32_width): Likewise.

	* sysdeps/unix/sysv/linux/ttyname.c: Comment out definition and
	use of __ttyname.

	* posix/regcomp.c (__re_error_msgid): Renamed from re_error_msgid.
	Define as hidden.
	(__re_error_msgid_idx): Renamed from re_error_msgid_idx.  Define as
	hidden.  Change all users of these variables.

	* posix/regex_internal.h (__re_error_msgid): Renamed from
	re_error_msgid.  Declare as hidden.
	(__re_error_msgid_idx): Renamed from re_error_msgid_idx.  Declare as
	hidden.

	* stdio-common/reg-printf.c (__printf_arginfo_table): Define as hidden.
	(__printf_function_table): Likewise.
	* stdio-common/printf-parse.h (__printf_arginfo_table): Declare as
	hidden.
	(__printf_function_table): Likewise.

	* nscd/nscd_proto.h: Declare __nss_not_use_nscd_passwd,
	__nss_not_use_nscd_group, and __nss_not_use_nscd_hosts as hidden.

	* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Define as hidden.
	* nss/nsswitch.c: Declare _nss_*_database as hidden.

	* stdlib/wctomb.c (__no_r_state): Declare as hidden.
	* stdlib/mbtowc.c (__no_r_state): Define as hidden.

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

	* 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.

	* stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden.
	(_itowa_upper_digits): Likewise.

	* libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden.
	* libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare
	as hidden.

	* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps,
	_IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps,
	_IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal,
	_IO_wfile_jumps_internal, and _IO_list_all_internal as hidden.

	* gmon/gmon.c (__bb_head): Define as hidden.
	* gmon/bb_exit_func.c (__bb_head): Declare as hidden.

	* argp/argp-parse.c (_argp_hang): Define as static.

	* include/libc-symbols.h (_INTVARDEF): Adjust for visibility
	handling in latest compilers.

	* inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to
	define alias.
	* libio/fileops.c (_IO_file_jumps): Likewise.
	* libio/stdfiles.c (_IO_list_all): Likewise.
	* libio/wfileops.c (_IO_wfile_jumps): Likewise.

	* malloc/malloc.h: Move __libc_malloc_initialized declaration to
	include/malloc.h.
	* include/malloc.h: Add __libc_malloc_initialized declaration
	here.  Mark variable hidden.
	* malloc/malloc.c: Include <malloc.h> not "malloc.h".

	* elf/dl-open.c (__libc_argc): Declare as hidden.
	(__libc_argv): Likewise.
	* sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden.
	(__libc_argv): Likewise.
	* sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and
	__libc_argv as hidden.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/unix/sysv/aix/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Likewise.

	* include/stdlib.h (__libc_drand48_data): Declare as hidden.
	* stdlib/drand48.c: Remove declaration of __libc_drand48_data here.
	* stdlib/erand48.c: Likewise.
	* stdlib/jrand48.c: Likewise.
	* stdlib/lcong48.c: Likewise.
	* stdlib/lrand48.c: Likewise.
	* stdlib/mrand48.c: Likewise.
	* stdlib/nrand48.c: Likewise.
	* stdlib/seed48.c: Likewise.
	* stdlib/srand48.c: Likewise.

	* stdio-common/_itoa.c (_itoa_base_table): Declare as hidden.
	(_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits.
	* stdio-common.h (_itoa_lower_digits_internal): New declaration.
	(_itoa_upper_digits_internal): New declaration.
	(_itoa_word): Use INTUSE to acces _itoa_upper_digits and
	_itoa_lower_digits.
	* stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits.
	* stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits.

	* elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden.
	* elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.

	* stdio-common/_itowa.c (_itoa_base_table): Declare as hidden.
	(_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.
	* stdio-common/_itowa.h (_itowa_lower_digits): Likewise.
	(_itowa_upper_digits): Likewise.

	* intl/plural-exp.h (attribute_hidden): Define as empty macro if
	not already defined.
	(GERMANIC_PLURAL): Declare as hidden.

	* posix/getopt.c (__getopt_initialized): Declare as hidden.
	(attribute_hidden): Define as empty macro if not already defined.

	* iconv/gconv_int.h (__gconv_path_elem): Declare hidden.
	(__gconv_max_path_elem_len): Likewise.
	(__gconv_path_envvar): Likewise.

	* math/Makefile (gmp-objs): Remove mp_clz_tab.
	* stdlib/Makefile (aux): Remove mp_clz_tab.
	* stdlib/mp_clz_tab.c: Removed.  Not needed anywhere.

	* stdlib/exit.h (__exit_funcs): Declare as hidden.

	* posix/bug-regex5.c (main): Use nl_langinfo instead of _NL_CURRENT.

	* locale/localeinfo.h: Add attribute_hidden to _nl_current_LC_XXX,
	_nl_category_names, _nl_category_name_sizes, _nl_current,
	_nl_C_name, _nl_POSIX_name, _nl_C_codeset, and _nl_C_LC_XXX.

	* intl/dcigettext.c (_nl_default_default_domain): Define as hidden.
	(_nl_current_default_domain): Likewise
	(_nl_state_lock): Likewise.
	* intl/textdomain.c (_nl_default_default_domain): Declare as hidden.
	(_nl_current_default_domain): Likewise
	(_nl_state_lock): Likewise.
	* intl/bindtextdom.c (_nl_state_lock): Likewise.

	* stdlib/fpioconst.h (__tens): Add attribute_hidden.
	(_fpioconst_pow10): Likewise.

	* include/time.h (_tmbuf): Add attribute_hidden.

	* time/tzset.c (tzstring_list): Define as static.

	* include/time.h: Add attribute_hidden to __tzname_cur_max and
	__use_tzfile declaration.

	* wcsmbs/wcsmbsload.h: Add attribute_hidden to __wcsmbs_gconv_fcts
	and __wcsmbs_last_locale declaration.

2002-02-25  Paul Eggert  <eggert@twinsun.com>

	* timezone/Makefile (tzbases): Move systemv from here...
	(tzlinks): to here, since the entries in systemv were all changed
	from Zone to Link lines in tz-2001a.  Bug reported (and patch
	tested) by Peter Breitenlohner.

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

	* time/tst-posixtz.c (tests): Add new tests.
	(main): Test whether tzset() sets daylight properly.

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

	* time/tzset.c (tz_compute): Move __daylight, __tzname and
	__tzname_cur_max setting...
	(tzset_internal): ...here.

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

	* time/tzset.c (compute_change): Don't return any value.
	(tz_compute): Likewise.  Don't handle southern hemisphere here.
	(__tz_convert): But here.

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-11  Jakub Jelinek  <jakub@redhat.com>

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

	* sysdeps/sparc/sparc64/configure.in: New file.
	* 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.

2002-03-11  Ulrich Drepper  <drepper@redhat.com>

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

	* po/es.po: Update from translation team.
	* po/fr.po: Likewise.

	* stdio-common/tfformat.c (sprint_doubles): A test for %F format.

	* stdio-common/printf_fp.c (__printf_fp): Correct check for %F format
	when determining type of format.
	Patch by James Antill <james@anqd.org> [PR libc/2787].

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

	* sysdeps/unix/bsd/ftime.c (ftime): Don't return 1000 in millitm.

2002-03-11  Roland McGrath  <roland@frob.com>

	* hurd/hurd/threadvar.h: Include <features.h> for __THROW macro.

	* Versions.def (libc): Add GLIBC_2.2.6.
	* hurd/Versions (libc: GLIBC_2.2.6): Add __errno_location.
	* sysdeps/mach/hurd/errnos.awk: In generated macro, use
	__errno_location instead of __hurd_errno_location, and don't inline it.
	* sysdeps/mach/hurd/bits/errno.h: Regenerated.
	* hurd/errno.c: New file.
	* hurd/Makefile (routines): Add errno.

2002-03-11  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (vfprintf): Avoid crashing for
	ridiculously large widths and precisions [PR libc/3026].

2002-03-11  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: Fix for bi-arch
	support.
	Patch by Susanne Oberhauser <froh@SuSE.de>.

2002-03-11  Ulrich Drepper  <drepper@redhat.com>

	* inet/rexec.c (ahostbuf): Define as static.

	* wctype/wcfuncs.c (__ctype32_wctype): Declare as hidden.
	(__ctype32_wctrans): Likewise.
	* wcsmbs/wcwidth.h (__ctype32_width): Declare as hidden.
	* ctype/ctype-info.c (__ctype32_wctype): Add attribute_hidden.
	(__ctype32_wctrans): Likewise.
	(__ctype32_width): Likewise.

	* gmon/Makefile (elide-routines.os): Add bb_init_func and bb_exit_func.
	They were never exported anyway.

	* gmon/gmon.c (_gmonparam): Add attribute_hidden.
	* gmon/sys/gmon.h: Remove declaration of _gmonparam.  It wasn't
	exported.
	* include/sys/gmon.h: Declare _gmonparam.

	* sysdeps/unix/sysv/linux/i386/getdents64.c: Don't define compatibility
	symbols for getdents64.  They were never exported.

2002-03-09  Roland McGrath  <roland@frob.com>

	* hurd/hurdsig.c (write_corefile): Fix swapped arguments to __dir_link.
	Reported by Jon Arney <jarney1@cox.net>.

2002-02-23  Roland McGrath  <roland@frob.com>

	* hurd/hurd/threadvar.h (__hurd_threadvar_location): Add __THROW to
	declaration.
	(__hurd_errno_location): Function removed.

2002-03-06  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add compatibility for
	32-bit.

2002-03-04  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/readelflib.c: New file.

	* sysdeps/unix/sysv/linux/kernel-features.h: Add defines for
	x86-64.

	* sysdeps/unix/sysv/linux/x86_64/bits/socket.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: New file.

	* sysdeps/x86_64/bits/setjmp.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/sem.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/resource.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Add compatibilty
	for x86.
	* sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/types.h: Likewise.

2002-02-28  Bo Thorsen  <bo@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Merge with i386
	version.

2002-03-03  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/bits/wordsize.h: New file.

	* elf/nodlopenmod2.c: Provide prototype to avoid warning.
	* elf/tst-tlsmod1.c: Likewise.

	* posix/regcomp.c: Get regex.h from include dir for internal
	prototypes.

	* sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype
	to libc-internal.h and include it.
	* include/libc-internal.h: Add __init_misc.

	* misc/init-misc.c: Include libc-internal.h for prototypes.

	* sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings.

	* misc/error.c [_LIBC]: Include libioP.h for prototype of
	_IO_putc_internal.

2002-03-03  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c: Compatibility changes to allow using the code
	outside glibc.

2002-02-28  Hartvig Ekner <hartvige@mips.com>

	* sysdeps/mips/elf/start.S: Added initialization of GP (to _gp) if
	compiled non-PIC.

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

	* sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Fix creation
	of .str elements in the returned data structure.

	* elf/elf.h: Add Alpha TLS bits.

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

	* sysdeps/unix/sysv/linux/nice.c: New file.

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-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  Ulrich Drepper  <drepper@redhat.com>

	* login/login.c (login): Always initialize ut_line field
	[PR libc/2991].

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  Ulrich Drepper  <drepper@redhat.com>

	* locale/iso-4217.def: Remove obsolete currencies for countries
	with Euro.

2002-02-28  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regcomp.c (regcomp): Remove a redundant condition.
	(init_word_char): Add a check on malloc failure.
	(create_initial_state): Likewise.
	(duplicate_node): Likewise.
	(calc_eclosure): Likewise.
	(calc_eclosure_iter): Likewise.
	(parse_expression): Likewise.
	(parse_bracket_exp): Remove unnecessary malloc invocations.
	(build_equiv_class): Likewise.
	(build_charclass): Likewise.
	* posix/regex_internal.c (re_node_set_intersect): Add a check
	on malloc failure.
	(re_node_set_add_intersect): Likewise.
	(re_node_set_merge): Likewise.
	(re_acquire_state): Likewise.
	(re_acquire_state_context): Likewise.
	(create_newstate_common): Likewise.
	(register_state): Likewise.
	(create_ci_newstate): Likewise.
	(create_cd_newstate): Likewise.
	* posix/regex_internal.h: Fix prototypes of re_acquire_state
	and re_acquire_state_context.
	* posix/regexec.c (regexec): Suit it to the error handling of
	re_search_internal.
	(re_match): Likewise.
	(re_search): Likewise.
	(re_search_internal): Add a check on malloc failure.
	(acquire_init_state_context): Likewise.
	(check_matching): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(sift_states_backward): Likewise.
	(sift_states_iter_bkref): Likewise.
	(add_epsilon_backreference): Likewise.
	(transit_state): Likewise.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(transit_state_bkref_loop): Likewise.
	(build_trtable): Likewise.
	(group_nodes_into_DFAstates): Likewise.
	(match_ctx_init): Likewise.
	(match_ctx_add_entry): Likewise.

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

	* elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to
	l_libname if profiling is enabled [PR libc/2916].

	* sysdeps/ia64/dl-tls.h: New file.

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

	* sysdeps/alpha/dl-machine.h (elf_machine_load_address, RTLD_START):
	Work around an Alpha gas bug.

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

	* catgets/open_catalog.c (__open_catalog): Fix typo in code which
	uses read to load the catalog.
	Patch by Andy Isaacson <adi@unlimitedscale.com> [PR libc/3011].

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

	* posix/Makefile (distribute): Add regcomp.c, regexec.c,
	regex_internal.c, and regex_internal.h.
	(CFLAGS-regex.c): Replace -DMBS_SUPPORT with -DRE_ENABLE_I18N.
	* posix/regex.c: Complete rewrite.
	* posix/regexec.c: New file.
	* posix/regcomp.c: New file.
	* posix/regex_internal.c: New file.
	* posix/regex_internal.h: New file.
	* posix/regex.h (RE_ICASE): New macro.
	Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.

	* stdio-common/vfscanf.c (_IO_vfwscanf): Always use ungetc, never
	ungetwc.  It's a macro.
	* libio/tst-swscanf.c (do_test): Adjust for now fixed wscanf
	implementation.
	Reported by Jason Merrill <jason@redhat.com>.

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

	* libio/iofopen.c (__fopen_maybe_mmap): Set the initial
	position to fp->_offset if it is set.
	* stdio-common/Makefile (tests): Add tst-fdopen.
	* stdio-common/tst-fdopen.c: New test.

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

	* libio/fileops.c (_IO_file_xsgetn_mmap): Handle reading from backup.
	* stdio-common/tst-ungetc.c (main): Add another test.

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

	* assert/assert-perr.c: Use INTUSE to reference functions and variables
	inside libc itself.  Use INTDEF and INTDEF2 to define appropriate
	aliases.  Add prototypes for the new aliases.
	* assert/assert.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/stdio.h: Likewise.
	* include/netinet/in.h: Likewise.
	* include/rpc/auth.h: Likewise.
	* include/rpc/auth_unix.h: Likewise.
	* include/rpc/key_prot.h: Likewise.
	* include/rpc/pmap_prot.h: Likewise.
	* include/rpc/pmap_rmt.h: Likewise.
	* include/rpc/rpc_msg.h: Likewise.
	* include/rpc/xdr.h: Likewise.
	* inet/gethstbyad_r.c: Likewise.
	* inet/gethstbynm2_r.c: Likewise.
	* inet/gethstbynm_r.c: Likewise.
	* inet/gethstent_r.c: Likewise.
	* inet/in6_addr.c: Likewise.
	* libio/__fpurge.c: Likewise.
	* libio/filedoalloc.c: Likewise.
	* libio/fileops.c: Likewise.
	* libio/ftello.c: Likewise.
	* libio/ftello64.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/iofclose.c: Likewise.
	* libio/iofdopen.c: Likewise.
	* libio/iofflush.c: Likewise.
	* libio/iofflush_u.c: Likewise.
	* libio/iofgetpos.c: Likewise.
	* libio/iofgetpos64.c: Likewise.
	* libio/iofgets.c: Likewise.
	* libio/iofgets_u.c: Likewise.
	* libio/iofopen.c: Likewise.
	* libio/iofopncook.c: Likewise.
	* libio/iofputs.c: Likewise.
	* libio/iofread.c: Likewise.
	* libio/iofread_u.c: Likewise.
	* libio/iofsetpos.c: Likewise.
	* libio/iofsetpos64.c: Likewise.
	* libio/ioftell.c: Likewise.
	* libio/iofwrite.c: Likewise.
	* libio/iogetline.c: Likewise.
	* libio/iogets.c: Likewise.
	* libio/iogetwline.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/iopadn.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/ioseekoff.c: Likewise.
	* libio/ioseekpos.c: Likewise.
	* libio/iosetbuffer.c: Likewise.
	* libio/iosetvbuf.c: Likewise.
	* libio/ioungetc.c: Likewise.
	* libio/ioungetwc.c: Likewise.
	* libio/iovdprintf.c: Likewise.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.
	* libio/libioP.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/obprintf.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldiofclose.c: Likewise.
	* libio/oldiofdopen.c: Likewise.
	* libio/oldiofgetpos.c: Likewise.
	* libio/oldiofgetpos64.c: Likewise.
	* libio/oldiofopen.c: Likewise.
	* libio/oldiofsetpos.c: Likewise.
	* libio/oldiofsetpos64.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/putc.c: Likewise.
	* libio/setbuf.c: Likewise.
	* libio/setlinebuf.c: Likewise.
	* libio/stdfiles.c: Likewise.
	* libio/stdio.c: Likewise.
	* libio/strops.c: Likewise.
	* libio/vasprintf.c: Likewise.
	* libio/vscanf.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* libio/wfiledoalloc.c: Likewise.
	* libio/wfileops.c: Likewise.
	* libio/wgenops.c: Likewise.
	* libio/wstrops.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/error.c: Likewise.
	* misc/syslog.c: Likewise.
	* nss/getXXbyYY_r.c: Likewise.
	* nss/getXXent_r.c: Likewise.
	* nss/hosts-lookup.c: Likewise.
	* stdio-common/getw.c
	* stdio-common/printf-prs.c: Likewise.
	* stdio-common/printf_fp.c: Likewise.
	* stdio-common/printf_size.c: Likewise.
	* stdio-common/putw.c: Likewise.
	* stdio-common/scanf.c: Likewise.
	* stdio-common/sprintf.c: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* stdlib/strfmon.c: Likewise.
	* sunrpc/auth_des.c: Likewise.
	* sunrpc/auth_none.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/authdes_prot.c: Likewise.
	* sunrpc/authuxprot.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/key_prot.c: Likewise.
	* sunrpc/openchild.c: Likewise.
	* sunrpc/pm_getmaps.c: Likewise.
	* sunrpc/pm_getport.c: Likewise.
	* sunrpc/pmap_clnt.c: Likewise.
	* sunrpc/pmap_prot.c: Likewise.
	* sunrpc/pmap_prot2.c: Likewise.
	* sunrpc/pmap_rmt.c: Likewise.
	* sunrpc/rpc_cmsg.c: Likewise.
	* sunrpc/rpc_prot.c: Likewise.
	* sunrpc/svc_authux.c: Likewise.
	* sunrpc/svc_raw.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_mem.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.
	* sysdeps/generic/_strerror.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/generic/tmpfile.c: Likewise.
	* sysdeps/gnu/errlist.awk: Likewise.
	* sysdeps/gnu/errlist.c: Likewise.

	* libio/Makefile (routines): Remove iosprint.
	* libio/iosprintf.c: Removed


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

	* elf/dl-support.c (_dl_non_dynamic_init): Renamed from
	non_dynamic_init and exported now.
	* sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
	* sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
	!SHARED.
	* sysdeps/mach/hurd/i386/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.

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

	* elf/dl-close.c (free_slotinfo): Check for end of list and return
	true in this case.

	* locale/iso-639.def: Add language codes for Walloon.

	* elf/dl-fini.c (_dl_fini): Print some final statistics on the
	total number of relocations performed.

	* elf/sprof.c (load_profdata): If do_test provide information as
	to why loading failed.
	* elf/dl-profile.c (_dl_start_profile): Initialize all of
	hist_hdr.dimen.

	* csu/set-init.c: Moved to...
	* sysdeps/mach/hurd/set-init.c: ...here.  New file.
	* csu/Makefile: Don't compile set-init.
	* sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu.
	* sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition
	to __libc_init.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of
	__libc_init.
	* misc/init-misc.c: Always export __init_misc.  Don't define hooks for
	__libc_subinit.

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

	* elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls.
	* elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE.
	* sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls.
	(_dl_deallocate_tls): New function.
	* sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and
	_dl_deallocate_tls.

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

	* libio/fileops.c (_IO_file_seekoff_mmap): Fix fseek SEEK_END.
	* stdio-common/tst-fseek.c (main): Add test for this.

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

	* stdlib/Versions: Move __on_exit to GLIBC_PRIVATE.

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

	* libio/fileops.c (_IO_file_underflow_mmap): Cast to unsigned char
	pointer before dereferencing.

2002-02-18  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/times.c: Fix typo in last change.

	* sysdeps/mach/hurd/setpriority.c [POLICY_TIMESHARE_BASE_COUNT]:
	Use task_policy in place of task_priority.

	* sysdeps/generic/bits/mman.h
	(MS_ASYNC, MS_SYNC, MS_INVALIDATE): New macros.
	* sysdeps/mach/msync.c: New file.

	* sysdeps/mach/powerpc/syscall.S: New file.

	* mach/msg.c [MACH_MSG_OVERWRITE]
	(__mach_msg_trap, __mach_msg_overwrite): New functions.
	* mach/Versions (libc: GLIBC_2.0): Add mach_msg_overwrite and __ name.

	* sysdeps/mach/configure.in: Check for clock.defs to put into
	mach_interface_list.
	* sysdeps/mach/configure: Regenerated.

	* mach/Makefile (mach-machine): New variable, set from $(base-machine).
	($(objpfx)mach-syscalls.mk): Use it in place of $(base-machine).
	($(mach-syscalls:%=$(objpfx)%.S) static pattern rule):
	Use <mach/machine/syscall_sw.h> instead of <sysdep.h>.
	(mach-shortcuts): Add device_read_overwrite_request,
	device_read_overwrite, vm_read_overwrite, thread_switch.

	* configure.in (base_machine): Set to $machine by default.
	* configure: Regenerated.

	* sysdeps/mach/configure.in: Check for <mach/machine/ndr_def.h>
	or <machine/ndr_def.h> and add -DNDR_DEF_HEADER=... to DEFINES.
	* sysdeps/mach/configure: Regenerated.
	* mach/mach_init.c [NDR_DEF_HEADER]: #include it.

	* hurd/hurdfault.c (_hurdsig_fault_init): Add a cast.

	* hurd/hurd/signal.h: Include <setjmp.h> for `jmp_buf' decl.

	* mach/msgserver.c (__mach_msg_server_timeout) [! MACH_RCV_LARGE]:
	Double MAX_SIZE and don't retry on MACH_RCV_TOO_LARGE.

2002-02-17  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/times.c
	[NO_CREATION_TIME] (startup_time): New static variable.
	[NO_CREATION_TIME] (times_init): New static function in __libc_subinit.
	(__times) [NO_CREATION_TIME]: Use startup_time in lieu of task
	creation_time from task_basic_info.
	(__times): Use __gettimeofday instead of __host_get_time.

	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg) [! MACH_MSG_TYPE_BIT]:
	Use untyped Mach IPC message format.

	* hurd/catch-exc.c: Include <assert.h>, missing from last change.

	* hurd/Versions (libc: GLIBC_2.0): Add _S_catch_exception_raise_state,
	_S_catch_exception_raise_state_identity,
	_hurdsig_fault_catch_exception_raise_state,
	_hurdsig_fault_catch_exception_raise_state_identity.

	* mach/shortcut.awk: Don't apply the /^}$/ rule when $proto == "".

	* sysdeps/mach/getsysstats.c (__get_avphys_pages) [HOST_VM_INFO]: Use
	__host_info with HOST_VM_INFO flavor instead of __vm_statistics.

	* sysdeps/mach/hurd/getpriority.c [TASK_SCHED_TIMESHARE_INFO]: Find
	`base_priority' in PIP->timeshare_base_info instead of PIP->taskinfo.

	* sysdeps/mach/hurd/dl-sysdep.c [FMH]: Define for i386 only.
	(fmh, unfmh): Define these functions only #if FMH.  Otherwise define
	them as no-op macros.
	[FMH] (ELF_MACHINE_USER_ADDRESS_MASK): Redefine it to zero.
	(__mmap): Uncomment uses of ELF_MACHINE_USER_ADDRESS_MASK.

	* sysdeps/powerpc/dl-machine.h
	(ELF_MACHINE_USER_ADDRESS_MASK): New macro.

	* hurd/hurdselect.c (_hurd_select) [MACH_MSG_TRAILER_MINIMUM_SIZE]:
	Use untyped Mach IPC message format.

	* sysdeps/mach/hurd/ioctl.c (__ioctl) [! MACH_MSG_TYPE_BIT]:
	Handle untyped Mach IPC message formats.

	* hurd/catch-exc.c (_S_catch_exception_raise) [EXC_MASK_ALL]:
	Expect different argument conventions when this is defined.
	[EXC_MASK_ALL] (_S_catch_exception_raise_state): New stub function.
	[EXC_MASK_ALL] (_S_catch_exception_raise_state_identity): Likewise.
	* hurd/hurdfault.c: Likewise for _hurdsig_fault_catch_exception_*.
	[NDR_CHAR_ASCII] (mig_reply_header_t): #define as mig_reply_error_t
	for OSF Mach variant.
	(faulted): Use mig_reply_error_t for REPLY.
	(_hurdsig_fault_init) [EXC_MASK_ALL]: Use EXCEPTION_STATE_IDENTITY
	in __thread_set_exception_ports call.
	(_hurdsig_fault_init) [MACH_PORT_RECEIVE_STATUS]: Use
	__mach_port_set_attributes in place of __mach_port_set_qlimit.

	* sysdeps/mach/powerpc/sysdep.h (_MACH_MACHINE_ASM_H): Define this
	before include <sysdeps/mach/sysdep.h>, to inhibit <mach/machine/asm.h>
	on Darwin, which includes bogons.

	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): Move local
	variable LOADBASE so it's not declared when it's not used.

2002-02-16  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/times.c (__times) [NO_CREATION_TIME]: Don't try
	to use BI.creation_time.

	* mach/Machrules (MIG): Add -x c to CPP value passed down.

	* config.h.in: Add #undef HAVE_HOST_PAGE_SIZE.
	* sysdeps/mach/configure.in: Check for host_page_size RPC to define it.
	* mach/mach_init.c (__mach_init) [HAVE_HOST_PAGE_SIZE]: Use
	host_page_size instead of vm_statistics.

	* sysdeps/mach/Makefile (mach-before-compile): Don't include
	mach_interface.h here, since not all variants use that name.

	* sysdeps/mach/configure.in: Add some checks for Mach headers
	to ensure a sane installation.
	(mach_interface_list): Define this variable by checking for .defs
	files found in various variants.
	* configure.in (mach_interface_list): AC_SUBST this.
	* config.make.in (mach-interface-list): New substituted variable.
	* mach/Makefile (user-interfaces): Define this using the value
	of $(mach-interface-list) instead of mach, mach4.
	Updated other references to mach_interface to use it as well.

	* sysdeps/mach/powerpc/machine-lock.h: Avoid multi-line strings.

	* mach/msgserver.c [NDR_CHAR_ASCII] (mig_reply_header_t): #define as
	mig_reply_error_t for OSF Mach variant.

	* mach/Makefile (routines): Remove bootprivport.
	* mach/bootprivport.c: File removed.  It has never been used.

	* mach/msg-destroy.c (__mach_msg_destroy) [MACH_MSG_PORT_DESCRIPTOR]:
	Grok the OSF flavor of message format.
	(mach_msg_destroy_port): For MAKE_SEND and
	MAKE_SEND_ONCE rights, create an destroy a right to ensure proper
	no-senders notification.

2002-02-06  Roland McGrath  <roland@frob.com>

	* hurd/Versions (libc: GLIBC_2.0): Move cthread_fork, cthread_detach
	to here if 2.0 compatibility enabled ...
	(libc: GLIBC_2.1.3): ... from here.

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

	* elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS
	generation counter.
	* elf/dl-close.c (_dl_close): Likewise.

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

	* elf/Makefile: Add rules to build and run tst-tls8.
	* elf/tst-tls8.c: New file.
	* elf/tst-tlsmod4.c: New file.

	* stdlib/test-a64l.c (tests): Add more test cases.

	* sunrpc/rtime.c (rtime): Change type of thetime to uint32_t.
	Reported by Walter Harms <WHarms@bfs.de>.

2002-02-11  Jes Sorensen  <jes@trained-monkey.org>

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add sc_flag bit
	definitions for struct sigcontext.
	Suggested by David Mosberger-Tang.

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

	* elf/dl-close.c (remove_slotinfo): New function.  Handles everything
	for removing reference of module in slotinfo list.
	(_dl_close): Use remove_slotinfo.
	* sysdeps/generic/dl-tls.c: General pretty printing.
	(oom): Define only if SHARED.
	(_dl_next_tls_modid): Correct starting point for the case we assume
	there is a gap.  Add missing instruction grouping (doh!).  Correct
	tests for reaching maximum index.
	* elf/Makefile: Add rules to build and run tst-tls7.
	* elf/tst-tls7.c: New file.
	* elf/tst-tlsmod3.c: New file.

	* elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef
	USE_TLS.
	* elf/tst-tlsmod2.c: Likewise.

	* elf/dl-close.c (_dl_close): When closing an object using TLS
	either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to
	true.  Increment dl_tls_generation only if we closed any TLS-using
	object.
	* elf/tst-tls6.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls6.

	* po/da.po: Update from translation team.

	* locale/categories.def: Fix typo [PR libc/2948].
	* po/Makefile (BROKEN_LINGUAS): Works with current gettext
	[PR libc/2949].
	* locale/iso-4217.def: Update from official version [PR libc/2950].
	* glibcbug.in: Honor TMPDIR [PR libc/2951].
	* locale/programs/ld-collate.c (collate_finish): Bail out with a
	message if input is too confusion instead of using assert.
	(collate_read): Don't crash on unknown symbol [PR libc/2952].
	Patches by Alastair McKinstry <alastair@pdd.3com.com>.

	* elf/tst-tls1.c: Move #include "tls-macros.h" inside #ifdef USE_TLS.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.

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

	* elf/dl-close.c (free_slotinfo): Only define if TLS supported.

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

	* elf/dl-open.c (dl_open_worker): Only bump the generation counter
	if this is really necessary.

	* elf/dl-close.c (_dl_close): Implement freeing entries in the
	slotinfo array.
	(free_mem): Free memory for the slotinfo array if possible.

2002-02-12  Andreas Schwab  <schwab@suse.de>

	* csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT.

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.

2002-02-08  Daniel Jacobowitz  <drow@mvista.com>

	* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.

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

	* elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM.

	* 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.

	* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.

	* po/fr.po: Update from translation team.

	* elf/tls-macros.h: Add alternative macros for use in PIC.

	* elf/dl-lookup.c: Include <tls.h>.
	* elf/do-lookup.h (FCT): Don't discard STT_TLS symbols.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes
	required by passing pointer to last element of the list.

	* elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of
	l_tls_initimage to a place where it actually is performed.

	* sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero
	after globfree() calls.

	* elf/dl-deps.c (struct openaux_args): Add open_mode element.
	(openaux): Pass open_mode as new last argument to _dl_map_object.
	(_dl_map_object_deps): Add new argument open_mode.  Initialize
	open_mode element of args variable with it.
	* elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to
	_dl_map_object_deps.
	* elf/rtld.c (dl_main): Add zero as last parameter to
	_dl_map_object_deps call.
	* sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps.
	* elf/nodlopen2.c: New file.
	* elf/nodlopenmod2.c: New file.
	* elf/Makefile: Add rules to build and run nodlopen2.

	* elf/tst-tls1.c: Move TLS helper macros to...
	* elf/tls-macros.h: ...here.  New file.
	* elf/tst-tls2.c: New file.
	* elf/Makefile (tests): Add tst-tls2.
	(distribute): Add tls-macros.h.

	* po/sv.po: Update from translation team.

	* elf/tst-tls1.c (main): Add complete set of tests.  Split
	architecture specific definitions from the actual test code.

	* po/tr.po: Update from translation team.

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

	* elf/Makefile (tests): Add tst-tls1.
	* elf/tst-tls1.c: New file.

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle
	alignment of TCB for now.

	* elf/rtld.c (dl_main): Use p_vaddr as address of TLS
	initialization image for the application itself.

	* sysdeps/generic/dl-tls.c (_dl_allocate_tls): Correctly terminate
	loop to initialize TLS block.

2002-02-08  Richard Henderson  <rth@redhat.com>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Also include
	_dl_cpuclock_offset if HP_SMALL_TIMING_AVAIL.

	* sysdeps/alpha/elf/initfini.c: Use \n\ for multiline string.

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

	* sysdeps/generic/dl-environ.c (unsetenv): Clear cnt before use.

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

	* po/ca.po: Update from translation team.
	* po/sk.po: Likewise.

	* elf/rtld.c (_dl_start_final): Install DTV explicitly.
	(dl_main): Move dtv/static TLS handling before relocation.
	Unconditionally call _dl_tlsoffset.  Call _dl_allocate_tls and
	TLS_INIT_TP to allocate and install the dtv/static TLS block.
	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object
	so far uses TLS initialize GL(dl_tls_static_size) and
	GL(dl_tls_static_align) to account for the TCB.
	(_dl_allocate_tls): New function.
	* sysdeps/generic/ldsodefs.h (rtld_global): Add
	_dl_initial_dtv_malloced.

	* configure.in: Test for __builtin_memset more realistically.

	* csu/version.c (banner): If TLS support is available say so.

2002-02-04  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use
	__attribute_used__.
	(__dl_runtime_resolve): Likewise.

	* sysdeps/mips/machine-gmon.h (_MCOUNT_DECL): Make it a real
	declaration.

2001-11-15  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Don't include
	<signal.h>, <sys/ucontext.h> nor <asm/elf.h>. Updated for gdb.

	* sysdeps/unix/sysv/linux/mips/sys/user.h: New file.

2002-02-07  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/atomicity.h (compare_and_swap): Remove
	".set noreorder".
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set):
	Likewise.

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

	* sysdeps/unix/sysv/linux/bits/stat.h: Undo last patch.

	* sysdeps/i386/dl-tls.h (__tls_get_addr): Call
	___tls_get_addr_internal.
	(___tls_get_addr_internal): Define as alias for ___tls_get_addr.

	* po/ko.po: Update from translation team.

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

	* sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Remove packed
	attribute, change __pad{1,2} type to unsigned int.
	(struct stat64): Remove packed attribute.

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

	* sysdeps/i386/dl-tls.h: No need for #ifdef USE_TLS.

2002-02-07  Andreas Schwab  <schwab@suse.de>

	* configure.in: Fix check for -zcombreloc.

2002-02-06  H.J. Lu  <hjl@gnu.org>

	* config.h.in (HAVE_BUILTIN_MEMSET): New macro.
	* configure.in: Check if __builtin_memset really works.
	* elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of
	__GNUC_PREREQ (2, 96) before using __builtin_memset.

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

	* io/bug-ftw3.c (main): Don't try the test if root.

2002-02-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly
	constraints.
	* sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS):
	Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone
	a weak alias for __clone.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate.
	* sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap
	a weak alias for __mmap64.

2002-02-05  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely.
	(atomic_add): Likewise.
	(compare_and_swap): Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.

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

	* sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed.

	* 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-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-06  Roland McGrath  <roland@frob.com>

	* malloc/hooks.c [! HAVE_MREMAP]: Conditionalize unused decls.
	* malloc/malloc.c [! HAVE_MREMAP]: Likewise.

	* scripts/versions.awk: Improve error message for missing version.
	Each version inherits from the last one only if they have the same
	nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y
	but not GLIBC_x and FOO_y.

	* scripts/firstversions.awk: Handle libraries that don't have each
	particular version named in the third column of shlib-versions.

	* scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE.

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.

2002-02-06  Roland McGrath  <roland@frob.com>

	* sysdeps/unix/sysv/linux/netinet/ip.h: Moved to ...
	* sysdeps/generic/netinet/ip.h: ... here, replacing old file.

2002-01-05  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/configure.in: New file.
	* sysdeps/mach/configure: New generated file.

	* mach/Makefile (user-interfaces): Remove default_pager_helper.
	It has never been used by anything.

2002-02-06  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/elf/ldsodefs.h: Make sure the right <ldsodefs.h>
	is included.

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

	* sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Add
	attribute((packed)) to counter stupid people misusing gcc options.
	(struct stat64): Likewise.

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

	* elf/rtld.c (dl_main): Correct indentation.  Use bool as type for
	the variables which are used as booleans.

2002-02-06  Andreas Jaeger  <aj@suse.de>

	* include/libc-symbols.h (INTUSE): Renamed from INT.
	* elf/dl-deps.c: Change users.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/dl-cache.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-dst.h: Likewise.
	* elf/dl-init.c: Likewise.
	* elf/dl-error.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/do-lookup.h: Likewise.

	* stdio-common/_itoa.h: Undefine SPECIAL to avoid duplicate
	definition.
	* stdio-common/_itowa.h: Likewise.

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

	* elf/dl-minimal.c: Define _itoa_lower_digits.

	* elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have
	DT_FLAGS set.

	* elf/dl-load.c (_dl_map_object_from_fd): Prevent dynamically
	loading modules with the DF_STATIC_TLS flag set.
	* elf/dynamic-link.h (elf_get_dynamic_info): Initialize l_flags
	element.
	* include/link.h (struct link_map): Add l_flags field.
	* elf/elf.h (DF_STATIC_TLS): New definition.

	* dlfcn/Makefile: Add rules to build and run bug-dlopen1.
	* dlfcn/bug-dlopen1.c: New file.  By Bruno Haible.

	* elf/rtld.c (process_dl_debug): Correct printing help message.
	* elf/dl-misc.c (_dl_debug_vdprintf): Implement precision handling
	for %s.

	* inet/getnetgrent_r.c (innetgr): Add int* parameter to getfct
	definition and pass &errno in use of this variable.
	Reported by Simon Wilkinson <simon@sxw.org.uk> [PR libc/2911].

2002-02-04  Andreas Schwab  <schwab@suse.de>

	* locale/programs/localedef.h (WITH_CUR_LOCALE): Define.
	* locale/programs/charmap-dir.c: Wrap calls that output messages
	with WITH_CUR_LOCALE.  Include "localedef.h" first.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/ld-address.c: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/linereader.h: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/locfile.c: Likewise.
	* locale/programs/repertoire.c: Likewise.

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

	* elf/rtld.c (_dl_start_final): Determine load address to locate
	ehdr with GL(dl_rtld_map).l_map_start.

	* po/ca.po: Update from translation team.

	* elf/rtld.c (dl_main): Read PT_TLS entry of the executable.
	* elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program
	header entry.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
	_dl_tls_module_cnt.
	* elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt.

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

	* 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.

	* 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.

	* 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-03  Ulrich Drepper  <drepper@redhat.com>

	* config.h.in: Add HAVE_TLS_SUPPORT.
	* sysdeps/i386/elf/configure.in: New file.

2002-02-03  Andreas Schwab  <schwab@suse.de>

	* sysdeps/posix/readv.c: Use ssize_t for bytes_read.
	* sysdeps/posix/writev.c: Use ssize_t for bytes_written.  Fix comment.

2002-02-03  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/writev.c: Check for ssize_t overflow, don't use
	alloca if the memory reqirements are too high.

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

	* elf/dl-load.c (decompose_rpath): Avoid using strstr.
	* elf/dl-minimal.c (_strerror_r): Use _itoa instead of _itoa_word since
	the former is available anyway and speed isn't important here.
	* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
	* elf/dl-version.c (match_symbol): Likewise.
	(_dl_check_map_versions): Likewise.
	* elf/rtld.c (process_envvars): Likewise.
	(print_statistics): Likewise.
	* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Likewise.
	* elf/dl-minimal.c (_itoa): Always define it.  Make it work for all
	bases.  Add assert to catch uses of unimplemented features.
	(__strsep): Add assert to catch uses of unimplemented features.
	* elf/dl-object.c (_dl_new_object): Don't use rawmemchr.  Use strchr
	and avoid inline optimization.
	* elf/rtld.c (process_envvars): Likewise.
	* elf/dl-open.c: Don't include <stdio-common/_itoa.h>.
	* elf/dl-profile.c (_dl_start_profile): Help compiler to avoid ffs.
	* elf/rtld.c (dl_main): Avoid strsep inline optimization.

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

	* stdio-common/_itoa.h: Minor simplifications of the code.
	* stdio-common/_itoa.c: Likewise.

	* elf/dl-reloc.c (_dl_relocate_object): Use _dl_debug_printf
	instead of _dl_printf for debugging info output.

	* manual/examples/mkfsock.c (make_named_socket): Make sure name is
	always NUL-terminated.  Patch by Chris D. Sloan <cds@cs.hmc.edu>.

2002-02-01  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/atomicity.h (exchange_and_add): Use branch likely.
	(atomic_add): Likewise.
	(compare_and_swap): Return 0 only when failed to compare. Use
	branch likely.

	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use
	branch likely.

2002-02-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo.

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

	* elf/dl-minimal.c (__strsep): New minimal implementation.

2002-02-02  Paul Eggert  <eggert@twinsun.com>

	* src/mktime.c [defined DEBUG && STDC_HEADERS]: Include <string.h>.
	(__mktime_internal): If no tm_isdst is requested, prefer solutions
	with tm_isdst > 0 when the requested time falls within a
	spring-forward gap [PR libc/2894].

2002-02-03  Andreas Schwab  <schwab@suse.de>

	* stdio-common/tst-rndseek.c: Increase timeout.

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

	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.

	* elf/dl-object.c (_dl_new_object): Avoid using strrchr.  We have
	more information.
	* elf/rtld.c (dl_main): Avoid strrchr.
	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use the
	result of readlink.  Search from the back for '/'.

	* elf/dl-profile.c (_dl_start_profile): Help the compiler to avoid
	strncpy if possible.

	* sysdeps/generic/dl-environ.c (unsetenv): Optimize.  Don't use
	strncmp.
	* elf/dl-load.c (is_dst): Optimize.  Don't call strncmp twice.
	* elf/rtld.c (process_dl_debug): Optimize. Avoid calls to strncmp,
	strspn, and strcspn.
	(process_envvars): Don't use strcspn.

	* elf/dl-load.c (_dl_dst_count): Fix possible endless loop.
	(_dl_dst_substitute): Likewise.

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

	* elf/do-rel.h (elf_dynamic_do_rel): Help the compiler recognize
	code which is never used when relocating ld.so itself.

	* elf/dynamic-link.h (elf_get_dynamic_info): Optimize a bit for
	starting ld.so itself.  Move l_addr variable initialization closer
	to use.
	(_ELF_DYNAMIC_DO_RELOC): Help the compiler optimize a bit.

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

	* Versions.def (libc): Add GLIBC_PRIVATE.
	(libdb, libnss_db, libdb1): Remove.
	(libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis,
	libnss_nisplus): Move all symbols to GLIBC_PRIVATE.
	(libpthread): Add GLIBC_PRIVATE.
	(libresolv): Likewise, remove GLIBC_2.1.
	(ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1,
	GLIBC_2.2.3, GLIBC_2.3.
	* catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE.
	* elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first,
	_dl_sym, _dl_vsym): Likewise.
	(__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error,
	_dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize,
	_dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute,
	_dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip,
	_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip,
	_dl_map_object, _dl_map_object_deps, _dl_out_of_memory,
	_dl_relocate_object, _dl_signal_error, _dl_start_profile,
	_dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global):
	Likewise.
	(_dl_object_relocation_scope): Remove.
	* hesiod/Versions: Move all symbols to GLIBC_PRIVATE.
	* iconv/Versions (__gconv_alias_db, __gconv_modules_db,
	__gconv_cache): Move to GLIBC_PRIVATE.
	* inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r,
	__internal_setnetgrent): Likewise.
	* io/Versions (__libc_open, __libc_close, __libc_read, __libc_write,
	__libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise.
	* locale/Versions (__collate_element_hash, __collate_element_strings,
	__collate_symbol_classes, __collate_symbol_hash,
	__collate_symbol_strings, _nl_current_LC_COLLATE,
	_nl_current_LC_CTYPE): Likewise.
	* misc/Versions (__libc_fsync, __libc_msync): Likewise.
	* nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE.
	(libnss_nis, libnss_nisplus): Likewise.
	* nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent,
	_nss_files_parse_spent): Move to GLIBC_PRIVATE.
	(libnss_files): Move all symbols to GLIBC_PRIVATE.
	* posix/Versions (__libc_wait, __libc_waitpid, __libc_pause,
	__libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64,
	__libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE.
	* resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop,
	__ns_get16, __ns_samename): Likewise.
	(libnss_dns): Move all symbols to GLIBC_PRIVATE.
	* setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to
	GLIBC_PRIVATE.
	* socket/Versions (__libc_accept, __libc_send, __libc_recvfrom,
	__libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto,
	__libc_connect): Likewise.
	* stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits):
	Likewise.
	* stdlib/Versions (__libc_system): Likewise.
	* sunrpc/Versions (__rpc_thread_destroy): Likewise.
	* sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE.
	* sysdeps/ia64/fpu/Versions: Likewise.
	* sysdeps/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/ia64/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move
	to GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise.
	* sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo,
	__libc_sigaction): Likewise.
	* termios/Versions (__libc_tcdrain): Likewise.

	* misc/sys/cdefs (__attribute_noinline__): Define.
	* elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add
	__attribute_noinline__.

	* elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64.
	* elf/dl-xstat64.c: New file.
	* elf/dl-fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined,
	don't export __fxstat64 at multiple versions.
	* sysdeps/unix/sysv/linux/lxstat64.c: Similarly.
	* sysdeps/unix/sysv/linux/xstat64.c: Similarly.

2002-01-18  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* locale/program/ld-collate.c (collate_finish): Assign a wide
	char collation sequence value to multi character collating
	elements, and avoid over writing by non-character elements.

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

	* elf/Makefile (distribute): Add dl-procinfo.c.
	* sysdeps/unix/sysv/linux/i386/Dist: Remove dl-procinfo.c.
	* sysdeps/unix/sysv/linux/arm/Dist: Likewise.

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

	* sysdeps/generic/ldsodefs.h (_dl_load_lock): Remove duplicate
	definition.
	* sysdeps/ia64/hp-timing.h: Move _dl_hp_timing_overhead in
	_rtld_global struct.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
	* sysdeps/sparc/sparc64/Makefile: Make hp-timing static only.
	* sysdeps/unix/sysv/aix/init-first.c (_dl_fpu_control,
	_dl_fpu_control_set): Remove unused externs.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Move procinfo
	related variables in _rtld_global struct.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c (_dl_fpu_control_set): Remove
	unused extern.

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

	* sysdeps/generic/dl-procinfo.c: New file.

2002-02-01  Andreas Schwab  <schwab@suse.de>

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

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-01-31  Ulrich Drepper  <drepper@redhat.com>

	* 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.

	* 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>

	* sysdeps/posix/readv.c: Don't use alloca if the memory requirements
	are too high.

2002-01-31  Andreas Schwab  <schwab@suse.de>

	* sysdeps/posix/readv.c: Check for ssize_t overflow.

2002-01-31  Andreas Schwab  <schwab@suse.de>

	* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix leftover
	reference to _dl_pagesize.

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.

2002-01-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): Add cast
	to avoid warning
	(DL_STATIC_FUNCTION_ADDRESS): Likewise.

	* elf/dl-lookup.c: Only define or handle _dl_num_relocations for the
	SHARED version.
	* elf/dl-reloc.c: Likewise for _dl_num_cache_relocations.

	* elf/rtld.c (_dl_start): Use __builtin_memset if available.

2002-01-29  Ben Collins  <bcollins@debian.org>

	* string/bits/string2.h (__mempcpy): Protect size arg for
	addition when using __builtin_memcpy.

2002-01-29  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/Makefile (tests): Add tst-qsort.
	* stdlib/tst-qsort.c: New file.  Written by Paul Eggert.

	* manual/signal.texi (Process Signal Mask): Document that
	pthread_sigmask, not sigprocmask, must be used in MT programs.
	Patch by Bertold Kolics <Bertold.Kolics@Sun.COM>.

	* misc/hsearch_r.c (hsearch_r): Don't insert anything if entry is
	found.
	* misc/Makefile (tests): Add tst-hsearch.
	* misc/tst-hsearch.c: New file.

2002-01-18  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c.
	* malloc/malloc.h: Likewise.
	* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
	* malloc/arena.c: New file.
	* malloc/hooks.c: New file.
	* malloc/tst-mallocstate.c: New file.
	* malloc/Makefile: Add new testcase tst-mallocstate.
	Add arena.c and hooks.c to distribute.  Fix commented CPPFLAGS.

2002-01-28  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/msort.c: Remove last patch.  The optimization violates the
	same rule which qsort.c had problems with.

2002-01-27  Paul Eggert  <eggert@twinsun.com>

	* stdlib/qsort.c (_quicksort): Do not apply the comparison function
	to a pivot element that lies outside the array to be sorted, as
	ISO C99 requires that the comparison function be called only with
	addresses of array elements [PR libc/2880].

2002-01-28  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object): Remove incorrect optimization
	for SHARED code.  Reported by Ben Collins <bcollins@debian.org>.

	* timezone/asia: Update from tzdata2002b.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/zone.tab: Likewise.

2002-01-23  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/Makefile (pic-ccflag): New variable.

2002-01-28  Ulrich Drepper  <drepper@redhat.com>

	* string/strxfrm.c: Allocate one more byte for rulearr and clear
	this element [PR libc/2855].

	* string/strcoll.c: Handle zero-length arguments specially
	[PR libc/2856].

2002-01-23  Jakub Jelinek  <jakub@redhat.com>

	* string/bits/string2.h (__mempcpy): For gcc 3.0+, don't use
	__mempcpy_small but instead use __builtin_memcpy ( , , n) + n for
	short lengths and constant src.
	(strcpy): Don't optimize for gcc 3.0+.
	(__stpcpy): For gcc 3.0+, don't use
	__stpcpy_small but instead use __builtin_strcpy (, src) + strlen (src)
	for short string literal src.

2002-01-23  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>

	* sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde):
	Set for arm, too.

2001-01-22  Paul Eggert  <eggert@twinsun.com>

	* manual/llio.texi (Linked Channels, Cleaning Streams):
	Make it clearer that a just-opened input stream might need cleaning.

2002-01-21  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
	Don't use label at end of compound statement.

2002-01-28  Stephen L Moshier  <moshier@mediaone.net>

	* sysdeps/ieee754/ldbl-96/e_lgammal_r.c (__ieee754_lgammal_r):
	Remove test for negative integer arg; sin_pi does it correctly.

2002-01-20  Ulrich Drepper  <drepper@redhat.com>

	* nscd/Makefile (distribute): Filter out xmalloc.c.

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

	* libio/fileops.c (_IO_file_underflow_mmap): Don't define as static.
	Set offset if read end wasn't the buffer end.
	(_IO_file_seekoff_mmap): New function.
	(_IO_file_xsgetn_mmap): New function.
	(_IO_file_jumps_mmap): Use the two new functions.
	* libio/wfileops.c (_IO_wfile_underflow_mmap): Handle end read buffer
	!= end buffer.
	* libio/libioP.h: Declare _IO_file_seekoff_mmap and
	_IO_file_underflow_mmap.
	* libio/iofopen.c: Don't position file descriptor at end of file.
	* libio/tst-widetext.c: Improve error messages.
	* stdio-common/tst-rndseek.c: Likewise.

2002-01-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/statvfs.h: Avoid warning about comma at
	end of enum for !_GNU_SOURCE.
	* sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Likewise.
	* sysdeps/mach/hurd/bits/statvfs.h: Don't define non-standard ST_*
	values unless _GNU_SOURCE.

	* iconvdata/tcvn5712-1.c: Minor cleanups.

2002-01-18  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/configure.in
	(libc_cv_gcc_unwind_find_fde): Set for m68k, too.

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

	* stdlib/msort.c (msort_with_tmp): Replace implementation with
	more efficient "Towers of Hanoi" mergesort.
	(hanoi_sort, hanoi_sort_int, hanoi_sort_long): New functions,
	for generic, sizeof(int) and sizeof(long) variants respectively.

2002-01-17  Ulrich Drepper  <drepper@redhat.com>

	* manual/syslog.texi (openlog): Describe possible problems with
	first parameter.
	Patch by Christopher Allen Wing <wingc@engin.umich.edu>.

	* nscd/nscd.c (drop_privileges): Removed.  Adjust caller.
	* nscd/connections.c (begin_drop_privileges): New function.
	(finish_drop_privileges): New function.
	(nscd_init): Call the new functions which also install all groups
	for the server user.
	* nscd/Makefile (nscd-modules): Add xmalloc for nscd.
	Patch by Christopher Allen Wing <wingc@engin.umich.edu>.

2002-01-17  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Remove
	`const' from `got'.

2002-01-17  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Use 64 bit
	instructions for pointer operations.
	* sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise.

2002-01-17  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: GCC 3.1 has
	__uint128_t build-in.

	* sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and
	PowerPC, sync with 2.2 branch.

2002-01-16  Ulrich Drepper  <drepper@redhat.com>

	* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* nscd/nscd_nischeck.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.

2002-01-16  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to
	reliably remove "-ia64" from rtld name.

2002-01-16  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/gb18030.c: Bug fixes and support for more characters.
	Patch by Yu Shao <yshao@redhat.com>.

2002-01-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/swapcontext.c: Remove.
	* sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: New file.

2002-01-14  Martin Schwidefsky  <schwidefsky@de.ibm.com>

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

2002-01-11  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Update x86 relocations.

2002-01-10  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/charmap.c (new_width): Check whether byte
	sequences for both ends of range have the same length.

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

	* elf/elf.h (SHN_UNDEF): Remove duplicate definition.

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

	* sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line
	string literals.
	(__full_ieee754_sqrt): Add __attribute_used__.

2002-01-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/group_member.c (__group_member): Also check
	groups[0] [PR libc/2781].

2002-01-08  Ulrich Drepper  <drepper@redhat.com>

	* Makefile (distribute): Add scripts/cpp.
	* elf/Makefile (distribute): Add reldep6mod[01234].c,
	unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h,
	unwind-dw2-fde.h, and dwarf2.h.
	* sysdeps/unix/bsd/bsd4.4/Dist: New file.
	* sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c.
	* sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed.
	* sysdeps/unix/sysv/linux/s390/Dist: Likewise.

2002-01-07  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Use
	volatile on type of ARGC so the compiler doesn't get clever.

2002-01-07  Andreas Jaeger  <aj@suse.de>

	* sysdeps/generic/bits/byteswap.h: Prevent double inclusion.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/ia64/bits/byteswap.h: Likewise.
	* sysdeps/m68k/bits/byteswap.h: Likewise.
	* sysdeps/s390/s390-32/bits/byteswap.h: Likewise.
	* sysdeps/s390/s390-64/bits/byteswap.h: Likewise [PR libc/2757].

2002-01-02  Bruno Haible  <bruno@clisp.org>

	* intl/plural.y: Fix %expect count.

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

	* elf/Makefile (routines, shared-only-routines): Add
	unwind-dw2-fde-glibc instead of unwind-dw2-fde.
	* elf/elf.h (PT_GNU_EH_FRAME): Define.
	* sysdeps/generic/unwind-dw2-fde-glibc.c: New file.
	* sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases):
	Optimize if .eh_frame section contains no FDEs.
	(__register_frame, __deregister_frame_info_bases,
	__deregister_frame): Likewise.
	* sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix
	DW_CFA_restore handling.

2002-01-07  Stephen L Moshier  <moshier@mediaone.net>

	* sysdeps/ieee754/ldbl-96/s_erfl.c (erfcl): Fix K&R header.

	* sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Fix typo in test
	for x < 0.25 and restore original range reduction method.
	(__ieee754_lgammal_r): Make sure signgam is set before returning.

2002-01-07  Ulrich Drepper  <drepper@redhat.com>

	* libio/fileops.c (_IO_file_underflow_mmap): New function.
	(_IO_file_close_mmap): New function.
	(_IO_file_jumps_mmap): New variable.
	* libio/wfileops.c (_IO_wfile_underflow): Reset read pointer before
	trying to convert rest of byte buffer.
	(_IO_wfile_underflow_mmap): New function.
	(_IO_wfile_jumps_mmap): New variable.
	* libio/iofopen.c (__fopen_maybe_mmap): New function.
	(__fopen_internal): New function.  Split out from _IO_new_fopen.
	(_IO_new_fopen): Call __fopen_internal.
	* libio/iofopen64.c: Just call __fopen_internal.
	* libio/iofdopen.c: Call __fopen_maybe_mmap before returning
	successfully.
	* libio/iolibio.h: Declare __fopen_internal and __fopen_maybe_mmap.
	* libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps_mmap,
	_IO_file_close_mmap.

	* sysdeps/gnu/_G_config.h: Define _G_MMAP64.
	* sysdeps/unix/sysv/linux/cris/_G_config.h: Likewise.

	* stdio-common/Makefile (tests): Add tst-rndseek.
	* stdio-common/tst-rndseek.c: New file.

2002-01-05  Roland McGrath  <roland@frob.com>

	* config.h.in (HAVE_MIG_RETCODE): New #undef.
	* sysdeps/mach/hurd/configure.in (hurd_MIG_RETCODE: New macro
	swiped from hurd package's aclocal.m4; use it to set HAVE_MIG_RETCODE.
	* sysdeps/mach/hurd/configure: Regenerated.

2002-01-03  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add more TLS definitions.

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

	* include/features.h (__GLIBC_MINOR__): Bump to 3.

2002-01-02  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/sigwait.c (__sigwait): Use __sigandset,
	__sigisemptyset.  Don't use MASK uninitialized.

	* sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Use __sigorset.
	* hurd/hurdinit.c (_hurd_new_proc_init): Use __sigisemptyset.
	* hurd/hurdsig.c (_hurd_internal_post_signal): Use __sigismember,
	__sigdelset, __sigaddset, __sigorset.

	* sysdeps/generic/htonl.c: Use uint32_t instead of u_int32_t.
	* sysdeps/generic/htons.c: Use uint16_t instead of u_int16_t.

	* hurd/hurdinit.c (_hurd_ports_use): Return EGRATUITOUS when
	_hurd_ports is null.

	* hurd/hurdsig.c (_hurdsig_init): Conditionalize exception port setup
	for old CMU and new OSF Mach interface flavors.
	* hurd/hurdfault.c (_hurdsig_fault_init): Likewise.
	* sysdeps/mach/hurd/fork.c (__fork): Likewise.

	* hurd/hurdsig.c (_hurd_internal_post_signal): Leave msgh_seqno unset.

	* sysdeps/mach/hurd/spawni.c (__spawni) [KERN_INVALID_LEDGER]:
	Pass extra arguments to task_create for OSF variant.
	* sysdeps/mach/hurd/fork.c (__fork): Likewise.

	* sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code
	conditional on [HAVE_AUX_VECTOR].

	* mach/mach/mach_traps.h (thread_switch, __thread_switch): Use
	mach_msg_timeout_t as type of final argument.

	* hurd/privports.c (__get_privileged_ports):
	Change host_priv_t to mach_port_t in argument type.
	* hurd/hurd.h (get_privileged_ports, __get_privileged_ports):
	Update decls.

	* sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from
	multiple inclusion.  Inhibit #error under [_SYS_UCONTEXT_H].
	* sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.

2002-01-01  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/errnos.awk: Tighten up device_types.h matching.

2002-01-01  Ulrich Drepper  <drepper@redhat.com>

	* include/stdlib.h: Define inlines for the _l variants of the strto*
	functions.

2002-01-01  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/powerpc/intr-msg.h: Remove extraneous backslash.

	* mach/Machrules (MIG): Set CPP as well as CC.

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

	* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Always use C
	locale to parse /proc/loadavg [PR libc/2760].

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

	* elf/dl-conflict.c: Include sys/param.h.
	(RESOLVE_CONFLICT_FIND_MAP): Cast r_offset to ElfW(Addr).
	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Avoid
	warning.
	(TRAMPOLINE_TEMPLATE, RTLD_START): Don't use multi-line string
	literals to avoid warnings.

2001-12-31  Andreas Jaeger  <aj@suse.de>

	* configure.in: Don't check for gsed since we do not use it anywhere.

2001-12-25  Dmitry V. Levin  <ldv@alt-linux.org>

	* io/fts.c: Update from BSD to fix memory leaks.

2001-12-25  Dmitry V. Levin  <ldv@alt-linux.org>

	* crypt/md5-crypt.c: Realloc error handling memory leak fix.
	* elf/chroot_canon.c: Likewise.
	* elf/dl-object.c: Likewise.
	* iconv/iconv_charmap.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* libio/iogetdelim.c: Likewise.
	* locale/lc-time.c: Likewise.
	* stdlib/canonicalize.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.

2001-12-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/profil-counter.h: Move/copy to ...
	* sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: ... here,
	remove high order bit from the program counter.
	* sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h: ... and here.

2001-12-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove
	unnecessary code and add missing reloc types.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Add empty
	case for reloc type R_390_NONE.

2001-12-28  Andreas Jaeger  <aj@suse.de>

	* io/bug-ftw3.c: Include string.h for prototypes.

	* crypt/md5test.c (main): Remove unused variable.

	* dlfcn/modstatic.c: Add prototype to avoid warning.

2001-12-26  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/sigwait.c (__sigwait): When returning immediately,
	check only (SS->pending & MASK) for the signal to return.
	From Jeroen Dekkers <jeroen@dekkers.cx>.

2001-12-22  Roland McGrath  <roland@frob.com>

	* iconv/skeleton.c [!RESET_INPUT_BUFFER && !SAVE_RESET_STATE]:
	Use preprocessor #if conditionals instead of `if' to avoid
	warnings about divide by zero in dead code.

	* hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set,
	_hurd_port_init, and __hurd_self_sigstate.

	* mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy.

2001-12-21  Andreas Jaeger  <aj@suse.de>

	* elf/dblloadmod1.c: Add prototype to avoid warning.
	* elf/dblloadmod2.c: Likewise.
	* elf/dblloadmod3.c: Likewise.
	* elf/reldepmod5.c: Likewise.
	* elf/reldepmod6.c: Likewise.

	* elf/dl-conflict.c (_dl_resolve_conflicts): Add unused attribute
	for resolve_conflict_map since RESOLVE_CONFLICT_FIND_MAP is not
	used on all architectures.

	* sunrpc/svc_tcp.c: Add noreturn attribute for
	svctcp_rendezvous_abort.
	* sunrpc/svc_unix.c: Likewise for svcunix_rendezvous_abort.

	* sysdeps/generic/strstr.c (strstr): Add paranthese for assignment
	to avoid warning.

2001-12-19  Jakub Jelinek  <jakub@redhat.com>

	* manual/llio.texi (aio_fsync): Fix a typo.
	Patch by Tammy Fox <tfox@redhat.com>.

2001-12-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract
	stack bias from child stack pointer before passing it to clone syscall.

2001-12-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/sysconf.c (__sysconf): Respect POSIX minimum for
	_SC_TZNAME_MAX.
	* sysdeps/generic/sysconf.c (__sysconf): Likewise.
	Reported by Thorsten Kukuk <kukuk@suse.de>.

	* sysdeps/unix/grantpt.c (grantpt): Correct typo in comment and
	add some casts.

	* sysdeps/unix/sysv/linux/grantpt.c: Make __unix_grantpt static.

2001-12-18  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/sysv/linux/grantpt.c: Make errno results standard
	conforming: return EBADF if file descriptor is invalid and EINVAL
	if file descriptor is no valid tty.
	* login/tst-grantpt.c: New file.
	* login/Makefile (tests): Add tst-grantpt.

2001-12-17  Ulrich Drepper  <drepper@redhat.com>

	* io/ftw.c (ftw_dir): Handle inaccessibility of toplevel dir
	different than implemented in last patch.
	* io/bug-ftw3.c: Adjust test for changed handling of
	inaccessibility of toplevel dir.

2001-12-16  Roland McGrath  <roland@frob.com>

	* nss/nsswitch.c (__nss_next): Don't use __FUNCTION__ as literal.
	* grp/initgroups.c (internal_getgrouplist): Likewise.

	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add `break' after
	`default:' to silence new GCC warning.
	Rewrite cast of lvalue to silence new GCC warning.

	* sysdeps/mach/hurd/i386/init-first.c: Avoid multi-line strings in asm.

	* sysdeps/mach/hurd/spawni.c: New file, by me with a
	couple fixes by Neal H Walfield <neal@cs.uml.edu>.

2001-12-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/strstr.c (strstr): Update.  New optimized version.
	Patch by Stephen R. van den Berg.

	* crypt/md5.h: Define md5_uintptr.

2001-12-13  Ulrich Drepper  <drepper@redhat.com>

	* libio/tst_swprintf.c (main): Add test for string argument with
	zero precision.
	* stdio-common/Makefile (tests): Add tst-sprintf.
	* stdio-common/tst-sprintf.c: New file.

2001-12-13  Andreas Schwab  <schwab@suse.de>

	* stdio-common/vfprintf.c (process_string_arg): Correctly handle
	zero precision with wide character string format.

2001-12-13  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/cuserid.c (cuserid): If we don't find the UID,
	but have a user supplied buffer, return the empty buffer, not NULL.

2001-12-13  Ulrich Drepper  <drepper@redhat.com>

	* crypt/md5.c (md5_process_bytes): Correct handling of alignment.
	Patch by Eric Sharkey <sharkey@netrics.com>.

	* crypt/md5test.c (main): Add test for multiple calls to
	__md5_process_bytes to itererate over input string.

2001-12-12  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_findserv.c (__nis_findfastest_with_timeout): Mostly the code
	from __nis_findfastest.  Take timeout value from parameter.
	(__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly.
	* nis/nis_intern.h: Define parameters controlling __nis_findfastest
	[PR libc/2520].  Patch by Alexander Belopolsky <alexb@rentec.com>.

2001-12-12  Andreas Jaeger  <aj@suse.de>

	* configure.in: Use -nostartfiles -nostdlib for linker tests, fix
	combreloc test so that it works in this case.

	* sysdeps/arm/dl-machine.h (elf_machine_rela): Fix typo in last patch.

2001-12-12  NIIBE Yutaka  <gniibe@m17n.org>

	* sysdeps/sh/Makefile: New file.
	* sysdeps/sh/_mcount.S: New file.
	* sysdeps/sh/sysdep.h (CALL_MCOUNT): Implemented.
	* sysdeps/sh/machine-gmon.h: Remove "NOTYET" comment, as we are ready.

2001-12-11  Ulrich Drepper  <drepper@redhat.com>

	* resolv/nss_dns/dns-host.c (getanswer_r): Remove MAX_NR_ADDRS
	limitation [PR libc/2564].

2001-12-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (dl-routines): Add conflict.
	(rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove.
	(ld.so): Add _begin local symbol.
	* elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM):
	Define.
	* elf/dl-deps.c (_dl_build_local_scope): New function.
	(_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes
	of all libraries.
	* elf/do-rel.h (VALIDX): Define.
	(elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do
	lazy binding for RELA.  If DT_GNU_PRELINKED, DT_RELACOUNT relocations
	can be skipped.
	* elf/dl-conflict.c: New file.
	* elf/dl-lookup.c (_dl_debug_bindings): New function.
	(_dl_lookup_symbol): Use _dl_debug_bindings.  Reference_name is always
	non-NULL.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined,
	define to ElfW(Rel).
	* elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic
	tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI
	ranges.
	Don't adjust address dynamic tags if l_addr is 0.
	* elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables.
	(_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked.
	(VALIDX, ADDRIDX): Define.
	(_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end.
	(dl_main): Print library list for LD_TRACE_PRELINKING.
	If prelinking information can be used, skip relocating libraries and
	call _dl_resolve_conflicts instead.
	(process_envvars): Handle LD_TRACE_PRELINKING envvar.
	* elf/dl-load.c (_dl_map_object): Don't create fake libs
	if LD_TRACE_PRELINKING.
	* include/link.h (struct link_map) [l_info]: Add DT_VALNUM
	+ DT_ADDRNUM.
	* sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration.
	(DL_DEBUG_PRELINK): Define.
	(_dl_resolve_conflicts): Add prototype.

	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize
	.plt for prelinked libraries where prelinking info cannot be used.
	(elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict
	section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map.
	* sysdeps/arm/bits/link.h: New file.
	* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New functions.
	(elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/i386/bits/link.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New functions.
	(elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating
	conflicts, skip finaladdr computation.  Use RESOLVE_CONFLICT_FIND_MAP
	to find out map for R_PPC_JMP_SLOT relocs.
	* sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define.
	(OPCODE_BA): Define.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	(sparc_fixup_plt): Renamed from elf_machine_fixup_plt.
	(elf_machine_fixup_plt): Call sparc_fixup_plt.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Call sparc_fixup_plt for R_SPARC_JMP_SLOT.
	* sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define.
	(sparc64_fixup_plt): Fix a typo.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Handle R_SPARC_JMP_SLOT relocs when relocating conflicts.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	* sysdeps/sh/bits/link.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-32/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-64/bits/link.h: New file.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/x86_64/bits/link.h: New file.
	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.

2001-12-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use sizeof
	where appropriate instead of numbers.  Little optimizations.

2001-12-10  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never
	set it.

	* shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default
	set to GLIBC_2.2.5, not GLIBC_2.2.4.

	* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde):
	Fix conditionals so this is set by default for stdio and not for libio.
	* sysdeps/mach/hurd/configure: Regenerated.

2001-12-10  Thorsten Kukuk  <kukuk@suse.de>

	* io/ftw.c (ftw_startup): Check, if the path is search and readable.

2001-12-10  Ulrich Drepper  <drepper@redhat.com>

	* io/Makefile (tests): Add bug-ftw3.
	* io/bug-ftw3.c: New file.

	* sysdeps/generic/glob.c (glob): Return only pattern if nothing
	matches and GLOB_NOCHECK is set.
	* posix/globtest.sh: Correct expected result for NOCHECK test.

	* po/ca.po: Update from translation team.

2001-12-09  Ulrich Drepper  <drepper@redhat.com>

	Implement transliteration of characters in strings of the locale
	definitions.
	* locale/programs/linereader.c: Adjust for additional parameter to
	lr_token.
	(get_string): If character <Uxxxx> is not found try to transliterate
	it.
	* locale/programs/ld-ctype.c: Adjust for additional parameter to
	lr_token.  Add const to charmap parameter of all functions.
	(find_translit, find_translit2): New functions.
	* locale/programs/charmap.c: Adjust for additional parameter to
	lr_token.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/linereader.h: Likewise.
	* locale/programs/ld-address.c: Likewise.  Add const to charmap
	parameter of all functions.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/locfile.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/localedef.h: Likewise.
	* locale/programs/locfile.h: Likewise.  Add declaration for
	find_translit.
	* locale/programs/simple-hash.c: Add const to first parameter of
	find_entry, iterate_table, and lookup.
	* locale/programs/simple-hash.h: Likewise.
	* locale/localeinfo.h: Don't define __LC_LAST here.  Include <locale.h>
	instead.
	* include/locale.h: Define __LC_LAST.
	* iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION.

2001-12-07  Geoff Keating  <geoffk@redhat.com>

	* sysdeps/powerpc/Dist: Update for recent FP changes.
	* sysdeps/powerpc/fpu/Dist: Likewise.

2001-12-07  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/opensock.c: Include <string.h>.

2001-12-06  Geoff Keating  <geoffk@redhat.com>

	* sysdeps/powerpc/Makefile (sysdep_routines): Don't build the fpr
	save/restore functions here.
	(libm-support): Don't define these functions here.
	* sysdeps/powerpc/fpu/Makefile: Build the fpr save/restore
	functions here.
	* sysdeps/powerpc/fe_nomask.c: Move to...
	* sysdeps/powerpc/fpu/fe_nomask.c: ... here.
	* sysdeps/powerpc/fprrest.S: Move to...
	* sysdeps/powerpc/fpu/fprrest.S: ... here.
	* sysdeps/powerpc/fprsave.S: Move to...
	* sysdeps/powerpc/fpu/fprsave.S: ... here.

2001-12-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/opensock.c: New file.

2001-12-06  Geoff Keating  <geoffk@redhat.com>

	* config.make.in (with-fp): Define from configure.
	* configure.in: Substitute with_fp.
	* configure: Regenerate.
	* sysdeps/powerpc/Makefile: Set -msoft-float when --without-fp is
	specified, and don't change FPU environment.

2001-12-06  Ulrich Drepper  <drepper@redhat.com>

	* libio/vasprintf.c (_IO_vasprintf): Free buffer on failure.
	* assert/assert.c: Check result of __asprintf call and don't use
	string if it failed.
	* assert/assert-perr.c: Likewise.
	* inet/rcmd.c: Likewise.
	* locale/programs/localedef.c (main): Check result of
	construct_output_path and exit if it failed.
	(construct_output_path): Check result of asprintf and mkdir calls and
	fail if they failed.
	* posix/getopt.c: Check result of __asprintf calls and fail if
	they failed.
	Patch by Dmitry V. Levin <ldv@alt-linux.org>.

2001-12-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/strcasecmp.c (__strcasecmp): Little performance
	patch.
	* sysdeps/generic/strncase.c: Likewise.
	* string/tester.c: Add tests for strcasecmp and strncasecmp.

2001-12-05  Geoff Keating  <geoffk@redhat.com>

	* scripts/cpp: Test the exit status from 'type', not 'awk'.

	* sysdeps/powerpc/__longjmp.S: Don't restore FP registers.
	* sysdeps/powerpc/fpu/__longjmp.S: Do restore FP registers.
	* sysdeps/powerpc/setjmp.S: Don't save FP registers.
	* sysdeps/powerpc/fpu/setjmp.S: Do save FP registers.
	* sysdeps/powerpc/fclrexcpt.c: Move to...
	* sysdeps/powerpc/fpu/fclrexcpt.c: ... here.
	* sysdeps/powerpc/fpu_control.h: Move to...
	* sysdeps/powerpc/fpu/fpu_control.h: ... here.

2001-12-05  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/ibm1129.h: Remove duplicate mappings.
	* iconvdata/ibm937.c: Handle overflow errors.  Handle new tables.
	* iconvdata/ibm937.h: Reorganize table to safe a lot of space.
	Patch by Masahide Washizawa <WASHI@jp.ibm.com>.

	* timezone/zic.c: Fix handling of turnaround times.
	Patch by Arthur David Olson <olsona@dc37a.nci.nih.gov>.

2001-12-02  Moshe Olshansky  <OLSHANSK@il.ibm.com>

	* sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder): Fix
	overflow problem.

2001-12-05  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex.c: For use outside glibc defined bounded pointer
	macros here.  Patch by Jim Meyering <jim@meyering.net>.

	* iconvdata/Makefile (modules): Add TCVN5712-1.
	* iconvdata/TESTS: Add TCVN5712-1.
	* iconvdata/gconv-modules: Likewise.
	* iconvdata/tcvn5712-1.c: New file.
	* iconvdata/testdata/TCVN-5712: New file.
	* iconvdata/testdata/TCVN-5712..UTF8: New file.

2001-12-04  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/cp1258.c: Optimize conversion from UCS4.

2001-12-02  Roland McGrath  <roland@frob.com>

	* mach/Makefile, mach/Machrules: Move comments out of \ continuations.

	* hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning.
	Reported by Jeff Bailey <jbailey@nisa.net>.

	* hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl.
	Reported by Jeff Bailey <jbailey@nisa.net>.

	* mach/Makefile ($(objpfx)mach-syscalls.mk): Pass $(CFLAGS) to $(CC).
	* mach/Machrules ($(objpfx)%.udeps static pattern rule): Likewise.
	Reported by Jeff Bailey <jbailey@nisa.net>.

2001-12-01  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Add
	missing backslash in test arguments.
	* sysdeps/mach/hurd/configure: Regenerated.

2001-11-26  Roland McGrath  <roland@frob.com>

	* hurd/hurdinit.c (_hurd_ports_use): Check if _hurd_ports is null.
	Reported by John Tobey <jtobey@john-edwin-tobey.org>.

2001-11-30  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/Makefile (modules): Add ARMSCII-8.
	* iconvdata/gconv-modules: Add entries for ARMSCII-8.
	* iconvdata/armscii-8.c: New file.

2001-11-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/glob.c (next_brace_sub): Return NULL if braces
	don't match, fix {{a,b},c} globbing, clean up.
	Patch by Flavio Veloso <flaviovs@magnux.com>.
	* posix/globtest.sh: Add new tests.

2001-11-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/Versions: Add arch_prctl.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add arch_prctl call.

	* sysdeps/generic/abort.c: Include libioP.h for
	_IO_flush_all_lockp prototype.

2001-11-29  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex.h: Define __restrict_arr correctly.

2001-11-28  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/ibm1163.c: New file.
	* iconvdata/ibm1163.h: New file.
	* iconvdata/ibm1164.c: New file.
	* iconvdata/ibm1164.h: New file.
	* iconvdata/TESTS: Add entries for IBM1163 and IBM1164.
	* iconvdata/Makefile: Likewise.
	* iconvdata/testdata/IBM1163: New file.
	* iconvdata/testdata/IBM1163..UTF8: New file.
	* iconvdata/testdata/IBM1164: New file.
	* iconvdata/testdata/IBM1164..UTF8: New file.
	Patch by Masahide Washizawa <WASHI@jp.ibm.com>.

	* iconvdata/ibm1046.h: Optimize.  Remove duplicate mappings.
	* iconvdata/ibm1124.h: Likewise.
	* iconvdata/ibm1132.h: Likewise.
	* iconvdata/ibm1133.h: Likewise.
	* iconvdata/ibm1160.h: Likewise.
	* iconvdata/ibm1161.h: Likewise.
	* iconvdata/ibm1162.h: Likewise.
	* iconvdata/ibm856.h: Likewise.
	* iconvdata/ibm922.h: Likewise.
	* iconvdata/ibm930.h: Likewise.
	* iconvdata/ibm932.h: Likewise.
	* iconvdata/ibm933.h: Likewise.
	* iconvdata/ibm935.h: Likewise.
	* iconvdata/ibm937.h: Likewise.
	* iconvdata/ibm939.h: Likewise.
	* iconvdata/ibm943.h: Likewise.
	* iconvdata/ibm930.c: Pretty printing.
	* iconvdata/ibm937.c: Avoid access accross array boundary.

	* iconv/gconv_open.c (__gconv_open): Empty codeset name now means using
	the current locale's codeset.
	* iconv/iconv_open.c (iconv_open): Don't strip out everything for
	empty input string.
	* iconv/iconv_prog.c: Pass empty strings as default value for to-
	and from-charset.  Don't determine locale's charset here.

	* libio/genops.c (_IO_flush_all_lockp): New function.  The same code
	as the old _IO_flush_all but lock only if parameter is nonzero.
	(_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter.
	* libio/libioP.h: Add prototype for _IO_flush_all_lockp.
	* sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0)
	if libio is used [PR libc/2575].

2001-11-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
	__signbitl): Only define for ISO C99.

2001-11-22  Thorsten Kukuk  <kukuk@suse.de>

	* nss/nss_files/files-hosts.c (_nss_files_get##name##_r): Set
	herrnop to NETDB_INTERNAL if we run out of buffer space.

2001-11-28  Ulrich Drepper  <drepper@redhat.com>

	* nss/nss_files/files-XXX.c (internal_getent): Correct input
	overflow test for platforms with signed char.
	Reported by Andrew Haley <aph@cambridge.redhat.com>.

2001-11-28  Bruno Haible  <bruno@clisp.org>

	* locale/programs/simple-hash.c (lookup_2): Remove function.
	(insert_entry_2): Call lookup instead of lookup_2.

2001-03-04  Bruno Haible  <bruno@clisp.org>

	* intl/dcigettext.c (DCIGETTEXT): Increment path_max proportionally.

2001-10-31  Bruno Haible  <bruno@clisp.org>

	* intl/plural.y: Include <stddef.h>, needed for NULL with SunOS 4 cc.

2001-03-21  Bruno Haible  <bruno@clisp.org>

	* intl/dcigettext.c (_nl_state_lock): Mark as #ifdef _LIBC. AIX 3 xlc
	chokes on empty macro arguments.
	* intl/plural.y: Add #pragma for alloca on AIX 3.

2001-11-27  Ulrich Drepper  <drepper@redhat.com>

	* intl/dcigettext.c (guess_category_value): Only implement for
	glibc.  Otherwise rely on function _nl_locale_name which isn't
	present in the glibc sources.

2001-09-24  Bruno Haible  <bruno@clisp.org>

	* intl/loadmsgcat.c (_nl_init_domain_conv): Also enable
	transliteration when building on a glibc system but outside glibc.

2001-09-22  Bruno Haible  <bruno@clisp.org>

	* intl/plural-eval.c: New file, extracted from dcigettext.c.
	* intl/dcigettext.c (plural_eval): Remove function, moved to
	intl/plural-eval.c.
	(plural_lookup): Call PLURAL_EVAL instead of plural_eval.
	Include plural-eval.c.

2001-09-22  Bruno Haible  <bruno@clisp.org>

	* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Reject numbers that
	don't start with a digit; nplurals must be positive.

2001-09-02  Bruno Haible  <bruno@clisp.org>

	* intl/plural-exp.h: New file, extracted from gettextP.h.
	* intl/plural-exp.c: New file, extracted from loadmsgcat.c.
	* intl/gettextP.h (struct expression, struct parse_args,
	__gettext_free_exp, __gettextparse): Move to plural-exp.h.
	* intl/loadmsgcat.c: Include plural-exp.h.
	(PLURAL_PARSE): Move macro to plural-exp.h.
	(plvar, plone, germanic_plural, INIT_GERMANIC_PLURAL): Move to
	plural-exp.c.
	(_nl_load_domain): Move plural handling code to plural-exp.c.  Call
	EXTRACT_PLURAL_EXPRESSION.
	(_nl_unload_domain): Update.
	* intl/dcigettext.c: Include plural-exp.h.
	* intl/plural.y: Include plural-exp.h, not gettextP.h.
	(FREE_EXPRESSION): Move macro to plural-exp.h.
	* intl/Makefile (routines): Add plural-exp.
	(distribute): Add plural-exp.h.

2001-07-28  Bruno Haible  <bruno@clisp.org>

	* intl/l10nflist.c (_nl_normalize_codeset): Cast isalnum, isalpha,
	isdigit, tolower argument to 'unsigned char'.
	* intl/loadmsgcat.c (_nl_load_domain): Cast isspace argument to
	'unsigned char'.
	* intl/localealias.c (read_alias_file): Cast isspace argument to
	'unsigned char'.

2001-10-20  Bruno Haible  <bruno@clisp.org>

	Assume strchr() exists. (Without it, intl/explodename.c wouldn't link
	anyway.)
	* intl/dcigettext.c (strchr): Remove fallback definition; it conflicts
	with the variable 'index' in plural_lookup.
	* intl/l10nflist.c (strchr): Likewise.
	* intl/localealias.c (strchr): Likewise.

	Assume <stddef.h>, <stdlib.h>, <string.h>, <locale.h> exist.
	* intl/bindtextdom.c: Likewise.
	* intl/dcigettext.c: Likewise.
	* intl/dgettext.c: Likewise.
	* intl/dngettext.c: Likewise.
	* intl/explodename.c: Likewise.
	* intl/finddomain.c: Likewise.
	* intl/gettext.c: Likewise.
	* intl/l10nflist.c: Likewise.
	* intl/loadmsgcat.c: Likewise.
	* intl/localealias.c: Likewise.
	* intl/ngettext.c: Likewise.
	* intl/textdomain.c: Likewise.
	* intl/gettext.h: Assume <limits.h> exists.

2001-11-27  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/Makefile (tests): Add scanf11.
	* stdio-common/scanf11.c: New file.

2001-11-26  Ulrich Drepper  <drepper@redhat.com>

	* version.h (RELEASE): Define as development.
	(VERSION): Set to 2.2.90.

2001-11-22  Thorsten Kukuk  <kukuk@suse.de>

	* nis/nss_compat/compat-grp.c: Print group id as unsigned long.
	* nis/nss_nis/nis-grp.c: Likewise.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.

	* nis/nss_compat/compat-pwd.c: Print user id as unsigned long.
	* nis/nss_nis/nis-pwd.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Likewise.

	* nis/nss_nis/nis-publickey.c: Use strtoul instead of atoi.
	* nis/nss_nisplus/nisplus-parser.c: Likewise.
	* nis/nss_nisplus/nisplus-publickey.c: Likewise.

	* nscd/grpcache.c: Use strtoul instead of atol.
	* nscd/pwdcache.c: Likewise.
	* nss/getent.c: Likewise.

2001-11-27  Paul Eggert  <eggert@twinsun.com>

	* sysdeps/posix/tempname.c (__gen_tempname): Try at least
	ATTEMPTS_MIN or TMP_MAX times, whichever is greater.

2001-11-19  Bruno Haible  <bruno@clisp.org>

	* locale/programs/simple-hash.c (insert_entry_2): Resize at 75%, not
	90%.
	(compute_hashval): Shift by 9 bits, not by 4 bits. This drastically
	improves the quality of the hash function, especially for short
	strings.

2001-11-26  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfscanf.c: If incomplete nan of inf(inity) strings
	are found call conv_error and not input_error [PR libc/2669].

	* math/bits/mathcalls.h: Mark ceil and floor as const.
	Reported by David Mosberger.

2001-11-21  Jim Meyering  <meyering@lucent.com>

	* posix/regex.c (iswctype, mbrtowc, wcslen, wcscoll, wcrtomb) [_LIBC]:
	Define to be __-prefixed.
	Remove unnecessary duplication in `#ifdef _LIBC' blocks.

2001-11-26  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/hppa/brk.c: Remove __brk_addr alias,
	avoid warning.

2001-11-26  Stephen L Moshier <moshier@mediaone.net>

	* sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in
	initialization.

	* sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove
	unused variables.  Fix threshold for returning 1.0.

	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify
	argument.

	* sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and
	remove unused variables.

	* sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise.

	* sysdeps/ieee754/ldbl-128/e_j1l.c (neval, deval): Likewise, and
	include local math header files.

2001-11-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Add brace to
	avoid warning.

2001-11-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers): Add
	sys/debugreg.h

2001-11-15  Andreas Jaeger  <aj@suse.de>

	* include/features.h (__GLIBC_HAVE_LONG_LONG): Define for
	compilers that support it.

	* posix/sys/types.h: Use __GLIBC_HAVE_LONG_LONG.
	* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
	* stdlib/stdlib.h: Likewise.

2001-11-17  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex.c (byte_re_match_2_internal): For gcc replace switch
	statement with gotos.
	Based on a patch by Paolo Bonzini <bonzini@pc-amo3.elet.polimi.it>.

2001-11-16  Stephen L Moshier  <moshier@mediaone.net>

	* sysdeps/ieee754/ldbl-96/s_erfl.c (__erfcl): Fix K&R header.

2001-11-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/unwind-dw2-fde.c: Don't use recursive mutexes.

2001-10-02  Jakub Jelinek  <jakub@redhat.com>
	    H.J. Lu  <hjl@gnu.org>

	* Versions.def (libc): Add GCC_3.0.
	* configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc
	if gcc supports this flag.
	(EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it.
	(gcc3): Allow glibc to be compiled with gcc 3.x.
	* config.h.in (EXPORT_UNWIND_FIND_FDE): Add.
	* config.make.in (static-libgcc, unwind-find-fde): Add.
	* Makerules (build-shlib-helper, build-module-helper): Use it.
	* scripts/versions.awk: Make sure GLIBC_ versions come first.
	* elf/soinit.c (__libc_global_ctors): Set tbases and dbases if
	necessary.
	(_fini): Call __deregister_frame_info_bases if
	__register_frame_info_bases was used to register.
	* elf/Versions (__register_frame_info, __deregister_frame_info): Add
	for GLIBC_2.0.
	(__register_frame_info_bases, __register_frame_info_table_bases,
	__deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0.
	* elf/Makefile (routines): Add unwind-dw2-fde.
	(shared-only-routines): Add unwind-dw2-fde.
	* sysdeps/alpha/gccframe.h: New file.
	* sysdeps/arm/gccframe.h: New file.
	* sysdeps/generic/framestate.c: New file.
	* sysdeps/generic/dwarf2.h: New file.
	* sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0.
	* sysdeps/generic/unwind-dw2-fde.c: New file.
	* sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file.
	* sysdeps/generic/unwind-dw2-fde.h: New file.
	* sysdeps/generic/unwind-dw2.c: New file.
	* sysdeps/generic/unwind-pe.h: New file.
	* sysdeps/generic/unwind.h: New file.
	* sysdeps/hppa/gccframe.h: New file.
	* sysdeps/i386/gccframe.h: New file.
	* sysdeps/m68k/gccframe.h: New file.
	* sysdeps/mips/gccframe.h: New file.
	* sysdeps/powerpc/gccframe.h: New file.
	* sysdeps/s390/gccframe.h: New file.
	* sysdeps/sh/gccframe.h: New file.
	* sysdeps/sparc/gccframe.h: New file.
	* sysdeps/vax/gccframe.h: New file.
	* sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde):
	Set on all architectures except ia64.
	* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set
	for i386.
	* sysdeps/mach/hurd/i386/Versions (__register_frame_info,
	__deregister_frame_info): Move to elf/Versions.
	* sysdeps/unix/sysv/linux/m68k/Versions: Likewise.
	* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Versions: Likewise.
	* sysdeps/unix/sysv/linux/i386/Versions: Likewise.
	* sysdeps/unix/sysv/linux/mips/Versions: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise.
	* sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate.
	* sysdeps/unix/sysv/linux/arm/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/alpha/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sparc/Makefile: Likewise.

2001-11-15  Jeff Law  <law@redhat.com>

	* posix/regex.c (uintptr_t): Do not provide a definition if the
	system provided one.

2001-11-13  Roland McGrath  <roland@frob.com>

	* stdio-common/tmpfile.c: Moved to ...
	* sysdeps/generic/tmpfile.c: ... here.
	* sysdeps/mach/hurd/tmpfile.c: New file.

	* hurd/fopenport.c (__fopenport): Renamed from fopenport.
	[USE_IN_LIBIO] (fopencookie): #define as _IO_fopencookie.
	(fopenport): Define as weak alias.

	* libio/iofopncook.c (_IO_fopencookie): Move forward declaration ...
	* libio/libioP.h: ... to here.

2001-11-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-reloc.c (_dl_relocate_object): Avoid iterating over
	program header twice.  Construct list with the needed information.

2001-11-10  Ulrich Drepper  <drepper@redhat.com>

	* po/ca.po: Update from translation team.

	* elf/dl-load.c (_dl_map_object_from_fd): Remove use of
	_dl_pf_to_prot.  Use arithmetic operation using PF_TO_PROT macro.
	* sysdeps/generic/ldsodefs.h (PF_TO_PROT): New macro.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.

2001-11-10  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/ldbl-128/e_log2l.c: New file.
	* sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
	Contributed by Stephen L Moshier <moshier@mediaone.net>.

2001-11-09  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c (realloc): Handle NULL for first parameter
	correctly.
	* elf/dl-load.c (is_dst): New function.
	(_dl_dst_count): Use is_dst to check for DST variable.
	(_dl_dst_substitute): Likewise.

2001-11-09  Roland McGrath  <roland@frob.com>

	Hurd/PowerPC port contributed by Peter Bruin <pjbruin@dds.nl>.
	* sysdeps/mach/hurd/powerpc/exc2signal.c: New file.
	* sysdeps/mach/hurd/powerpc/init-first.c: New file.
	* sysdeps/mach/hurd/powerpc/intr-msg.h: New file.
	* sysdeps/mach/hurd/powerpc/longjmp-ts.c: New file.
	* sysdeps/mach/hurd/powerpc/register-dump.h: New file.
	* sysdeps/mach/hurd/powerpc/sigreturn.c: New file.
	* sysdeps/mach/hurd/powerpc/static-start.S: New file.
	* sysdeps/mach/hurd/powerpc/trampoline.c: New file.
	* sysdeps/mach/hurd/powerpc/bits/sigcontext.h: New file.
	* sysdeps/mach/hurd/powerpc/Dist: New file.

	* hurd/privports.c (__get_privileged_ports):
	Only contact the proc server if necessary for this call.
	Suggested by Neal H Walfield <neal@cs.uml.edu>.
	Check error return for mach_port_mod_refs.

2001-11-09  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/m68k/bits/resource.h: New file.

2001-11-09  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (lose): Remove some unnecessary code.  The new
	object is always the last in the list.
	(_dl_map_object_from_fd): Delete code to remove from object list
	when DF_1_NOOPEN is seen.  This is done in lose.

2001-11-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-object.c (_dl_new_object): Various small optimizations.

2001-11-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/dl-cache.c: Optimize SEARCH_CACHE and
	HWCAP_CHECK macro code.

	* elf/dl-misc.c (_dl_sysdep_read_whole_file): Optimize code a bit.
	Now returns MAP_FAILED on error.
	* elf/rtld.c: Adjust caller.
	* sysdeps/generic/dl-cache.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Adjust description.

	* elf/dl-version.c (match_symbol): Optimize error handling for size.
	(_dl_check_map_versions): Likewise.

2001-11-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Don't call
	_dl_signal_error directly, always use lose.  Set fd to -1 after
	file is closed.
	(lose): Don't call close if fd == -1.

2001-11-07  Kaoru Fukui  <k_fukui@highway.ne.jp>

	* manual/charset.texi: Fix typo @w[ISO 6937] to  @w{ISO 6937}.
	 Also fix typo @code {mbsinit} to @code{mbsinit}.

2001-11-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-profile.c: Replace state variable with simple flag named
	running.  Remove commented-out code.

	* elf/dl-load.c (decompose_rpath): Optimize error handling for size.
	(_dl_init_paths): Likewise.
	(_dl_map_object_from_fd): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Likewise.

2001-11-06  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/powerpc/sysdep.h: Include sysdeps/unix/powerpc/sysdep.h
	instead of sysdeps/powerpc/elf/sysdep.h and sysdeps/unix/sysdep.h.

	* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Don't include
	sysdeps/powerpc/elf/sysdep.h.
	Reported by Kaoru Fukui <k_fukui@highway.ne.jp>.

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

	* elf/rtld.c (process_dl_debug): Rewritten.  Optimized for size not
	speed.
	(process_envvars): Some more optimizations.
	* sysdeps/generic/ldsodefs.h (DL_DEBUG_HELP): New macro.

	* elf/elf.h: Add dynamic tag definitions for prelinking.

	* elf/rtld.c (process_envvars): Avoid using array of string pointers.
	Rewrite code to remove environment varables for SUID binaries.
	Small optimization in LD_PROFILE handling.
	* sysdeps/generic/unsecvars.h: Adjust format for process_envvars
	changes.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.

	* sysdeps/generic/dl-sysdep.c: Don't initialize _dl_cpuclock_offset.

	* elf/dl-reloc.c (_dl_reloc_bad_type): Rewrite to not use writable
	strings.  Change type of second parameter.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_reloc_bad_type prototype
	for last change.

	* io/fts.h: Prevent using <fts.h> with _FILE_OFFSET_BITS=64.

2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>

	* manual/string.texi: Fix typos.
	* manual/examples/argp-ex2.c: Likewise.

2001-11-05  Roland McGrath  <roland@frob.com>

	* sysdeps/powerpc/elf/sysdep.h: Remove this file, because it overrides
	the more-specific unix/sysv/linux/powerpc file and breaks everything.
	* sysdeps/powerpc/sysdep.h (ALIGNARG, ASM_TYPE_DIRECTIVE,
	ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, DO_CALL, JUMPTARGET,
	PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): These macros moved here
	here, put under [__ELF__].

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

	* manual/charset.texi: Extensive editing work.
	* manual/nss.texi: Likewise.
	Changes by Dennis Grace <dgrace@us.ibm.com>.

2001-11-04  Roland McGrath  <roland@frob.com>

	* hurd/set-host.c (_hurd_set_host_config): Use O_WRONLY in flags
	parameter to dir_mkfile.

2001-11-02  Jakub Jelinek  <jakub@redhat.com>

	* string/bits/string2.h (__strndup): If n is smaller than len, set
	len to n + 1.
	* string/tester.c (test_strndup): New function.
	(main): Call it.

2001-11-01  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/rpc_main.c: Optimize variable definitions a bit.

	* sunrpc/Makefile (rpcgen-cmd): Use ../scripts/cpp in rpcgen calls.
	* scripts/cpp: New file.

	* elf/dl-load.c (_dl_map_object): Correct test of DF_1_NODEFLIB
	for rtld_search_dirs content.  Minor optimizations.

2001-10-31  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object): Make code a bit more compact by
	avoiding unnecessary duplication.

2001-10-31  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-load.c (_dl_map_object): If library was found using
	LD_LIBRARY_PATH, don't try RUNPATH list.

2001-10-31  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h (REGISTER_DUMP):
	Correct second argument of register_dump call.
	* sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h (REGISTER_DUMP):
	Likewise.

2001-10-31  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/Makefile: Add support for IBM1132, IBM1133, and IBM1162
	modules.
	* iconvdata/TESTS: Likewise.
	* iconvdata/gconv-modules: Likewise.
	* iconvdata/ibm1132.c: New file.
	* iconvdata/ibm1132.h: New file.
	* iconvdata/ibm1133.c: New file.
	* iconvdata/ibm1133.h: New file.
	* iconvdata/ibm1162.c: New file.
	* iconvdata/ibm1162.h: New file.
	* iconvdata/testdata/IBM1132: New file.
	* iconvdata/testdata/IBM1132..UTF8: New file.
	* iconvdata/testdata/IBM1133: New file.
	* iconvdata/testdata/IBM1133..UTF8: New file.
	* iconvdata/testdata/IBM1162: New file.
	* iconvdata/testdata/IBM1162..UTF8: New file.
	Patches by Masahide Washizawa <WASHI@jp.ibm.com>.

	* string/string.h: Fix typo in comment.
	* wcsmbs/wchar.h: Likewise.

2001-10-30  Joseph S. Myers  <jsm28@cam.ac.uk>

	* manual/getopt.texi (getopt_long, getopt_long_only): Include
	const in type of longopts parameter.

2001-10-29  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/dbl-64/mpa.h: Add prototypes for internal functions.

2001-10-29  Kevin Ryde  <user42@zip.com.au>

	* manual/stdio.texi (Integer Conversions): Corrections to sample printf
	output, clarify `#' behaviour on 0.
	(Floating-Point Conversions): Clarify that %g only uses %e when
	the exponent would be greater than 1.

2001-10-28  Roland McGrath  <roland@frob.com>

	Support for Mach/PowerPC contributed by Peter Bruin <pjbruin@dds.nl>.
	* sysdeps/mach/powerpc/machine-sp.h: New file.
	* sysdeps/mach/powerpc/sysdep.h: New file.
	* sysdeps/mach/powerpc/thread_state.h: New file.

	* sysdeps/mach/hurd/i386/Makefile: File removed; crt0.o rules moved ...
	* sysdeps/mach/hurd/Makefile: ... to here.  For the time being, we can
	expect to need the same thing on every platform.

	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: File moved ...
	* sysdeps/generic/sys/ucontext.h: ... to replace this one.

	* sysdeps/unix/sysv/linux/powerpc/sysdep.h (ALIGNARG,
	ASM_TYPE_DIRECTIVE, ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN,
	DO_CALL, JUMPTARGET, PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT):
	Move all these assembly-related definitions to ...
	* sysdeps/powerpc/elf/sysdep.h: ... this new file.

	* sysdeps/mach/powerpc/machine-lock.h: Assembly code rewritten
	by Peter Bruin <pjbruin@dds.nl>.

	* hurd/hurdselect.c (_hurd_select): Check SELECT_RETURNED bit when
	packing results for a `poll' call.

2001-10-26  Ulrich Drepper  <drepper@redhat.com>

	* posix/fnmatch_loop.c: Recognize - at end of bracket expression
	correctly.
	* posix/tst-fnmatch.input: Add tests for - at beginning and end of
	bracket expression.

	* string/strxfrm.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get
	nrules value.
	* string/tst-strxfrm.c (test): Also test __strxfrm_l.

2001-10-24  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/bits/dlfcn.h (DL_CALL_FCT): Cast to void *.
	Use __BEGIN_DECLS/__END_DECLS around prototypes.
	* sysdeps/mips/bits/dlfcn.h (DL_CALL_FCT): Likewise.

2001-10-21  Jim Meyering  <meyering@lucent.com>

	* malloc/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
	this code would end up calling gettext even in packages built
	with --disable-nls.
	* posix/getopt.c (_): Likewise.
	* posix/regex.c (_): Likewise.

2001-10-26  Ulrich Drepper  <drepper@redhat.com>

	* resolv/gethnamaddr.c (gethostbyaddr): Use ip6.addr for reverse
	lookup not ip6.int.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
	Reported by Martin.v.Loewis@t-online.de [PR libc/2598].

2001-10-19  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__attribute_used__): Define.
	* elf/rtld.c (_dl_start): Add __attribute_used__.
	* elf/dl-runtime.c (fixup, profile_fixup): Likewise.

2001-10-25  Andreas Schwab  <schwab@suse.de>

	* stdlib/a64l.c: Expect least significant digit first.
	* stdlib/l64a.c: Produce least significant digit first.
	* stdlib/Makefile (tests): Add test-a64l.
	* stdlib/test-a64l.c: New file.
	Reported by Masaki Hasegawa <masaki-h@pp.iij4u.or.jp>.

2001-10-21  Ulrich Drepper  <drepper@redhat.com>

	* po/sk.po: Update from translation team.

2001-10-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/elf/start.S (_fp_hw): Define object type.

2001-10-18  Andreas Schwab  <schwab@suse.de>

	* math/libm-test.inc (print_ulps): Print ulp values rounded to
	next whole number.
	(print_function_ulps): Likewise.
	(print_complex_function_ulps): Likewise.
	(print_max_error): Likewise.
	(print_complex_max_error): Likewise.  Handle ignore_max_ulp.

2001-10-16  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/fpu/libm-test-ulps: Updated for fixed cbrtl
	implementation.

	* sysdeps/m68k/setjmp.c: Also define setjmp and _setjmp if
	BSD_SETJMP or BSD__SETJMP is defined, resp.
	* sysdeps/m68k/bsd-setjmp.c: Inline setjmp code instead of making
	a tail call to __sigsetjmp that would require extending the
	caller's frame.
	* sysdeps/m68k/bsd-_setjmp.c: Likewise.
	* sysdeps/m68k/bsd-setjmp.S: Deleted.
	* sysdeps/m68k/bsd-_setjmp.S: Deleted.
	Reported by Jes Sorensen <jes@trained-monkey.org>.

2001-10-16  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Fix
	parentheses.  Reported by David Byron <dbyron@porto.coactive.com>,
	close PR libc/2589.

2001-10-15  Ulrich Drepper  <drepper@redhat.com>

	* po/ca.po: New file.  Contributed by the translation team.

2001-10-15  Ralf Baechle  <ralf@gnu.org>

	* sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Make sysmips() prototype
	a varargs prototype.  Remove dependency from kernel header files.

	* sysdeps/unix/sysv/linux/mips/bits/termios.h: General cleanup, use
	__USE_MISC / __USE_XOPEN not __USE_BSD where appropriate.

2001-10-14  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/ld-collate.c (handle_ellipsis): Use %lX not %lx
	to generate hexadecimal identifier.
	Patch by Jungshik Shin <jungshik.shin@yale.edu>.

2001-10-09  Stephen L Moshier  <moshier@mediaone.net>

	* sysdeps/ieee754/ldbl-96/s_cbrtl.c (__cbrtl): Fix algorithm.

2001-10-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ieee754/ldbl-128/e_powl.c: New file.
	* sysdeps/ieee754/ldbl-128/s_cbrtl.c: New file.
	Contributed by Stephen L Moshier <moshier@mediaone.net>.

	* sysdeps/ieee754/ldbl-128/e_j0l.c: Constify float variables.
	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise
	* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise
	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise
	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise

	* timezone/africa: Update from tzdata2001d.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

2001-10-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/sys/ucontext.h: Correct __psw_t typedef.
	* sysdeps/s390/s390-64/sys/ucontext.h: Likewise.

2001-10-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (PT_TLS): New definition.

2001-10-10  Jeff Bailey  <jbailey@nisa.net>

	* sysdeps/mach/hurd/Makefile: Add $(CFLAGS) for generation of
	bits/errno.h

2001-10-07  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/setrlimit.c (__setrlimit): Never return ENOSYS.

2001-10-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Add more ELFOSABI_* constants.

2001-10-04  Ben Collins  <bcollins@debian.org>

	* sysdeps/generic/inttypes.h: Fix typo (define, not defined) in
	decleration of __need_wchar_t.

2001-10-03  Jakub Jelinek  <jakub@redhat.com>

	* string/bits/string2.h (__strsep_g): Add prototype.
	(__strsep): Use it.
	* string/Versions (__strsep): Remove.
	* sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep.

2001-10-07  Ulrich Drepper  <drepper@redhat.com>

	* manua/llio.texi: Clarify file references added by mmap.
	Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.

2001-09-29  Jes Sorensen  <jes@trained-monkey.org>

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
	Add sc_loadrs and sc_rbs_bas to match current kernel.

2001-09-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.

	* sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Fix erfc(-inf).

2001-09-27  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-open.c (dl_open_worker): If l_opencount of freshly loaded
	object has been bumped because of relocation dependency, avoid
	duplicates in l_scope.
	(show_scope): Fix typos.
	* elf/Makefile: Add rules to build and run reldep6.
	* elf/reldep6.c: New file.
	* elf/reldep6mod0.c: New file.
	* elf/reldep6mod1.c: New file.
	* elf/reldep6mod2.c: New file.
	* elf/reldep6mod3.c: New file.
	* elf/reldep6mod4.c: New file.

2001-09-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Call
	sparc64_fixup_plt.
	(sparc64_fixup_plt): Moved from elf_machine_fixup_plt.  Optimize
	near jumps and 0xfffff800XXXXXXXX target addresses, no thread safety
	for non-lazy binding. Fix .plt[32768+] handling.
	(elf_machine_plt_value): Don't add addend.
	(elf_machine_rela): Call sparc64_fixup_plt instead of
	elf_machine_fixup_plt.
	(elf_machine_runtime_setup, TRAMPOLINE_TEMPLATE): Optimize for
	dynamic linker at 0xfffff800XXXXXXXX.

	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.

2001-09-28  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h: Define SHF_GROUP and SHF_TLS.

2001-09-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsghdr): Don't
	declare __cmsg_data field if its size would be bigger than 0.
	(CMSG_DATA): Adjust accordingly.
	* sysdeps/unix/sysv/aix/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.

2001-09-25  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/TESTS: Add entries for IBM1160 and IBM1161.
	* iconvdata/testdata/IBM1160: New file.
	* iconvdata/testdata/IBM1160..UTF8: New file.
	* iconvdata/testdata/IBM1161: New file.
	* iconvdata/testdata/IBM1161..UTF8: New file.
	Patch by Masahide Washizawa <WASHI@jp.ibm.com>.

2001-09-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/bsd/ulimit.c (ulimit): Handle overflow in
	UL_SETFSIZE computations better.

	* rt/Makefile: Remove use of filter for librt again.

	* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle overflow in
	UL_SETFSIZE computations better.

	* string/Versions: Export __strsep for GLIBC_2.2.5.
	* string/bits/string2.h: Define all __STRING_INLINE functions if
	_FORCE_INLINES is defined.
	Use int instead of char of parameter types.
	(__strsep): Don't use __strsep_g.  Don't define it.
	(__strsep_1c, __strsep_2c, __strsep_3c): Optimize.
	* sysdeps/i386/i486/string.h (__strcpy_a_small): Renamed from
	__strcpy_small.
	(__stpcpy_a_small): Renamed from __stpcpy_small.
	(__strcspn_c1): Don't define if _FORCE_INLINES.
	(__strspn_c1): Likewise.

2001-09-22  Ben Collins  <bcollins@debian.org>

	* sysdeps/sparc/bits/sigaction.h: Define SA_RESTART and friends when
	_UNIX98_SOURCE is defined too.  Matches generic/bits/sigaction.h.
	* sysdeps/ia64/bits/sigaction.h: Likewise.
	* sysdeps/s390/s390-64/bits/sigaction.h: Likewise.

2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>

	* sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h.

2001-09-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-open.c (dl_open_worker): Update l_scope_max.

2001-09-24  Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/wchar.h: Add __attribute_pure__ to mbsinit prototype.

2001-09-20  H.J. Lu  <hjl@gnu.org>

	* include/dlfcn.h (__RTLD_SPROF): New definiton.
	* elf/dl-open.c (dl_open_worker): Return immediately after loading
	for __RTLD_SPROF.
	* elf/sprof.c (main): Default to the filename if soname doesn't exist.
	(load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF'.

2001-09-20  H.J. Lu  <hjl@gnu.org>

	* elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc,
	don't add 1.

2001-09-22  Ulrich Drepper  <drepper@redhat.com>

	* nss/getent.c: Accept -s parameter to overwrite rules in
	nsswitch.conf.  Patch by Nalin Dahyabhai <nalin@redhat.com>.

	* nss/nss_files/files-network.c (LINE_PARSER): Pad addr string
	with as many ".0" as necessary to form a complete address
	inet_network understands.

	* nss/getent.c: Various cleanups.  Use simpler and fewer function
	calls.

2001-09-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in
	_JMPBUF_UNWINDS.
	* sysdeps/s390/s390-64/bits/setjmp.h: Likewise.

2001-09-22  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/Makefile: Add rules to build and distribute IBM1160 and
	IBM1161.
	* iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161.
	* iconvdata/ibm1160.c: New file.
	* iconvdata/ibm1160.h: New file.
	* iconvdata/ibm1161.c: New file.
	* iconvdata/ibm1161.h: New file.
	Patch by Masahide Washizawa <WASHI@jp.ibm.com>.

2001-09-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the
	difference between base address and first PT_LOAD's virtual address,
	not the base address.

2001-09-11  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/init-first.c (init):  Use USE_NONONPTION_FLAG
	ifdef for __getopt_clean_environment.
	* sysdeps/unix/sysv/aix/libc-start.c: Add real implementation.

2001-09-22  Andreas Jaeger  <aj@suse.de>

	* elf/reldep4.c (main): Add proper prototype to fix warning.

	* elf/reldep5.c (main): Remove unused variable.

	* math/math_private.h: Add prototypes.

2001-09-21  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/Dist: New file.
	* sysdeps/x86_64/Dist: New file.
	* sysdeps/x86_64/soft-fp/Dist: New file.

	* sysdeps/gnu/Dist: Remove eval.c.

2001-09-20  Ulrich Drepper  <drepper@redhat.com>

	* malloc/memusage.c (realloc): Don't count already allocated
	memory in the sums.
	(me): Always use dlsym() to find the real implementations.

	* malloc/memusage.sh: Make -n option actually do something.

2001-09-20  Andreas Jaeger  <aj@suse.de>

	* elf/elf.h (R_390_NUM): Correct value.

	* Versions.def: Add missing versions 2.2.3 for libthread_db and
	libpthread.

	* sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version
	for x86-64, install x86-64 into */lib64.

	* shlib-versions: Add x86-64.

	* elf/elf.h: Add x86-64 relocations.

2001-09-19  Ulrich Drepper  <drepper@redhat.com>

	* po/fr.po: Update from translation team.

2001-09-19  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/Makefile: New file.
	* sysdeps/unix/sysv/linux/x86_64/Versions: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/types.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/brk.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/clone.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/fxstat.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/getdents.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/getdents64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/glob64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/lxstat.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/lxstat64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/mmap64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/pread64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/profil-counter.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/readdir.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/readdir_r.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/recv.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/send.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/sigpending.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/statfs64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sys/perm.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/sys/user.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/syscall.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: New file.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/time.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/umount.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/xstat.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/xstat64.c: New file.
	* sysdeps/unix/x86_64/sysdep.S: New file.
	* sysdeps/unix/x86_64/sysdep.h: New file.
	* sysdeps/x86_64/Implies: New file.
	* sysdeps/x86_64/Makefile: New file.
	* sysdeps/x86_64/Versions: New file.
	* sysdeps/x86_64/__longjmp.S: New file.
	* sysdeps/x86_64/abort-instr.h: New file.
	* sysdeps/x86_64/atomicity.h: New file.
	* sysdeps/x86_64/bits/endian.h: New file.
	* sysdeps/x86_64/bits/setjmp.h: New file.
	* sysdeps/x86_64/bits/string.h: New file.
	* sysdeps/x86_64/bp-asm.h: New file.
	* sysdeps/x86_64/bsd-_setjmp.S: New file.
	* sysdeps/x86_64/bsd-setjmp.S: New file.
	* sysdeps/x86_64/dl-machine.h: New file.
	* sysdeps/x86_64/elf/initfini.c: New file.
	* sysdeps/x86_64/elf/start.S: New file.
	* sysdeps/x86_64/ffs.c: New file.
	* sysdeps/x86_64/ffsll.c: New file.
	* sysdeps/x86_64/fpu/bits/fenv.h: New file.
	* sysdeps/x86_64/fpu/bits/mathdef.h: New file.
	* sysdeps/x86_64/fpu/e_acosl.c: New file.
	* sysdeps/x86_64/fpu/e_atan2l.c: New file.
	* sysdeps/x86_64/fpu/e_exp2l.S: New file.
	* sysdeps/x86_64/fpu/e_expl.c: New file.
	* sysdeps/x86_64/fpu/e_fmodl.S: New file.
	* sysdeps/x86_64/fpu/e_log10l.S: New file.
	* sysdeps/x86_64/fpu/e_log2l.S: New file.
	* sysdeps/x86_64/fpu/e_logl.S: New file.
	* sysdeps/x86_64/fpu/e_powl.S: New file.
	* sysdeps/x86_64/fpu/e_rem_pio2l.c: New file.
	* sysdeps/x86_64/fpu/e_scalbl.S: New file.
	* sysdeps/x86_64/fpu/e_sqrtl.c: New file.
	* sysdeps/x86_64/fpu/fclrexcpt.c: New file.
	* sysdeps/x86_64/fpu/fedisblxcpt.c: New file.
	* sysdeps/x86_64/fpu/feenablxcpt.c: New file.
	* sysdeps/x86_64/fpu/fegetenv.c: New file.
	* sysdeps/x86_64/fpu/fegetexcept.c: New file.
	* sysdeps/x86_64/fpu/fegetround.c: New file.
	* sysdeps/x86_64/fpu/feholdexcpt.c: New file.
	* sysdeps/x86_64/fpu/fesetenv.c: New file.
	* sysdeps/x86_64/fpu/fesetround.c: New file.
	* sysdeps/x86_64/fpu/fgetexcptflg.c: New file.
	* sysdeps/x86_64/fpu/fraiseexcpt.c: New file.
	* sysdeps/x86_64/fpu/fsetexcptflg.c: New file.
	* sysdeps/x86_64/fpu/ftestexcept.c: New file.
	* sysdeps/x86_64/fpu/libm-test-ulps: New file.
	* sysdeps/x86_64/fpu/math_ldbl.h: New file.
	* sysdeps/x86_64/fpu/printf_fphex.c: New file.
	* sysdeps/x86_64/fpu/s_atanl.c: New file.
	* sysdeps/x86_64/fpu/s_cosl.S: New file.
	* sysdeps/x86_64/fpu/s_expm1l.S: New file.
	* sysdeps/x86_64/fpu/s_fpclassifyl.c: New file.
	* sysdeps/x86_64/fpu/s_isinfl.c: New file.
	* sysdeps/x86_64/fpu/s_isnanl.c: New file.
	* sysdeps/x86_64/fpu/s_log1pl.S: New file.
	* sysdeps/x86_64/fpu/s_logbl.c: New file.
	* sysdeps/x86_64/fpu/s_nextafterl.c: New file.
	* sysdeps/x86_64/fpu/s_nexttoward.c: New file.
	* sysdeps/x86_64/fpu/s_nexttowardf.c: New file.
	* sysdeps/x86_64/fpu/s_rintl.c: New file.
	* sysdeps/x86_64/fpu/s_significandl.c: New file.
	* sysdeps/x86_64/fpu/s_sincosl.S: New file.
	* sysdeps/x86_64/fpu/s_sinl.S: New file.
	* sysdeps/x86_64/fpu/s_tanl.S: New file.
	* sysdeps/x86_64/gmp-mparam.h: New file.
	* sysdeps/x86_64/hp-timing.c: New file.
	* sysdeps/x86_64/hp-timing.h: New file.
	* sysdeps/x86_64/htonl.S: New file.
	* sysdeps/x86_64/memusage.h: New file.
	* sysdeps/x86_64/setjmp.S: New file.
	* sysdeps/x86_64/soft-fp/sfp-machine.h: New file.
	* sysdeps/x86_64/stackinfo.h: New file.
	* sysdeps/x86_64/sysdep.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: New file.

	* sysdeps/ieee754/ldbl-128/s_erfl.c: New file, contributed Stephen
	L Moshier.

2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (ptmalloc_init): Handle _environ==NULL.
	Reported by B. D. Elliott <bde@nwlink.com> [PR libc/2541].

2001-09-18  Andreas Schwab  <schwab@suse.de>

	* elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope
	list, now that l_scope is a pointer.

	* elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the
	scope list.

2001-09-18  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition.
	(elf_machine_rela_relative): Add a missing declaration.

2001-09-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file.
	* sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390
	ldd-rewrite scripts.

2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldd.bash.in: Update copyright message.

2001-09-17  H.J. Lu  <hjl@gnu.org>

	* hurd/hurdmalloc.c (bcopy): Removed.
	(realloc): Replace bcopy with memcpy.
	* hurd/path-lookup.c (file_name_path_scan): Likewise.
	* resolv/gethnamaddr.c (map_v4v6_address): Likewise.
	* sunrpc/rpcinfo.c (pmapdump): Likewise.

	* resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove.
	(gethostbyaddr): Likewise.
	* sunrpc/rpcinfo.c (get_inet_address): Likewise.

2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/gnu/eval.c: Removed.

2001-09-18  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/s_logbl.S: Move to ...
	* sysdeps/i386/fpu/s_logbl.c: ...here, use inline assembler.

	* sysdeps/i386/fpu/s_rintl.S: Move to ...
	* sysdeps/i386/fpu/s_rintl.c: ...here, use inline assembler.

	* sysdeps/i386/fpu/s_significandl.S: Move to ...
	* sysdeps/i386/fpu/s_significandl.c: ...here, use inline assembler.

2001-09-16  Ulrich Drepper  <drepper@redhat.com>

	* string/strcoll.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get
	nrules value.

2001-09-14  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/fpu/libm-test-ulps: Updated.

2001-09-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix a typo.
	Patch by Florian La Roche <laroche@redhat.com>.

	* string/bits/string2.h (__strtok_r_1c): Optimize a bit.

	* sysdeps/unix/sysv/linux/net/ethernet.h: Correct references to
	ETHER_CRC_LEN.

2001-09-14  Andreas Schwab  <schwab@suse.de>

	* posix/execl.c: Fix last argument of memcpy.  Reported by Brian
	Sumner <bls@sgi.com>.
	* posix/execlp.c: Likewise.

2001-09-13  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter
	is already found earlier in the search scope.

2001-09-12  Jakub Jelinek  <jakub@redhat.com>

	* rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's
	filter.

2001-09-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/powerpc/fpu/libm-test-ulps: Adjust expected errors for j0.

2001-09-12  Ulrich Drepper  <drepper@redhat.com>

	* config.h.in: Enforce optimization to be used.
	* Makeconfig (preprocess-versions): Define ASSEMBLER.
	* stdlib/Makefile (isomac-CFLAGS): Define to -O.
	* posix/Makefile (annexc-CFLAGS): Define to -O.
	* sysdeps/unix/make-syscalls.sh: Define __OPTIMIZE__ in use of asm_CPP.

2001-09-11  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup.
	Patch by Stephan Kulow.

2001-09-08  Ben Collins  <bcollins@debian.org>

	* sysdeps/arm/dl-machine.h (elf_machine_rel): Fix thinko in
	usage of RESOLVE() (r_type, not reloc->r_type).

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

	* elf/dl-object.c: Avoid allocating extra memory block for name.
	* elf/dl-close.c (_dl_close): Don't free l_libname if it is not
	allocated separately.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.

2001-09-08  H.J. Lu  <hjl@gnu.org>

	* po/zh_TW.po: Fix a typo.

2001-09-07  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/sysv_termio.h: New file.

2001-08-26  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/Makefile (aix-syscalls.o): More linker
	command line options.
	* sysdeps/unix/sysv/aix/start.s: New file, rework of start.c
	* sysdeps/unix/sysv/aix/start.c: Removed.
	* sysdeps/unix/sysv/aix/start-libc.c: New file.
	* sysdeps/unix/sysv/aix/init-first.c: New file.
	* sysdeps/unix/sysv/aix/fcntl.c: Alias __libc_fcntl to __fcntl.

2001-09-08  Ben Collins  <bcollins@debian.org>

	* sysdeps/arm/dl-machine.h: Fix usage of new _dl_signal_error() format.
	* sysdeps/generic/dl-machine.h: Likewise.
	* sysdeps/hppa/dl-fptr.c: Likewise.
	* sysdeps/ia64/dl-fptr.c: Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/mips/mips64/dl-machine.h: Likewise.
	* sysdeps/powerpc/dl-machine.c: Likewise.

2001-09-07  Ben Collins  <bcollins@debian.org>

	* sysdeps/sparc/sparc32/dl-machine.h: Fix typo.

	* sysdeps/hppa/dl-lookupcfg.h: Forward declare struct link_map.

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

	* elf/dl-lookup.c (add_dependency): Bump l_opencount of all
	dependencies if necessary.

	* elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't
	loaded directly) determine length if l_initfini list by iterating
	over its elements.  Minor optimizations.
	* elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini
	for dependency objects.
	If object was already loaded check whether any of the dependencies
	is already on the relocation dependency list.  If yes, remove the
	latter.  Minor optimizations.
	* elf/dl-lookup.c (add_dependency): Add check for self reference of
	maps here.  Search l_initfini list only if the object was loaded
	directly and not only as a dependency.
	(_dl_lookup_symbol): Add relocation dependency also if object
	is not in global scope.  Remove test for self-reference here.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-object (_dl_new_object): Cleanup.  Initialize dont_free
	element of first name record.
	* elf/loadtest.c: Add some more test to recognize early if an object
	wasn't unloaded.
	* elf/Makefile: Add rules to build and run reldep5.
	* elf/reldep5.c: New file.
	* elf/reldepmod5.c: New file.
	* elf/reldepmod6.c: New file.

	* elf/reldep2.c: Fix typo.

2001-09-07  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h (struct link_map): Add l_scope_mem and l_scope_max
	elements.  Change l_scope to be a pointer only.
	* elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max.
	* elf/dl-open.c (dl_open_worker): If dependency wasn't just opened
	here add searchlist of newly open file to the dependency's scope.
	* elf/dl-close.c (_dl_close): If dependency is used otherwise remove
	only searchlist from its scope.  Free own scope array if necessary.
	* elf/Makefile (tests): Add dblload and dblunload now.

2001-09-06  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: New file, contributed
	Stephen L Moshier.

2001-09-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/Makefile: Add rules to build new tests.  Don't run them yet since
	they both fail.
	* elf/dblload.c: New file.
	* elf/dblloadmod1.c: New file.
	* elf/dblloadmod2.c: New file.
	* elf/dblloadmod3.c: New file.
	* elf/dblunload.c: New file.

2001-09-04  Richard Henderson  <rth@redhat.com>

	* elf/elf.h (R_ALPHA_OP_*, R_ALPHA_IMMED_*): Remove.
	(R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.

2001-09-04  Ulrich Drepper  <drepper@redhat.com>

	Correct very misleading message for error in failed runtime relocation.
	* elf/dl-error.c (_dl_signal_error): Take extra parameter to describe
	place of the error.
	(_dl_signal_cerror): Likewise.
	* sysdeps/generic/ldsodefs.h: Adjust prototypes.
	* elf/dl-close.c: Likewise.
	* elf/dl-deps.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* sysdeps/generic/dl-sysdep.c: Likewise.

2001-09-04  Jakub Jelinek  <jakub@redhat.com>

	* iconv/strtab.c (strtabinit): Initialize null Strent.
	(newstring): Move len == 0 handling...
	(strtabadd): ...here.
	If len == 1, return null Strent.
	When inserting a suffix of an existing string, check if
	it is not equal to some suffix already recorded.
	Copy left and right members over if adding longer string.

2001-09-04  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/rpc_cout.c (upcase): Account for trailing '\0'.

	* sysdeps/unix/sysv/linux/alpha/gethostname.c: Include <errno.h>.
	(__syscall_gethostname): Add prototype.

2001-09-04  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-object.c (_dl_new_object): Remove unnecessary if.

2001-09-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (dl_main): Increment l_opencount for main binary.

2001-08-27  Roland McGrath  <roland@frob.com>

	* sysdeps/unix/sysv/gethostname.c (__gethostname): When LEN is too
	short, copy that much into NAME anyway before returning error.

2001-09-01  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/Dist: Remove file.
	* sysdeps/alpha/elf/Makefile: Remove file.
	* sysdeps/alpha/elf/crtbegin.S: Remove file.
	* sysdeps/alpha/elf/crtend.S: Remove file.
	* sysdeps/alpha/elf/initfini.c: New file.

2001-09-01  Mark Kettenis  <kettenis@gnu.org>

	* iconv/tst-iconv1.c: Include <stddef.h> for wchar_t.
	* iconv/tst-iconv3.c: Likewise.

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

	* sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++.

2001-09-01  Ulrich Drepper  <drepper@redhat.com>

	* iconv/gconv_cache.c: Rename variable cache to __gconv_cache and
	export it.
	* iconv/Versions (libc) [GLIBC_2.2.5]: Export __gconv_cache.
	* iconv/iconv_prog.c (insert_cache): New function.
	(print_known_names): If cache is used call insert_cache to use the
	information from the cache [PR libc/2509].

2001-08-31  Ulrich Drepper  <drepper@redhat.com>

	* time/strptime.c (strptime_internal): Recognize 'l' format and
	handle it like 'I' for symmetry with strftime.

2001-08-31  Richard Henderson  <rth@redhat.com>

	* elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL.
	(HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present.
	* elf/rtld.c (HP_TIMING_AVAIL): Likewise.
	(print_statistics): Make scalar unsigned long long.
	* sysdeps/alpha/hp-timing.h: New file.

2001-08-31  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/perror.c (perror): Save errno early, pass it
	down to perror_internal.
	(perror_internal): Add errnum argument.

2001-08-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code.
	Don't add old memory content for R_ALPHA_REFQUAD.

2001-08-30  Ulrich Drepper  <drepper@redhat.com>

	* crypt/md5-crypt.c (__md5_crypt_r): Compute used and required
	memory correctly.

	* sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Use __open
	instead of open, __close instead of close, __getpagesize instead
	of getpagesize.

	* string/argz-stringify.c (__argz_stringify): Use __strnlen
	instead of strnlen.
	* include/string.h (strndupa): Redefine here to use __strnlen
	instead of strnlen.
	* string/strndup.c (__strndup): Use __strnlen not strnlen.

	* misc/syslog.c (vsyslog): Fix typo in last change (connect ->
	connected).

2001-08-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle
	R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC.  Only check
	for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Similarly.
	* sysdeps/ia64/dl-machine.h (elf_machine_rel): Similarly.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rel): Similarly.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rel): Similarly.

2001-08-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/alpha/fpu/libm-test-ulps: Adjust j0 ULPs.

2001-08-30  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/ldbl-128/e_jnl.c: New file,
	contributed Stephen L Moshier.

2001-08-30  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/etc.rpc (sgi_fam): Add.

2001-08-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/gethostname.c: New file.

2001-08-29  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received
	first is from a previous call.
	Patch by Alexander Belopolsky <alexb@rentec.com> for [PR libc/3670].

2001-08-29  Andreas Schwab  <schwab@suse.de>

	* sysdeps/ia64/fpu/libm-test-ulps: Updated.

2001-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* config.make.in (INSTALL_SCRIPT): Define.
	* Makeconfig (INSTALL_SCRIPT): Define.
	* Makerules (do-install-script): New macro to install scripts using
	INSTALL_SCRIPT.
	(install-bin-script): New rule to install scripts with
	do-install-script.
	(install-bin-script-nosubdir): New rule.
	(install-no-libc.a-nosubdir): Add install-bin-script-nosubdir.
	(distinfo-vars): Add $(install-bin-script).
	* Rules (others): Likewise.
	* Makefile (glibcbug): Install with install-bin-script.
	* debug/Makefile (xtrace): Likewise.
	(catchsegv): Likewise.
	* elf/Makefile (ldd): Likewise.
	* malloc/Makefile (mtrace): Likewise.
	* timezone/Makefile (tzselect): Likewise.

2001-08-29  H.J. Lu  <hjl@gnu.org>

	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass
	ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to
	_dl_lookup_versioned_symbol () and _dl_lookup_symbol ().

2001-08-29  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/fpu/libm-test-ulps: Updated.

2001-08-28  H.J. Lu  <hjl@gnu.org>

	* Makeconfig (combreloc-LDFLAGS): New variable.
	Add it to LDFLAGS.so, LDFLAGS-rtld, and +link.
	* config.make.in (have-z-combreloc): New variable.
	* configure.in: Substitute libc_cv_z_combreloc.

2001-08-29  Ulrich Drepper  <drepper@redhat.com>

	* po/sv.po: Update from translation team.
	* po/fr.po: Likewise.
	* po/da.po: Likewise.

2001-08-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* Makerules: Fix a typo: MD% -> MD5.

2001-08-28  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/rpc_hout.c (pargdef): Function must take pointer to object.
	Patch by Patrick Duval <Patrick.Duval@devinci.fr>.

2001-08-28  Andreas Jaeger  <aj@suse.de>

	* manual/libc-texinfo.sh: Add entry about free manuals.

	* manual/contrib.texi (Contributors): Fix cross reference.

	* manual/libc.texinfo (Copying): Include freemanuals.

	* manual/Makefile (appendices): Add freemanuals.

	* manual/freemanuals.texi: New file.
	Patch by Brian Youmans <3diff@gnu.org>.

	* manual/libm-err-tab.pl: Pretty print more platforms, print a
	smaller table.

	* manual/math.texi (Errors in Math Functions): Fix grammar, start
	table on separate page.
	Patch by Brian Youmans <3diff@gnu.org>.

2001-08-27  Ulrich Drepper  <drepper@redhat.com>

	* misc/syslog.c (vsyslog): Try a bit harder to use syslogd.  If
	the connection went down after we first used it try to connect
	again and resend the message before printing to the console.
	Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>.

2001-08-27  Jakub Jelinek  <jakub@redhat.com>

	* string/tst-strlen.c (main): Test strnlen (, -1) too.
	* sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top
	bit set.

2001-08-27  Ulrich Drepper  <drepper@redhat.com>

	* iconv/strtab.c (searchstring): Use correct length for comparison.
	(strtabadd): Account total size correct if new string has old string as
	substring.

2001-08-27  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (dl_main): Update call to _dl_lookup_symbol.

2001-08-27  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests.

	* math/libm-test.inc (j0_test): Add extra tests.
	* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|,
	not x, in Hankel approximation.
	Patches by Stephen L Moshier.

2001-08-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ia64/dl-lookupcfg.h: Add forward declaration for struct
	link_map.

	* configure.in: Fix test for .rela.dyn section.

	* elf/dl-runtime.c: Update calls to _dl_lookup_*.

2001-08-26  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-reloc.c (RESOLVE_MAP, RESOLVE): Use elf_machine_type_class
	instead of elf_machine_lookup_noexec_p and elf_machine_lookup_noplt_p.
	Pass type_class to _dl_lookup_*.
	* elf/dl-lookup.c (_dl_lookup_symbol): Take type_class parameter now.
	Pass around just type_class instead of noexec, noplt pair.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_symbol_skip): Pass around just type_class instead of
	noexec, noplt pair.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	(_dl_do_lookup, _dl_do_lookup_versioned): Likewise.
	* elf/do-lookup.h (do_lookup): Likewise.
	* include/link.h (struct link_map): Replace noexec and noplt fields
	in l_lookup_cache with type_class field.
	* sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_PLT,
	ELF_RTYPE_CLASS_COPY): Define.
	Adjust prototypes for _dl_lookup_symbol and
	_dl_lookup_versioned_symbol.
	* sysdeps/alpha/dl-machine.h (elf_machine_lookup_noplt_p,
	elf_machine_lookup_noexec_p): Remove.
	(elf_machine_type_class): Define.
	* sysdeps/arm/dl-machine.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/powerpc/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.

2001-08-26  Ulrich Drepper  <drepper@redhat.com>

	* manual/message.texi (Advanced gettext functions): Change
	description of plural forms for Slovak.
	Reported by Marcel Telka <marcel@telka.sk>.

	* manuaL/time.texi (Low-Level Time String Parsing): Fix description of
	%z.  Reported by C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>.

2001-08-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_lazy_rel): Fix a
	typo.  Patch by Florian La Roche <laroche@redhat.com>.

2001-08-26  Ulrich Drepper  <drepper@redhat.com>

	* include/link.h (struct link_map): Add l_lookup_cache element.
	* elf/dl-reloc.c (RESOLVE): Add symbol caching here.
	(RESOLVE_MAP): Likewise.
	(_dl_relocate_object): Remove cache initialization.
	* elf/dl-lookup.c: Rip out cache handling code.
	* sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable
	declarations.

	* elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and
	remove some __builtin_expect.
	(_dl_lookup_versioned_symbol): Likewise.

	* config.h.in: Add HAVE_Z_COMBRELOC.
	* configure.in: Add test for -z combreloc.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and
	optimizations.  Use HAVE_Z_COMBRELOC to avoid generaton of
	R_386_RELATIVE handling for ld.so startup.  Reduce RTLD_BOOTSTRAP
	case to almost no code.

2001-08-25  Ulrich Drepper  <drepper@redhat.com>

	* po/tr.po: Update from translation team.

2001-08-24  Andreas Jaeger  <aj@suse.de>

	* iconv/Makefile (extra-objs): Add iconvconfig-modules so that
	make clean works.

2001-08-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (print_statistics): Printf % after percent values.
	* elf/dl-misc.c (_dl_debug_vdprintf): Implement %%.

	* elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we
	don't have to compute the hash value and initialize current_value.
	Move reference_name variable to where it is needed.
	(_dl_lookup_versioned_symbol): Likewise.

2001-08-24  Roland McGrath  <roland@frob.com>

	* string/tester.c (test_strerror): Don't use _sys_errlist/_sys_nerr.
	Just test that strerror returns non-null for a few errno codes.

2001-08-23  Roland McGrath  <roland@frob.com>

	* hurd/Versions (libc: GLIBC_2.2.5): New set; add _hurd_raise_signal,
	_hurdsig_interrupt_timeout, _hurdsig_fault_preemptor.

	* sysdeps/posix/shm_unlink.c (shm_unlink): __unlink -> unlink.

	* mach/Versions (libc: GLIBC_2.2.5): New set; add __mach_msg_destroy,
	__mach_reply_port.

2001-08-24  Ulrich Drepper  <drepper@redhat.com>

	* nss/test-netdb.c (test_hosts): Don't segfault if gethostname
	returns NULL.

	* elf/do-rel.h (elf_dynamic_do_rel): Fix problem with ld.so
	startup.  Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc
	doesn't do it.
	* elf/rtld.c: Include <sys/param.h>.
	* elf/dl-reloc.c: Likewise.

2001-08-24  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>

	* sysdeps/unix/sysv/linux/mips/configure.in: Define AC_SUBST to
	empty to prevent junk from being generated.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerated.

2001-08-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative
	records.  Rename endrel to relative, initialize it to r, and use it
	in elf_machine_rel_relative calls.  Point r after relative relocs.

2001-08-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Correct prediction
	of R_386_NONE.

2001-08-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/do-rel.h (elf_machine_rel_relative): Define for rela if
	necessary.  Undefine newly defined macros at the end.
	* sysdeps/hppa/dl-machine.h (elf_machine_rela_relative):
	Rename from elf_machine_rel_relative.
	* sysdeps/cris/dl-machine.h (elf_machine_rela_relative): Likewise.
	* sysdeps/m68k/dl-machine.h (elf_machine_rela_relative): Likewise.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela_relative): Likewise.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela_relative):
	Likewise.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela_relative):
	Likewise.
	* sysdeps/ia64/dl-machine.h (elf_machine_rela_relative): Likewise.
	Fix argument types.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela_relative): Likewise.
	Fix argument types.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela_relative):
	Likewise.  Fix argument types.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela_relative):
	Likewise.  Fix argument types.
	* sysdeps/sh/dl-machine.h (elf_machine_rela_relative): Likewise.
	Fix argument types.
	* sysdeps/mips/dl-machine.h (elf_machine_rel_relative): Use
	ElfW(Rel) in argument.
	* sysdeps/mips/mips64/dl-machine.h (elf_machine_rel_relative): New
	function.

2001-08-24  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix typo.

2001-08-24  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/ldbl-128/e_j1l.c: New file, contributed by
	Stephen L Moshier <moshier@mediaone.net>.

2001-08-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/do-rel.h (elf_dynamic_do_rel): RELATIVE relocations comes
	first if RELCOUNT is set.

	* elf/do-rel.h (elf_dynamic_do_rel): If not relocating lazily, don't
	call elf_machine_rel for the last DT_RELCOUNT relocations but instead
	elf_machine_rel_relative.
	* sysdeps/alpha/dl-machine.h: Define elf_machine_rel_relative.
	Minor optimizations.
	* 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/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/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.

2001-08-23  Roland McGrath  <roland@frob.com>

	* rt/tst-aio4.c [! SIGRTMIN] (SIGRTMIN, SIGRTMAX): Define as -1.

	* sysdeps/mach/hurd/bits/libc-lock.h: New file, initially copied from
	sysdeps/mach version.  Implement counting ("recursive") mutexes
	on top of cthreads mutexes.
	* sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works.

	* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to
	_LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error.
	(__libc_cleanup_region_start, __libc_cleanup_region_end,
	__libc_clean_end): Define these to call the cleanup function after
	normal exit when they're supposed to.

	* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start):
	Take new first arg DOIT, a boolean saying whether to really install
	any cleanup handler.
	(__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero.
	(__libc_cleanup_end): Likewise.
	* sysdeps/generic/bits/libc-lock.h: Same changes.
	* stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg.
	* stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise.
	* sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start):
	Likewise.
	* misc/syslog.c (vsyslog, openlog, closelog): Likewise.
	* sysdeps/generic/bits/stdio-lock.h
	(_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (search_dir): Remove stale symlinks.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New
	functions.
	(_dl_lookup_symbol): Lookup relocations in cache and store successfull
	lookups in cache.
	(_dl_lookup_versioned_symbol): Likewise.
	* elf/dl-reloc.c (_dl_relocate_object): Initialize cache for
	relocation lookup.
	* elf/rtld.c (print_statistics): Output _dl_num_cache_relocations.
	* sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition.
	(lookup_cache, lookup_cache_versioned): Add declarations.

2001-08-23  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/tst-random.c (main): Swap parameters in fail call.
	Patch by Pete Bevin <pete@petebevin.com>.

2001-08-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t.

2001-08-23  Ulrich Drepper  <drepper@redhat.com>

	* malloc/obstack.c: Indent preprocessor directives.
	Patch by Jim Meyering <meyering@ascend.com>.

	* po/ja.po: Update from translation team.

2001-08-23  Roland McGrath  <roland@frob.com>

	* libio/tst-ungetwc1.c (main): Add a const to quiet a warning.

	* nss/test-netdb.c (test_hosts): Don't use MAXHOSTNAMELEN.
	Instead, use dynamic buffer to test gethostname's ENAMETOOLONG error.

2001-08-22  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with
	__libc_lock_define_recursive.
	* elf/dl-open.c: Don't declare it here any more.
	* elf/dl-close.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and
	__libc_lock_unlock_recursive.
	* elf/dl-close.c (_dl_close): Likewise
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise
	* elf/dl-open.c (_dl_open): Likewise

	* sysdeps/generic/bits/libc-lock.h
	(__libc_lock_define_recursive): New macro.
	* sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it.
	(_IO_lock_lock): Use __libc_lock_lock_recursive.
	(_IO_lock_unlock): Use __libc_lock_unlock_recursive.

	* conform/conformtest.pl (checknamespace): Sort the output list.

	* sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT.
	(POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these
	definitions conditional on [__USE_XOPEN].

	* sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define
	these unconditionally, not only use [__USE_BSD], so as to match
	the sysdeps/unix/sysv/linux files.

2001-08-22  Ulrich Drepper  <drepper@redhat.com>

	* test-skeleton.c (add_temp_file): Add __attribute__ ((unused)) to
	avoid warnings.

	* dlfcn/tst-dladdr.c (do_test): Get address of ref1 using
	DL_LOOKUP_ADDRESS.

2001-08-22  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up
	conditionalization of sa_handler/sa_sigaction member types to
	match the sysdeps/unix/sysv/linux file.

2001-08-22  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-addr.c (_dl_addr): Handle broken binaries with zero
	symbol sizes a bit better.

	* sysdeps/ia64/strncpy.S: Complete rewrite.
	Contributed by Jakub Jelinek <jakub@redhat.com>.

	* string/stratcliff.c (main): Add strncpy test.

2001-08-22  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/dl-environ.c: Include <stdlib.h> and <unistd.h>,
	and don't declare unsetenv or _environ directly.
	(unsetenv): Return int, not void.  Use __environ instead of _environ.

2001-08-01  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/unix/bsd/bsd4.4/Makefile: New file.
	* sysdeps/unix/bsd/bsd4.4/Versions: New file.
	* sysdeps/unix/bsd/bsd4.4/cmsg_nxthdr.c: New file.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Correct
	test for cmsg struct size.

2001-04-23  Paul Eggert  <eggert@twinsun.com>

	* posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal):
	Rename __argc to ___argc in prototypes to avoid compatibility
	problems with systems that reserve the identifier "__argc".
	Similarly for __argv.

2001-08-21  Roland McGrath  <roland@frob.com>

	* stdio-common/tst-fseek.c: Include <time.h> for `time' declaration.

	* mach/Makefile (tests): Removed.
	* mach/hello.c: File removed.

2001-08-22  Ulrich Drepper  <drepper@redhat.com>

	* po/sv.po: Update from translation team.

	* stdio-common/vfscanf.c: Fix handling of %l[].
	Reported by Mitsuru Chinen <mchinen@yamato.ibm.com>.

	* libio/Makefile (tests): Add tst-sscanf.
	* libio/tst-sscanf.c: New file.

	* elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname.
	* malloc/mtrace.c (tr_where): dli_sname always points to a
	non-empty string if != NULL.
	Reported by Tim Janik <timj@gtk.org>.

2001-08-22  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/xdr_rec.c (xdrrec_create): Fix buf sizes before allocating
	buf.  Free resources on failure.
	* sunrpc/svc_unix.c (svcunix_create): Free resources on failure.
	(makefd_xprt): Likewise.
	* sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
	* sunrpc/svc_tcp.c (svctcp_create, makefd_xprt): Likewise.
	* sunrpc/auth_unix.c (authunix_create): Likewise.

2001-08-21  Jakub Jelinek  <jakub@redhat.com>

	* string/strnlen.c: Remove.
	* sysdeps/generic/strnlen.c: New file.
	* sysdeps/i386/i486/bits/string.h (strnlen): Remove.

2001-08-21  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Define this
	as a macro, not an extern inline function.

	* hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here.
	* Versions.def (libc): Add GLIBC_2.2.5 set.
	* hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro.
	(__hurd_fail): Use that instead of _EXTERN_INLINE in decl.

2001-08-20  Roland McGrath  <roland@frob.com>

	* hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "".
	(__hurd_file_name_split, __hurd_directory_name_split): Likewise.

2001-08-21  Ulrich Drepper  <drepper@redhat.com>

	* string/bits/string2.h: Remove strnlen optimization here.
	* sysdeps/i386/i486/bits/string.h: Add it here.

2001-08-21  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c: Make access to ..._hook pointers thread-safe.

2001-08-21  Ulrich Drepper  <drepper@redhat.com>

	* po/gl.po: Update from translation team.

2001-08-20  Ulrich Drepper  <drepper@redhat.com>

	* misc/error.c (error_tail): Use fputws_unlocked instead of fputws.
	* misc/err.c (convert_and_print): Likewise.

	* malloc/obstack.c (print_and_abort): Use fprintf instead of two
	function calls.

2001-08-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Revert the
	change of the gregset_t type.
	* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.

2001-08-20  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.S: Align errno.

2001-08-20  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex.c (truncate_wchar): Use wcrtomb not wctomb.

	* string/strnlen.c: Fix the implementation.  We cannot use memchr.

2001-08-18  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ
	before calling the cthreads initialization code.

2001-08-20  Ulrich Drepper  <drepper@redhat.com>

	* argp/argp-help.c: Fix two problems introduced in last change.

	* include/dirent.h: Include <dirstream.h> first.

2001-08-19  Ulrich Drepper  <drepper@redhat.com>

	* io/fts.c (fts_safe_changedir): Use __fxstat64 instead of __fstat.

	* sunrpc/svcauth_des.c (_svcauth_des): Avoid using bcopy.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_mem.c: Likewise.
	* sunrpc/svc_authux.c (_svcauth_unix): Likewise.
	* sunrpc/rpc_cmsg.c: Likewise.
	* sunrpc/getrpcport.c (getrpcport): Likewise.
	* sunrpc/clnt_simp.c (callrpc): Likewise.
	* sunrpc/clnt_gen.c (clnt_create): Likewise.
	* string/envz.c: Likewise.

	* po/ko.po: Update from translation team.

	* argp/argp-help.c: Handle wide oriented stderr stream.

2001-08-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/strtol.c: Little optimizations.  Add some
	__builtin_expect.

	* conform/conformtest.pl: <inttypes.h> test requires <stddef.h>.

	* wcsmbs/wchar.h (wcwdith): Change parameter type to wchar_t.
	* wcsmbs/wcwidth.c (wcwdith): Likewise.
	* wcsmbs/wcwidth.h (internal_wcwdith): Likewise.

	* conform/data/unistd.h-data: Remove _SC_MULTIPLE_PROCESS.

	* conform/data/ucontext.h-data: Fix typos in ucontext_t element tests.

	* time/time.h (struct timespec): Use __time_t for tv_sec element.

	* sysdeps/generic/inttypes.h: Define __wchar_t.  Use it instead of
	wchar_t for function declarations and defintions.

	* misc/sys/select.h: Define __need_time_t before including <time.h>.
	Define suseconds_t if it hasn't happened yet.

	* iconv/gconv.h: Define __need_wchar_t before including <stddef.h>.

	* conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined.

	* sysdeps/generic/stdint.h: Don't get definition of wchar_t from
	<stddef.h>.

	* conform/data/stddef.h-data: Remove wint_t.

	* conform/conformtest.pl: Change namespace test to take #undef
	lines into account.

	* conform/data/netinet/in.h-data: Fix typo in allow-header line.

	* conform/data/sys/socket.h-data: Add sockatmark.

2001-08-17  Ulrich Drepper  <drepper@redhat.com>

	* io/fts.c: Update from recent BSD source.

2001-08-17  Roland McGrath  <roland@frob.com>

	* stdio-common/perror.c (perror) [! USE_IN_LIBIO]: Don't use _IO_fwide.
	* misc/error.c (error_tail, error, error_at_line) [! USE_IN_LIBIO]:
	Likewise.

2001-08-17  Ulrich Drepper  <drepper@redhat.com>

	* locale/duplocale.c (__duplocale): Also initialize the special
	__ctype_* elements.

	* conform/data/netdb.h-data: Adjust gai_strerror return type.

2001-08-17  Andreas Jaeger  <aj@suse.de>

	* misc/getpass.c: Include wchar.h for prototypes.
	* malloc/obstack.c: Likewise.

2001-08-17  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/svc_simple.c (universal): Use __write instead of write.

	* wcsmbs/wcscoll.c: Also define __wcscoll.
	* include/wchar.h: Declare __wcscoll.

	* libio/fwprintf.c: Use __vfwprintf instead of vfwprintf.
	* libio/vwprintf.c: Likewise.
	* libio/wprintf.c: Likewise.

	* iconv/gconv_cache.c: Use __munmap instead of munmap.

2001-08-16  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc
	instead of mbrtowc.
	[_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of
	wcslen, and __wcscoll instead of wcscoll.

	* sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl.

	* sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use
	__getuid instead of getuid.

	* stdio-common/perror.c (perror): Use __close instead of close.
	* iconv/gconv_cache.c (__gconv_load_cache): Likewise.
	* libio/freopen.c (freopen): Likewise.
	* libio/freopen64.c (freopen64): Likewise.

	* libio/tst-ungetwc2.c (main): Define str const.

	* include/wchar.h: Add prototypes for __fwprintf and __vfwprintf.
	* libio/fwprintf.c: Also define __fwprintf.
	* stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf.
	* argp/argp-fmtstream.c: Handle wide oriented stderr stream.
	* assert/assert-perr.c: Likewise.
	* assert/assert.c: Likewise.
	* gmon/gmon.c: Likewise.
	* inet/rcmd.c: Likewise.
	* malloc/obstack.c: Likewise.
	* misc/err.c: Likewise.
	* misc/error.c: Likewise.
	* misc/getpass.c: Likewise.
	* posix/getopt.c: Likewise.
	* resolv/res_hconf.c: Likewise.
	* stdio-common/perror.c: Likewise.
	* stdio-common/psignal.c: Likewise.
	* stdlib/fmtmsg.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* sysdeps/generic/wordexp.c: Likewise.

	* po/it.po: Update from translation team.

	* misc/err.c: Handle wide oriented stderr stream.

2001-08-14  Tom Rix  <trix@redhat.com>

	* iconv/gconv_cache.c (find_module): Add #ifndef STATIC_GCONV.
	* iconv/Makefile: Fix gconv_cache.c CFLAGS.

2001-08-13  Tom Rix  <trix@redhat.com>

	* sysdeps/unix/sysv/aix/Makefile: Add rule to import kernel symbols.
	* sysdeps/unix/sysv/aix/bits/types.h: Fix type of __id_t, __useconds_t
	and __intptr_t.

2001-08-15  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S (__getcontext):
	Store the access registers to the ucontext structure.
	* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S (__getcontext):
	Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S (__setcontext):
	Load the access registers from the ucontext structure.
	* sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S (__setcontext):
	Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: Adjust the SC_xxx
	offsets to the new ucontext layout.
	* sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix the layout
	of the ucontext structure.
	* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.

2001-08-15  Ulrich Drepper  <drepper@redhat.com>

	* misc/error.c (error): Handle wide oriented stderr stream correctly.
	(error_at_line): Likewise.

	* stdio-common/perror.c (perror): Implement according to standard.
	The stream orientation must not be changed if the stream was not
	oriented before the call.
	* stdio-common/Makefile (tests): Add tst-perror.
	* stdio-common/tst-perror.c: New file.


See ChangeLog.12 for earlier changes.
