2004-12-20  Jakub Jelinek  <jakub@redhat.com>,
	    Jim Gifford  <giffordj@linkline.com>

	[BZ #562]
	* sysdeps/mips/Makefile (librt-sysdep_routines): Add.
	* sysdeps/unix/mips/rt-sysdep.S: New file.

2004-12-19  Roland McGrath  <roland@redhat.com>

	* iconv/Makefile (test-iconvconfig): New target.
	[$(cross-compiling) != yes] (xtests): Depend on it.

	* iconv/iconvconfig.c (nostdlib, output_file, output_file_len):
	New variables.
	(options, parse_opt, main): Take new options --nostdlib and
	--output/-o to set them.  Under --nostdlib, skip GCONV_PATH dirs.
	(write_output): If output_file is set, write the output there.

2004-12-19  Andreas Jaeger  <aj@suse.de>

	[BZ #560]
	* inet/netinet/in.h: Use __interface_addr instead of __interface.

	[BZ #573]
	* sunrpc/xcrypt.c (passwd2des_internal): Make it hidden instead of
	internal linkage.

2004-12-19  Roland McGrath  <roland@frob.com>

	* version.h (VERSION): 2.3.4.
	* README.template: Various updates.
	* README: Regenerated.
	* NEWS: Mention ports.
	* README-alpha: File removed.

	[BZ #416]
	* locale/langinfo.h: Comment fixes.

2004-12-17  Ulrich Drepper  <drepper@redhat.com>

	* po/ja.po: Update from translation team.

2004-12-17  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Add support
	for NPTL where the PID is stored at userlevel and needs to be
	reset when CLONE_THREAD is not used.

2004-12-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.

2004-12-17  Andreas Jaeger  <aj@suse.de>

	* math/libm-test.inc (atan2_test): Compute value with 36 digits.
	* sysdeps/alpha/fpu/libm-test-ulps: Adjust for changed result.
	* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
	* sysdeps/s390/fpu/libm-test-ulps: Likewise.
	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise.
	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

2004-12-16  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/tst-setcontext.c: Enlarge st1 and st2 arrays.

2004-09-02  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #610]
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
	(__novec_getcontext): Fix typo in store of fp29.
	(__getcontext): Fix typo in store of fp29.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	(__novec_swapcontext): Fix typo in store of fp29.
	(__swapcontext): Fix typo in store of fp29.

2004-12-17  GOTO Masanori  <gotom@debian.or.jp>

	* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Fix
	vague message.

2004-12-16  Roland McGrath  <roland@redhat.com>

	* nscd/Makefile ($(objpfx)nscd): Don't depend on $(selinux-LIBS),
	which is usually a -lselinux that make will resolve wrongly.

2004-12-16  Andreas Jaeger  <aj@suse.de>

	* math/math.h: Use #if defined to not receive warnings about
	undefined symbols.

2004-12-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Add support
	for NPTL where the PID is stored at userlevel and needs to be reset
	when CLONE_THREAD is not used.

	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(SYSCALL_ERROR_HANDLER): If RTLD_PRIVATE_ERRNO, use rtld_errno
	instead of errno.
	* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Include
	sysdep-cancel.h instead of sysdep.h.  Handle cancellation.
	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerate.

	* sysdeps/ieee754/ldbl-128/e_expl.c: Include stdlib.h.

2004-12-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/gethostid.c: Make bi-arch safe.

2004-12-15  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Correct stack
	alignment.  Clean up flag bit tests.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Correct stack
	alignment.  Clean up flag bit tests.  Remove redundent SP assignment.
	Add TOC register save/restore around function call.

	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Make no_vmx symbol
	local.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Make no_vmx symbol
	local.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Make no_vmx symbol
	local.
	* sysdeps/powerpc/powerpc64/setjmp-common.S: Make no_vmx and
	aligned_save_vmx symbol local.

2004-12-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i486/bits/string.h (__strncat_g): Fix i686
	implementation.

2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>

	* Makeconfig (libunwind): New.
	(libgcc_eh): Add $(libunwind).
	(gnulib): Always set to -lgcc $(libgcc_eh).
	(static-gnulib): Always set to -lgcc -lgcc_eh $(libunwind).
	(libc.so-gnulib): New.
	* Makerules (LDLIBS-c.so): Use $(libc.so-gnulib) instead of
	$(static-gnulib).
	* configure.in (libc_cv_cc_with_libunwind): Set to yes if gcc
	uses -lunwind for static binaries.

2004-06-05  Joseph S. Myers  <jsm@polyomino.org.uk>

	* malloc/Makefile (install-bin): Remove memusage.
	(install-bin-script): Add memusage.

2004-12-15  Jakub Jelinek  <jakub@redhat.com>

	* nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
	not libnsl_hidden_proto.

	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support
	for NPTL where the PID is stored at userlevel and needs to be reset
	when CLONE_THREAD is not used.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
	and restore r2 around call to fn.

2004-12-15  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ia64/dl-machine.h (elf_machine_rela): Mark auto instead
	of static, add always_inline attribute.
	(elf_machine_rela_relative): Likewise.
	(elf_machine_lazy_rel): Likewise.

2004-12-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Add support
	for pid caching in nptl.

2004-12-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Add support
	for pid caching in nptl.

2004-10-18  Maciej W. Rozycki  <macro@mips.com>

	* sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Use
	__NTH instead of __THROW in the inline definition.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.

	* sysdeps/mips/bits/dlfcn.h (RTLD_DEEPBIND): New macro.

	* sysdeps/unix/sysv/linux/mips/bits/mman.h
	(PROT_GROWSDOWN, PROT_GROWSUP): New macros.

2004-10-06  Alan Modra  <amodra@bigpond.net.au>

	* sysdeps/powerpc/powerpc64/ppc-mcount.S (PROF): Don't undef.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: Invoke CALL_MOUNT.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise.

2004-10-19  Wolfram Gloger  <wg@malloc.de>

	* malloc/hooks.c (mem2chunk_check, top_check): Handle
	non-contiguous arena.  Reported by Michael Dalton
	<mwdalton@stanford.edu> [BZ #457].  Add further checks for top chunk.

2004-12-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/sysconf.c (__sysconf_check_spec): Remove leading
	underscore from GETCONF_DIR filenames.

2004-12-13  Ulrich Drepper  <drepper@redhat.com>

	* po/de.po: Update from translation team.

	* nss/getnssent.c (__nss_getent): Double buffer size each round to
	avoid problems with delays for some people's huge entries.
	* nss/getXXbyYY.c (FUNCTION_NAME): Likewise.

2004-12-13  Jakub Jelinek  <jakub@redhat.com>

	* posix/getconf.c (main): Prepend just $GETCONF_DIR/ instead of
	$GETCONF_DIR/_ to spec.
	* posix/confstr.c (confstr): Remove leading underscores for
	_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS.

2004-12-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Fix computation of
	mapping start.  It must take the actual pagesize into account, not
	the alignment in the file.

2004-12-11  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (_int_realloc): Add checks for corrupted memory.
	(_int_free): Make clear message are result of free() calls.

	* malloc/malloc.c (_int_realloc): Remove unnecessary tests for
	oldmem and size == 0.

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

	* malloc/arena.c (arena_get2): Prevent endless loop if arenas and
	list lock are taken.

2004-12-08  Thorsten Kukuk  <kukuk@suse.de>

	* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_getnetgrent_r):
	Add check if the value is not an empty string.  [BZ #597]

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

	* stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2
	and numsize < densize, always shift num up by empty + 1 limbs.

2004-12-07  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regexec.c (proceed_next_node): Simplify treatment of epsilon
	nodes.  Pass the pushed node to push_fail_stack.
	(push_fail_stack): Accept a single node rather than an array
	of two epsilon destinations.
	(build_sifted_states): Only walk non-epsilon nodes.
	(check_arrival): Don't pass epsilon nodes to
	check_arrival_add_next_nodes.
	(check_arrival_add_next_nodes) [DEBUG]: Abort if an epsilon node is
	found.
	(check_node_accept): Do expensive checks later.
	(add_epsilon_src_nodes): Cache result of merging the inveclosures.
	* posix/regex_internal.h (re_dfastate_t): Add non_eps_nodes and
	inveclosure.
	(re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at,
	re_string_context_at, re_string_peek_byte_case,
	re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
	Declare as pure.
	* posix/regex_internal.c (create_newstate_common): Remove.
	(register_state): Move part of it here.  Initialize non_eps_nodes.
	(free_state): Free inveclosure and non_eps_nodes.
	(create_cd_newstate, create_ci_newstate): Allocate the new
	re_dfastate_t here.

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

	* malloc/malloc.c (public_rEALLOc): Add parameter checks.
	(_int_free): Provide better error message for invalid pointers.

2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp.
	_POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding
	_SC_ argument.

2004-12-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldd.bash.in: When set -o pipefail is available, use that for
	piping to cat; when not, don't use the pipe at all.
	Pipe to cat in all cases of running the executable.
	When direct running exits with code 5, retry running via ${RTLD}.
	* elf/rtld.c (process_envvars): If __libc_enable_secure and
	mode != normal, exit with exitcode 5.

2004-12-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/sysconf.c (__sysconf_check_spec): Only define
	if it will be actually used.

2004-12-07  Roland McGrath  <roland@redhat.com>

	* rt/tst-timer5.c (setup_test): New function.
	(TEST_CLOCK_MISSING): Use it to punt test if timer_create does not
	support CLOCK_MONOTONIC.

2004-12-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Add support for
	NPTL where the PID is stored at userlevel and needs to be reset when
	CLONE_THREAD is not used.  Restore gp before calling _exit.

2004-12-07  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/clone.S: Clear the frame pointer when
	starting a new thread.  Add support for NPTL where the PID is stored
	at userlevel and needs to be reset when CLONE_THREAD is not used.

2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (process_envvars): Don't consider LD_SHOW_AUXV
	and LD_DYNAMIC_WEAK if __libc_enable_secure.
	If __libc_enable_secure, /etc/suid-debug doesn't exist and
	program will be actually run, turn off all debugging.
	* sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add LD_DEBUG,
	LD_DYNAMIC_WEAK and LD_SHOW_AUXV.

2004-12-06  Jakub Jelinek  <jakub@redhat.com>

	* time/tzset.c (tzset_internal): If + or - is seen,
	but no offset after it, reset offset to 0.  [BZ #601]

2004-12-06  Ulrich Drepper  <drepper@redhat.com>

	* libio/ioseekpos.c (_IO_seekpos_unlocked): Call _IO_SEEKOFF not
	_IO_SEEKPOS, saving one indirect jump.

	* libio/fileops.c (_IO_new_file_seekoff): Fix optimization of in-buffer
	seek.  Remove dead code.

2004-12-02  Jakub Jelinek  <jakub@redhat.com>

	* libio/Makefile (tests): Add bug-ungetc4.
	* libio/bug-ungetc4.c: New test.

2004-12-06  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/clock_nanosleep.c (clock_nanosleep): Diagnose EINVAL
	for CLOCK_THREAD_CPUTIME_ID, not ENOTSUP.
	Use SYSDEP_NANOSLEEP handler before validating CLOCK_ID value.

	* rt/tst-timer4.c (TEST_CLOCK, TEST_CLOCK_NANOSLEEP): New macros.
	Use them throughout in place of CLOCK_REALTIME and nanosleep.
	(do_test) [TEST_CLOCK_MISSING]: Call this macro and if it returns
	non-null, punt the test with a message using the string returned.
	* rt/tst-timer5.c: New file.
	* rt/Makefile (tests): Add it.

2004-12-01  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (free_dfa_content, init_dfa): Remove
	references to re_dfa_t's subexps field.
	(parse_sub_exp, parse_expression): Do not use it.  Use
	completed_bkref_map instead.
	(create_initial_state, peek_token): Store a backreference \N
	with opr.idx = N-1.
	* posix/regexec.c (proceed_next_node, check_dst_limits, get_subexp):
	Likewise.
	(check_subexp_limits): Remove useless condition.
	* posix/regex_internal.h (re_subexp_t): Remove.
	(re_dfa_t): Remove subexps and subexps_alloc field, add
	completed_bkref_map.

2004-12-05  Roland McGrath  <roland@frob.com>

	* Makeconfig: Comment typo fix.

2004-11-30  Andreas Schwab  <schwab@suse.de>

	* nis/ypclnt.c (ypprot_err): Remove unused entries.

2004-11-30  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regexec.c (check_dst_limits_calc_pos_1): Check for
	bkref_idx == -1, and don't recurse in that case.

2004-11-30  GOTO Masanori  <gotom@debian.or.jp>

	* posix/confstr.c: Enclose #error message with double quote
	for gcc-3.3 and lower.

2004-12-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/clone.S: Add support for NPTL where
	the PID is stored at userlevel and needs to be reset when CLONE_THREAD
	is not used.
	* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.

2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/arm/sysdep.h: Define __USE_BX__ if bx is available.
	Use it instead of __THUMB_INTERWORK__.  Make RETINSTR take
	only a condition and a register.
	* sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of
	__THUMB_INTERWORK__.
	(_dl_start_user): Use BX.
	* sysdeps/arm/strlen.S: Use DO_RET.
	* sysdeps/unix/arm/brk.S: Likewise.
	* sysdeps/unix/arm/fork.S: Likewise.
	* sysdeps/unix/arm/sysdep.S: Likewise.
	* sysdeps/unix/arm/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/clone.S: Update uses of RETINSTR.
	* sysdeps/unix/sysv/linux/arm/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/socket.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.

2004-12-02  Roland McGrath  <roland@redhat.com>

	* extra-lib.mk (object-suffixes-$(lib)): Add .oS when
	$(lib)-static-only-routines is nonempty.
	(extra-objs, o-iterator.mk rule): Filter out .oS from generators.
	Add a special rule for .oS objects -> _nonshared.a library.

2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* time/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
	convert T2, not T.
	* time/Makefile (tests): Add tst-mktime3.
	* time/tst-mktime3.c: New test.

2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/stdlib.h (realpath): Remove nonnull attribute.

	* posix/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
	normal_bracket label.

	* time/tst-mktime2.c (bigtime_test): Initialize tm.tm_isdst to -1.

2004-12-01  Roland McGrath  <roland@redhat.com>

	* sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c):
	Do $(make-target-directory).

2004-11-29  Roland McGrath  <roland@redhat.com>

	* posix/confstr.c: Avoid punctuation in #error text.

2004-11-27  Ulrich Drepper  <drepper@redhat.com>

	* posix/Makefile (tests): Add tst-sysconf.
	* posix/tst-sysconf.c: New file.

	* posix/getconf.c (vars): Add support for _SC_IPV6 and
	_SC_RAW_SOCKETS.
	* sysdeps/posix/sysconf.c (__sysconf): Add support for _SC_IPV6
	and _SC_RAW_SOCKETS.
	* sysdeps/generic/bits/confname.h: Define _SC_IPV6 and
	_SC_RAW_SOCKETS.

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

	* sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.

2004-11-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
	NO_SGIDEFS_H isn't defined.  Don't include sgidefs.h twice.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.

2004-11-27  Ulrich Drepper  <drepper@redhat.com>

	* include/dlfcn.h (__libc_dlopen): Add __RTLD_DLOPEN to the mode
	parameter.  Reported by VY Newsum <newsum@fel.tno.nl>.

2004-11-10  Daniel Jacobowitz  <dan@debian.org>

	* libio/iolibio.h (_IO_fclose, _IO_new_fclose, _IO_old_fclose,
	_IO_fflush, _IO_fgetpos, _IO_fgetpos64, _IO_fgets, _IO_fopen,
	_IO_old_fopen, _IO_new_fopen, _IO_fopen64, __fopen_internal,
	_IO_fprintf, _IO_fputs, _IO_fsetpos, _IO_fsetpos64, _IO_ftell,
	_IO_fread, _IO_fwrite, _IO_gets, _IO_printf, _IO_puts, _IO_scanf,
	_IO_fflush_internal, _IO_ftell_internal, _IO_fputs_internal)
	_IO_fwrite_internal): Remove incorrect __THROW.
	* libio/libioP.h (_IO_default_xsputn, _IO_wdefault_xsputn,
	_IO_default_xsgetn, _IO_wdefault_xsgetn, _IO_default_write,
	_IO_default_read, _IO_getline, _IO_getline_info, _IO_getwline,
	_IO_getwline_info, _IO_file_read_internal, _IO_sgetn_internal,
	_IO_wdo_write_internal, _IO_do_write_internal,
	_IO_getline_info_internal, _IO_getline_internal,
	_IO_vfprintf_internal, _IO_putc_internal, _IO_read, _IO_write,
	_IO_close): Likewise.

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

	* posix/Makefile (install-others): Add $(inst_libexecdir)/getconf.
	(CFLAGS-sysconf.c): Add -D_GETCONF_DIR.
	(CFLAGS-getconf.c): New.
	($(inst_libexecdir)/getconf): New.
	* posix/confstr.c (confstr): Use __sysconf to query specifications
	that don't have _POSIX_V6_* macros defined.  Use __*_{C,LD}FLAGS
	macros defined in bits/environments.h.
	* sysdeps/posix/sysconf.c: Include stdlib.h, string.h and
	sys/stat.h.
	(__sysconf_check_spec): New routine.
	(__sysconf): Use it.
	* posix/getconf.c (specs): Change into structure array.
	(main): If -v is not given, try to get default from
	$(libexecdir)/getconf/default.  If specification is not
	supported by this getconf, try to execute
	$(libexecdir)/getconf/$(specification).
	* sysdeps/unix/bsd/bsd4.4/freebsd/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/s390/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/i386/bits/environments.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/environments.h: New file.
	* sysdeps/generic/bits/environments.h (__ILP32_OFFBIG_CFLAGS):
	Define.

	* stdlib/stdlib.h (setenv): Use nonnull only for second argument.
	(unsetenv): Remove.

2004-11-23  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (analyze_tree): Always call calc_epsdest.
	(calc_inveclosure): Use re_node_set_insert_last.
	(parse_dup_op): Lower X{1,5} to (X(X(X(XX?)?)?)?)?
	rather than X?X?X?X?X?.
	* posix/regex_internal.h (re_node_set_insert_last): New declaration.
	* posix/regex_internal.c (re_node_set_insert_last): New function.
	* posix/PCRE.tests: Add testcases.

2004-11-25  Ulrich Drepper  <drepper@redhat.com>

	* dlfcn/dlfcn.h: Remove nonnull attribute from dlopen.

	* posix/confstr.c (confstr): Return appropriate strings for
	_CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, and _CS_LFS64_LINTFLAGS.

2004-11-05  Maciej W. Rozycki  <macro@mips.com>

	* sysdeps/mips/dl-machine.h: Include <sgidefs.h>.  Use _ABIO32,
	_ABIN32 and _ABI64 for ABI selection throughout.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/mips/mips64/__longjmp.c: Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
	* sysdeps/mips/mips64/bsd-setjmp.S: Likewise.
	* sysdeps/mips/mips64/setjmp.S: Likewise.
	* sysdeps/mips/mips64/setjmp_aux.c: Likewise.
	* sysdeps/mips/sys/regdef.h: Likewise.
	* sysdeps/mips/sys/ucontext.h: Likewise.
	* sysdeps/unix/mips/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.

	* sysdeps/mips/atomicity.h: Use _ABIO32, _ABIN32 and _ABI64 for
	ABI selection throughout.
	* sysdeps/mips/bits/setjmp.h: Likewise.
	* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
	* sysdeps/mips/machine-gmon.h: Likewise.
	* sysdeps/mips/sys/asm.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.

	* sysdeps/mips/sgidefs.h: Prevent <asm/sgidefs.h> from being
	included by kernel headers and undo its settings if already
	included.  Define _ABIO32, _ABIN32 and _ABI64 if missing and use
	them to define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32 and
	_MIPS_SIM_ABI64 for compatibility.
	* sysdeps/unix/sysv/linux/mips/Makefile: Use _ABIO32, _ABIN32 and
	_ABI64 for ABI selection in generated syscall-list.h
	* sysdeps/unix/sysv/linux/mips/configure.in: Use _ABIO32, _ABIN32
	and _ABI64 for ABI selection in generated asm-unistd.h.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerate.

	* sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Correct
	an inverted _MIPS_SIM conditional.

2004-11-23  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Use free
	range even if it doesn't match exactly.

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

	* nss/nss_files/files-XXX.c (internal_getent): If parse_line returned
	-1, also do H_ERRNO_SET (NETDB_INTERNAL).

2004-11-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu_control.h: Add volatile to the asms.
	Patch by Alexander Stohr.

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

	* nscd/nscd_getai (__nscd_getai): Avoid memory and file descriptor
	leaks.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Free air.

2004-11-15  Maciej W. Rozycki  <macro@mips.com>

	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (__SI_MAX_SIZE):
	Define appropriately based on __WORDSIZE.
	[struct siginfo] (__pad0): Add for explicit padding.

	* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Formatting fixes
	throughout.

2004-11-22  Ulrich Drepper  <drepper@redhat.com>

	* dirent/dirent.h: Add nonnull attributes.
	* dlfcn/dlfcn.h: Likewise.

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

	* sysdeps/ieee754/k_standard.c: Document code 50.
	(__kernel_standard) <case 50>: Avoid raising div-by-zero
	exception again.

2004-11-19  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #552]
	* math/libm-test.inc (tgamma_test): Update tgamma (0) and
	tgamma (-0).
	* sysdeps/generic/w_tgamma.c (__tgamma): Properly handle |x| == 0.
	* sysdeps/generic/w_tgammaf.c (__tgammaf): Likewise.
	* sysdeps/generic/w_tgammal.c (__tgammal): Likewise.
	* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Likewise.
	* sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise.
	* sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise.
	* sysdeps/ieee754/k_standard.c (__kernel_standard): Handle
	tgamma (0) and tgamma (-0).

2004-11-20  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_read): Avoid open for checking whether
	the file we already use changed.

	* misc/syslog.c: Remove !USE_IN_LIBIO code.

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

	* signal/signal.h (__sysv_signal, sysv_signal, signal, bsd_signal,
	ssignal): Remove __nonnull attribute.

2004-11-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sys/procfs.h: New file.

2004-11-20  Ulrich Drepper  <drepper@redhat.com>

	* signal/signal.h: Add nonnull attributes.

	* signal/signal.h: Add deprecated attributes to sigstack,
	sigpause, sigblock, sigsetmask, siggetmask.

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

	* sysdeps/unix/sysv/linux/bits/socket.h (SCM_RIGHTS): Avoid
	comma at the end of enum if __USE_BSD is not defined.

2004-11-19  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (_int_malloc): Check for corruption of chunk
	which is about to be returned.

	* malloc/malloc.c (_int_free): Add a few more cheap tests for
	corruption.

2004-11-17  Randolph Chung  <tausq@debian.org>

	* sysdeps/hppa/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind
	annotations.

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

	[BZ #544]
	* posix/regex.h (RE_NO_SUB): New define.
	* posix/regex_internal.h (OP_DELETED_SUBEXP): New.
	(re_dfa_t): Add subexp_map.
	* posix/regcomp.c (struct subexp_optimize): New type.
	(optimize_subexps): New routine.
	(re_compile_internal): Call it.
	(re_compile_pattern): Set preg->no_sub to 1 if RE_NO_SUB.
	(free_dfa_content): Free subexp_map.
	(calc_inveclosure, calc_eclosure): Skip OP_DELETED_SUBEXP nodes.
	* posix/regexec.c (re_search_internal): If subexp_map
	is not NULL, duplicate registers as needed.
	* posix/Makefile: Add rules to build and run tst-regex2.
	* posix/tst-regex2.c: New test.
	* posix/rxspencer/tests: Fix last two tests (\0 -> \1).
	Add some new tests for nested subexpressions.

2004-11-18  Ulrich Drepper  <drepper@redhat.com>

	* libio/libio.h (_IO_FLAGS2_FORTIFY): Renamed from
	_IO_FLAGS2_CHECK_PERCENT_N.
	* debug/fprintf_chk.c: Adjust all users.
	* debug/printf_chk.c: Likewise.
	* debug/vfprintf_chk.c: Likewise.
	* debug/vprintf_chk.c: Likewise.
	* debug/vsnprintf_chk.c: Likewise.
	* debug/vsprintf_chk.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.  Detect missing %N$ formats.
	* debug/tst-chk1.c: Test detection of missing %N$ formats.

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

	* posix/bug-regex24.c: Include string.h.

	* nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
	and out2 to out.  Remove out label.  Formatting.

2004-11-15  Ulrich Drepper  <drepper@redhat.com>

	* include/stdio.h: Do not mark __libc_message as noreturn.
	* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
	fool gcc.  Include <stdbool.h>.
	* sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
	(__libc_message): Fix typo.

2004-11-13  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (malloc_state): stat_lock_* elements need only
	be defined if THREAD_STATS is defined.  Remove pad0_ since it does
	not align with cache line sizes in general anyway.

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

	* elf/rtld.c (print_statistics): Avoid segfaults if not all namespaces
	are used.  Fix computation of num_relative_relocations on RELA
	architectures other than IA-64 and Alpha.

2004-11-13  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (_int_free): Use munmap_chunk for handling
	mmaped memory.

2004-11-12  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (_int_free): Remove test for NULL parameter.
	(_int_realloc): Call _int_free only if memory parameter is not NULL.

	* sysdeps/unix/sysv/linux/libc_fatal.c: Add new function __libc_message
	which performs the printing and simple format string handling.  The
	string is written to tty, stderr, syslog in this order, stopping after
	the first successful output.
	(__libc_fatal): Call __libc_message.
	* include/stdio.h: Declare __libc_message.
	* malloc/malloc.c (malloc_printerr): Use __libc_message.
	* debug/chk_fail.c: Also print message with __libc_message.
	* debug/test-strcpy_chk.c: Ensure that debug messages are not printed
	to the terminal or stderr.
	* debug/tst-chk1.c: Likewise.

	* posix/Makefile: Remove gpl2lgpl variable.

2004-11-12  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* elf/elf.h: Add 20 bit relocations R_390_*20.

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

	* sysdeps/unix/sysv/linux/i386/setuid.c: Include linux/posix_types.h.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.

2004-11-12  Andreas Schwab  <schwab@suse.de>

	* nis/ypclnt.c (ypprot_err): Fix "minor optimizations".

2004-11-12  Ulrich Drepper  <drepper@redhat.com>

	* posix/Makefile (tests): Add bug-regex24.
	* posix/bug-regex24.c: New file.

2004-11-12  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regexec.c (check_dst_limits_calc_pos_1): Use the map to
	cut recursive paths.  Make exit condition more precise.
	(match_ctx_add_entry): Initialize the map.
	* posix/regex_internal.h (struct re_backref_cache_entry): Add a map of
	reachable subexpression nodes from each backreference cache entry.

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

	* sysdeps/unix/sysv/linux/setreuid.c: Remove sys/syscall.h,
	sys/types.h, linux/posix_types.h, sysdep.h and pthread-functions.h
	includes.  Include setxid.h.  Use INLINE_SETXID_SYSCALL macro
	instead of INLINE_SYSCALL, kill the HAVE_PTR__NPTL_SETXID guarded
	snippets.
	* sysdeps/unix/sysv/linux/setegid.c: Likewise.
	* sysdeps/unix/sysv/linux/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setreuid.c: Likewise.
	Formatting.  Change signed int into int.
	* sysdeps/unix/sysv/linux/alpha/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setresgid.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/setregid.c: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
	Remove.
	* sysdeps/unix/setxid.h: New file.

	* Rules (binaries-static): Add xtests-static.
	* Makeconfig (run-program-prefix): Filter also xtests-static.

2004-11-09  Paul Eggert  <eggert@cs.ucla.edu.

	[BZ #535]
	* time/difftime.c: Fix a double-rounding bug on hosts with
	64-bit time_t and long double being IEEE double.  Also, port
	to more valid C99 hosts, even those that have padding bits.
	Don't include <values.h> since it is marked as an obsolescent
	interface.  Include <limits.h>, <float.h>, and <stdint.h> instead.
	(TYPE_BITS, TYPE_FLOATING, TYPE_SIGNED): New macros.
	(subtract): New static function, that works correctly without
	double-rounding, even on hosts with 64-bit time_t.  Also cater
	to hosts with padding bits.
	(__difftime): Use it.  Use DBL_MANT_DIG and LDBL_MANT_DIG to
	determine whether floating types are wide enough: the old
	test (which used sizeof) could in theory report the wrong results
	on hosts with padding bits in floating-point values.

2004-11-11  Simon Josefsson  <jas@extundo.com>

	[BZ #542]
	* sysdeps/generic/strtok_r.c [HAVE_CONFIG_H]: Include config.h.
	[!_LIBC]: Include strtok_r.h (in gnulib), map __strtok_r to
	strtok_r and __rawmemchr to strch.
	(__strtok_r): Use C89 prototype.
	[weak_alias]: Move calls to libc_hidden_def and weak_alias into
	this #ifdef.

2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #541]
	* time/mktime.c (SHR): New macro, which is a portable
	substitute for >> that should work even on Crays.
	(TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
	Problem reported by Mark D. Baushke in
	<http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.

2004-11-09  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regexec.c (match_ctx_free_subtops): Remove, merge into...
	(match_ctx_clean): ... this function.
	(match_ctx_free): Call match_ctx_clean.

	* posix/regexec.c (transit_state): Remove the check for
	out-of-bounds buffers.
	(check_matching): Check here for out-of-bounds buffers.
	(re_search_internal): Store into match_kind a set of bits
	indicating which incantation of fastmap scanning must be
	used.  Use a switch statement instead of multiple ifs.
	Exit the final "for (;;)" with goto free_return unless
	the match succeeded, thus simplifying some conditionals.

	* posix/regex_internal.c (re_string_reconstruct,
	re_string_context_at): Add several branch predictions for
	case-sensitive matching and no transition table being used.

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

	* posix/tst-waitid.c: Don't use error to print error message, they
	won't end up in the .out file.

2004-11-09  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd-client.h (libc_locked_map_ptr): Add new first
	parameter, used as class for definition.
	* nscd/nscd_getpw_r.c: Adjust for libc_locked_map_ptr change.
	(pw_map_free): Ensure no crash after memory is freed.
	* nscd/nscd_getgr_r.c: Likewise.  Make map externally visible.
	* nscd/nscd_gethst_r.c: Likewise.
	* nscd/nscd_getai.c: Use map from nscd_gethost.c.
	* nscd/nscd_initgroups.c: Use map from nscd_getgr.c.

	* nscd/nscd_getai.c: Add some checks to detect corrupt databases.
	* nscd/nscd_getgr_r.c: Likewise
	* nscd/nscd_gethst_r.c: Likewise.
	* nscd/nscd_getpw_r.c: Likewise

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

	* posix/regcomp.c (calc_eclosure_iter): Don't access
	dfa->edests[node].elems[0] if dfa->edests[node].nelem == 0.
	* posix/rxspencer/tests: Add 5 new tests.

2004-11-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ifaddrs.c: Determine sin6_scope_id field
	value correctly.  Patch by Mitsuru Kanda <mk@karaba.org>.

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

	* libio/fileops.c (_IO_new_file_seekoff): If mode is 0 and
	fp->_offset == _IO_pos_BAD, just call _IO_SYSSEEK (fp, 0, dir)
	and if successful set fp->_offset.
	* libio/Makefile (tests): Add bug-ungetc3.
	* libio/bug-ungetc3.c: New test.

2004-11-03  Marcus Brinkmann  <marcus@gnu.org>

	* sysdeps/gnu/_G_config.h (_G_HAVE_MREMAP): Define symbol.
	* sysdeps/mach/hurd/_G_config.h: New file.
	* libio/fileops.c (mmap_remap_check) [__linux__]: Replaced with
	[_G_HAVE_MREMAP].

2004-11-08  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c (utf8_sb_map): Define.
	(free_dfa_content): Don't free dfa->sb_char if it's a pointer to
	utf8_sb_map.
	(init_dfa): Use utf8_sb_map instead of initializing memory when the
	encoding is UTF-8.

2004-11-03  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (init_dfa): Get the codeset name outside glibc as
	well.  Check if it is spelled UTF8 as well as UTF-8, and check
	case-insensitively.  Set dfa->map_notascii manually when outside
	glibc.
	* posix/regex_internal.c (build_wcs_upper_buffer) [!_LIBC]: Enable
	optimizations based on map_notascii.
	* posix/regex_internal.h [HAVE_LANGINFO_H || HAVE_LANGINFO_CODESET
	|| _LIBC]: Include langinfo.h.

	* posix/regex_internal.h (struct re_backref_cache_entry): Add "more"
	field.
	* posix/regexec.c (check_dst_limits): Hoist computation of the source
	and destination bkref_idx out of the loop.  Pass it to
	check_dst_limits_calc_pos.
	(check_dst_limits_calc_pos_1): New function, containing the recursive
	loop of check_dst_limits_calc_pos; uses the "more" field of
	struct re_backref_cache to control the loop.
	(check_dst_limits_calc_pos): Store into "boundaries" the position
	relative to lim's start and end positions.  Do not accept eclosures,
	accept bkref_idx instead.  Call check_dst_limits_calc_pos_1 to do the
	work.
	(sift_states_bkref): Use the "more" field of struct re_backref_cache
	to control the loop.  A big "if" was turned into a continue and the
	function was reindented.
	(get_subexp): Use the "more" field of struct re_backref_cache
	to control the loop.
	(match_ctx_add_entry): Initialize the bkref_ents' "more" field.
	(search_cur_bkref_entry): Return -1 if out of bounds.

	* posix/regexec.c (empty_set): Remove.
	(sift_states_backward): Remove cur_src variable.  Move inner loop
	to build_sifted_states.
	(build_sifted_states): Extract from sift_states_backward.  Do not
	use empty_set.
	(update_cur_sifted_state): Do not use empty_set.  Special case
	dest_nodes->nelem == 0.

	* posix/regex_internal.h (struct re_backref_cache_entry): Remove flag
	field.
	(struct re_sift_context_t): Remove cur_bkref, cls_subexp_idx,
	check_subexp fields.  Move limits last.
	* posix/regexec.c (match_ctx_clear_flag): Remove.
	(sift_ctx_init): Remove check_subexp parameter.  Do not set removed
	fields.  Callers adjusted.
	(expand_bkref_cache): Remove last_str parameter.  Callers adjusted.
	(re_search_internal): Remove fast_translate variable.
	(update_cur_sifted_state): Pass candidates as the final parameter
	to sift_states_bkref.
	(sift_states_bkref): Change last unused parameter to be "candidates",
	do not fetch candidates into a local variable.
	Remove dead test for "node == sctx->bkref", and the cur_bkref_idx
	variable.
	Remove loops that set/reset the flag field of backref cache entries.
	(check_arrival_add_next_nodes): Use a signed int to hold the return
	value of re_node_set_insert.
	(group_nodes_into_DFAstates): Likewise.
	(match_ctx_add_entry): Do not set the flag field of the new entry.

2004-11-05  Roland McGrath  <roland@redhat.com>

	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Define
	_dl_sysinfo_dso under [NEED_DL_SYSINFO_DSO] as well.
	* elf/rtld.c (dl_main): Set up GLRO(dl_sysinfo_dso) under
	[NEED_DL_SYSINFO_DSO] as well.
	* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Always include
	AT_SYSINFO and AT_SYSINFO_EHDR in name table.
	(_dl_sysdep_start) [NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR.
	* elf/dl-support.c (_dl_sysinfo_dso): Define also under
	[NEED_DL_SYSINFO_DSO].
	(_dl_aux_init) [NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO]:
	Match AT_SYSINFO_EHDR and set GL(dl_sysinfo_dso).

2004-11-05  Roland McGrath  <roland@redhat.com>

	* manual/errno.texi (Error Codes): Revert last change for now.
	* sysdeps/gnu/errlist.c: Regenerated.

2004-11-04  Roland McGrath  <roland@frob.com>

	* Makeconfig (link-libc, rpath-dirs): Remove AIX cruft definitions.
	(LDFLAGS-rpath-ORIGIN, LDFLAGS-soname-fname): Likewise.
	(LDFLAGS-rdynamic, LDFLAGS-Bsymbolic): Likewise.
	($(common-objpfx)gnu/lib-names.stmp): Likewise.

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

	* sysdeps/unix/sysv/linux/x86_64/sys/procfs.h [__WORDSIZE == 32]
	(elf_fpxregset_t): New type.
	(struct elf_prpsinfo): If __WORDSIZE == 32, change pr_[ug]id type
	to unsigned short int.
	* sysdeps/unix/sysv/linux/x86_64/sys/user.h
	(struct user_fpregs_struct): Fix comment.
	* sysdeps/i386/fpu/bits/mathdef.h (float_t, double_t): If
	__FLOAT_EVAL_METHOD__ is defined and 0, typedef to float resp. double.
	* sysdeps/x86_64/fpu/bits/mathdef.h: Include bits/wordsize.h.
	(float_t, double_t): If -m32 and not -mfpmath=sse, typedef to
	long double.
	* sysdeps/x86_64/fpu/bits/fenv.h: Include bits/wordsize.h.
	(fenv_t): Remove __mxcsr field for -m32.

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

	* libio/ftello.c (ftello): Don't subtract save_end - save_base
	if pos is _IO_pos_BAD.
	* libio/ftello64.c (ftello64): Likewise.
	* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
	* libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise.
	* libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise.
	* libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise.
	* libio/ioftell.c (_IO_ftell): Likewise.
	Cast to long int instead of off_t when checking for overflow.

2004-11-04  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/register-dump.h (regnames): Align.
	(linefeed): Remove.
	(register_dump): Rewrite to generate into a flat buffer instead
	of into iovecs.

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

	* debug/tst-chk1.c (ret): New volatile variable.
	(CHK_FAIL_END): Remove redundant ret setting.
	(do_test): Remote ret variable.

2004-01-03  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regex_internal.h (__regfree) [!_LIBC]: Define to regfree.

2004-11-03  Marcus Brinkmann  <marcus@gnu.org>

	* sysdeps/generic/utime.c: Include <stddef.h>.

	* sysdeps/generic/sysconf.c: Include <grp.h> and <pwd.h>.

	* sysdeps/generic/tempname.c (__path_search): Add missing argument
	TRY_TMPDIR.

2004-10-31  Mariusz Mazur <mmazur@kernel.pl>

	* sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
	* sysdeps/unix/sysv/linux/alpha/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/alpha/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/alpha/setreuid.c: New file.

2004-10-27  Derek R. Price  <derek@ximbiot.com>

	[BZ #487] This change is imported from gnulib.
	* time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check.

2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #473]
	* time/tst-mktime.c (main): Don't assume that mktime fails
	when given time stamps before 1970.  It returns negative
	time_t values instead, for compatibility with BSD.

	* time/tst-mktime2.c: New file.
	* time/Makefile (tests): Add it.

	[BZ #473] Import from gnulib.  Revamp to avoid several problems near
	time_t extrema, and on hosts with 64-bit time_t and 32-bit int.
	This fixes Debian bug 177940.
	* time/mktime.c (TIME_T_MIDPOINT): New macro.
	(ydhms_diff): Renamed from ydhms_tm_diff, with a new signature,
	which avoids overflow problems on hosts with 64-bit time_t and
	32-bit int.  All callers changed.  Now an inline function.
	Verify at compile-time that long int is wide enough to avoid
	these overflow problems.
	(guess_time_tm): New function.
	(__mktime_internal): Use it.  Avoid overflow when computing yday on
	hosts with 64-bit long and 32-bit int.  Remove tests for 69;
	no longer needed.  Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE
	so that the code is checked by more compilers.
	Do not rely on floating point to probe: stick to integer arithmetic,
	to avoid potential porting problems.
	Repair potential overflow correctly in the Southern Hemisphere.
	(localtime_offset): Add a FIXME for the case where time_t is unsigned.

2004-10-30  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/dl-machine.h (elf_machine_rela)
	(elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
	instead of static.

2004-10-30  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/waitid.c: Include <stddef.h> for NULL.

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

	* malloc/malloc.c (_int_free): Use unique comments for the error
	cases.

2004-10-28  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state
	instead of machine_thread_state.

2004-10-28  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot.

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

	* elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script.

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

	* elf/dl-load.c (_dl_map_object): Use cache_rpath to check for
	existing rpath in main executable, not explicit test.

2004-10-27  Jakub Jelinek  <jakub@redhat.com>

	* include/resolv.h (_res_opcodes): New extern.
	Add libresolv_hidden_proto.
	* resolv/res_debug.c (_res_opcodes): Remove.
	(__p_class_syms, __p_type_syms): Add libresolv_hidden_proto
	and libresolv_hidden_data_def.  Remove attribute_hidden.
	* resolv/res_mkquery (_res_opcodes): Remove.
	* resolv/res_data.c (_res_opcodes): Remove attribute_hidden.
	Add libresolv_hidden_data_def.

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

	* elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO
	into an empty namespace.

	* elf/dl-fini.c (_dl_fini): Fix search for map in maps array.
	Reverse order of namespaces.
	* elf/Makefile: Add rules to build and run tst-dlmopen3.
	* elf/tst-dlmopen3.c: New file.
	* elf/tst-dlmopen1mod.c: Add check whether constructor runs.

2004-10-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it.
	* posix/Makefile: Add rules to build and run bug-glob2 test.
	* posix/bug-glob2.c: New test.

2004-10-27  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro.
	(_hurd_tls_init): Use it.
	(_hurd_tls_fork): New function.
	* sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it.

2004-10-26  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb.

2004-10-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t
	type instead of uint16_t.  Formatting.

2004-10-25  Roland McGrath  <roland@redhat.com>

	* login/openpty.c (openpty): Add libutil_hidden_def.

	* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to
	either libc_hidden_def or libnss_files_hidden_def, not hidden_def.
	This file is also compiled into libnss_hesiod by #include.

2004-10-25  Roland McGrath  <roland@frob.com>

	* sysdeps/unix/bsd/hp: Directory and all files removed.
	These are now in the ports repository.
	* sysdeps/unix/bsd/osf: Likewise.
	* sysdeps/unix/bsd/sequent: Likewise.
	* sysdeps/unix/bsd/sony: Likewise.
	* sysdeps/unix/bsd/ultrix4: Likewise.
	* sysdeps/unix/sysv/aix: Likewise.
	* sysdeps/unix/sysv/hpux: Likewise.
	* sysdeps/unix/sysv/irix4: Likewise.
	* sysdeps/unix/sysv/isc2.2: Likewise.
	* sysdeps/unix/sysv/minix: Likewise.
	* sysdeps/unix/sysv/sco3.2.4: Likewise.
	* sysdeps/unix/sysv/sco3.2: Likewise.
	* sysdeps/unix/sysv/sysv4: Likewise.

	* configure.in (ASM_LINE_SEP): Move this setting to ...
	* sysdeps/hppa/configure.in: ... here, new file.
	* sysdeps/hppa/configure: New generated file.
	* configure: Regenerated.

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

	* sysdeps/sh/dl-machine.h: Include sysdep.h.
	(ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives.
	(elf_machine_runtime_setup): Add always_inline attribute.
	(_dl_start_user): Pass the correct environ.
	(elf_machine_rela): Replace static inline by auto inline, add
	always_inline attribute.
	(elf_machine_rela_relative): Likewise.
	(elf_machine_lazy_rel): Likewise.

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

	* nis/nis_call.c: Pretty printing.  Minor cleanups.
	* nis/nis_addmember.c (nis_addmember): Add assert to check buffer
	bounds.

	* resolv/nss_dns/dns-host.c: Avoid using PLTs.
	* include/libc-symbols.h: Define hidden attribute macros for
	libnss_nisplus and libutil.
	* include/utmp.h: Add libutil_hidden_proto for login_tty.
	* login/login_tty.c: Add libutil_hidden_def.
	* nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers.
	* nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def.
	* include/pty.h: New file.
	* include/rpcsvc/yp.h: New file.
	* include/rpcsvc/ypclnt.h: New file.
	* include/rpcsvc/ypupd.h: New file.
	* include/libc-symbols.h: Define hidden attribute macros for libnsl.
	* include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
	functions.
	* nis/nis_add.c: Add libnsl_hidden_def.  Minor optimizations.
	* nis/nis_call.c: Likewise.
	* nis/nis_clone_obj.c: Likewise.
	* nis/nis_defaults.c: Likewise.
	* nis/nis_domain_of_r.c: Likewise.
	* nis/nis_error.c: Likewise.
	* nis/nis_file.c: Likewise.
	* nis/nis_free.c: Likewise.
	* nis/nis_local_names.c: Likewise.
	* nis/nis_lookup.c: Likewise.
	* nis/nis_modify.c: Likewise.
	* nis/nis_print.c: Likewise.
	* nis/nis_remove.c: Likewise.
	* nis/nis_subr.c: Likewise.
	* nis/nis_table.c: Likewise.
	* nis/nis_util.c: Likewise.
	* nis/yp_xdr.c: Likewise.
	* nis/ypclnt.c: Likewise.
	* nis/ypupdate_xdr.c: Likewise.

	* resolv/res_send.c (send_dg): Cope with failures.

	* include/libc-symbols.h: Define hidden attribute macros for
	libnss_files.
	* include/netdb.h: Use libnss_files_hidden_proto for the parsers
	defined in libnss_files, not libc_hidden_proto.
	* include/netinet/ether.h: Likewise.
	* include/rpc/netdb.h: Likewise.
	* nss/nss_files/files-parse.c: Use hidden_def in parser definitions
	instead of libc_hidden_def.
	* nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to
	_nss_netgroup_parseline definition.

2004-10-23  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early
	after an RPC succeeds.

	* sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed.
	These are now in the ports repository.
	* sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise.
	* sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise.
	* sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise.
	* sysdeps/standalone, sysdeps/z8000: Likewise.

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

	* resolv/res_send.c (send_dg): Combine write and read to socket
	into one loop.

2004-10-22  Roland McGrath  <roland@frob.com>

	* Makefile (%.bz2, %.gz): Move these pattern rules ...
	* Makerules: ... to here.

2001-10-31  Alexandre Oliva  <aoliva@redhat.com>

	* elf/elf.h: Add R_MN10300_* relocation numbers.

2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #471] Fix imported from gnulib.
	* time/mktime.c (leapyear, ydms_tm_diff): Year is of type
	long int, not int, to avoid problems when tm_year == INT_MAX
	and tm_mon > 12.
	(__mktime_intenral): Compute year using long int arithmetic,
	not int arithmetic, to avoid problems on hosts where time_t
	and long are 64 bits but int is 32.

	[BZ #468] Import a fix from gnulib.
	* time/mktime.c [! DEBUG]: Do not include <string.h>.
	It's needed only if DEBUG is nonzero.

	[BZ #470] Import fix from gnulib.
	* time/mktime.c [!_LIBC] (__mktime_internal): Define to
	mktime_internal, to avoid clashes with any __mktime_internal
	function defined in the standard library.

	[BZ #469] Imported from gnulib.
	* time/mktime.c (__isleap): Remove; all uses replaced by:
	(leapyear): New function, which avoids overflow by not adding
	1900 to year before testing whether it is a leap year.

	[BZ #472] Imported from gnulib.
	* time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX;
	no longer used.

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

	* resolv/res_send.c: Remove compatibility code which is unused in
	glibc and probably bitrotten.

	* debug/execinfo.h: Remove __THROW from backtrace prototype.

2004-10-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions.
	* sysdeps/i386/backtrace.c: Include <bits/libc-lock.h>, <dlfcn.h>,
	<stdlib.h> and <unwind.h>.  Remove <bp-checks.h> include.
	(struct trace_arg): New type.
	(unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New
	fn pointers resp. macros.
	(init, backtrace_helper): New functions.
	(__backtrace): Rewritten to use _Unwind_Backtrace first and fall
	back to frame pointer walking.

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

	* sysdeps/unix/sysv/linux/Versions: Things are still in flux, it
	seems.  Undo last additions.

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

	* posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno
	values.

2004-10-20  Roland McGrath  <roland@redhat.com>

	* Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
	$(config-sysdirs) for shlib-versions files.

	* Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
	use of ...
	* scripts/soversions.awk: ... this new file.  Collect lib info and
	match any DEFAULT line before emitting anything, so DEFAULT can come
	later in the concatenation of shlib-versions files.

	* manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED,
	EKEYREVOKED, EKEYREJECTED.
	* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist.
	* sysdeps/gnu/errlist.c: Regenerated

	* sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count
	higher than ERR_MAX reports.  Instead, emit a #define ERR_MAX.
	* sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target.
	(generated): Add errlist-compat.h.
	* sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to
	define ERR_MAX and use that for table size.

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

	* sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot,
	key_add, key_request, and keyctl syscalls.
	* sysdeps/unix/sysv/linux/Versions: Export them.

2004-10-19  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/readonly-area.c: New file.

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

	* elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state.
	* elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def.
	* sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as
	hidden but use rtld_hidden_proto.

2004-10-19  Alfred M. Szmidt  <ams@gnu.org>

	* sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
	(__readonly_area): ... this.

2004-10-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
	destlen only every 4 bytes.

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

	* nss/getent.c (hosts_keys): Let inet_pton decide whether the
	string is an address or not.

2004-10-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.
	Use DL_SYMBOL_ADDRESS to set dli_saddr.

	* debug/Makefile (catchsegv): Prefix $LIB with a backslash.

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

	* debug/Makefile ($(objpfx)catchsegv): To support multilib
	platforms, use $LIB in path to slibdir.

2004-10-19  Jakub Jelinek  <jakub@redhat.com>

	* debug/catchsegv.sh: Update copyright year.
	Use mktemp to create segv_output file.

2004-10-18  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook):
	New functions.
	(__libc_dlopen_mode): Call __libc_register_dl_open_hook and
	__libc_register_dlfcn_hook.
	* dlfcn/Makefile (routines, elide-routines.os): Set.
	Add rules to build and test tststatic2.
	* dlfcn/tststatic2.c: New test.
	* dlfcn/modstatic2.c: New test module.
	* dlfcn/dladdr.c: Call _dlfcn_hook from libdl.so if not NULL.
	Define __ prefixed routine in libc.a and in libdl.a just call it.
	* dlfcn/dladdr1.c: Likewise.
	* dlfcn/dlclose.c: Likewise.
	* dlfcn/dlerror.c: Likewise.
	* dlfcn/dlinfo.c: Likewise.
	* dlfcn/dlmopen.c: Likewise.
	* dlfcn/dlopen.c: Likewise.
	* dlfcn/dlopenold.c: Likewise.
	* dlfcn/dlsym.c: Likewise.
	* dlfcn/dlvsym.c: Likewise.
	* dlfcn/sdladdr.c: New file.
	* dlfcn/sdladdr1.c: New file.
	* dlfcn/sdlclose.c: New file.
	* dlfcn/sdlerror.c: New file.
	* dlfcn/sdlinfo.c: New file.
	* dlfcn/sdlopen.c: New file.
	* dlfcn/sdlsym.c: New file.
	* dlfcn/sdlvsym.c: New file.
	* dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE.
	* include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define.
	(struct dlfcn_hook): New type.
	(_dlfcn_hook): New extern decl.
	(__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1,
	__dlinfo, __dlmopen, __libc_dlsym_private,
	__libc_register_dl_open_hook, __libc_register_dlfcn_hook): New
	prototypes.
	(__dlvsym): Use DL_CALLER_DECL.
	* include/libc-symbols.h: Define libdl_hidden_proto and friends.

	* malloc/arena.c (_dl_open_hook): Extern decl.
	(ptmalloc_init): Don't call _dl_addr when dlopened from statically
	linked programs but don't use brk for them either.

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

	* dlfcn/bug-dlsym1.c (main): Remove bogus setenv call.

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

	* elf/dl-open.c (dl_open_worker): Avoid dereferencing map in
	statically linked code if there might none be found.

2004-10-06  Maciej W. Rozycki  <macro@mips.com>

	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
	(__SYSCALL_CLOBBERS): Add "memory".
	* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.

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

	* include/libc-symbols.h: Define libresolv_hidden_proto and friends.
	* include/resolv.h: Add libresolv_hidden_proto for symbols defined,
	used, and exported in libresolv.
	* resolv/base64.c: Add libresolv_hidden_def.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/ns_name.c: Likewise.
	* resolv/ns_netint.c: Likewise.
	* resolv/res_comp.c: Likewise.
	* resolv/res_data.c: Likewise.
	* resolv/res_debug.c: Likewise.
	* resolv/res_mkquery.c: Likewise.
	* resolv/res_query.c: Likewise.
	* resolv/res_send.c: Likewise.

2004-10-15  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-minimal.c (__chk_fail): New.  Add rtld_hidden_def.
	* sysdeps/unix/sysv/linux/readonly-area.c: New file.
	* sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking
	routine.
	* sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise.
	* sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
	* sysdeps/i386/i686/memset.S (__memset_chk): Likewise.
	* sysdeps/i386/i686/memmove-chk.S: New file.
	* sysdeps/i386/i686/memcpy-chk.S: Likewise.
	* sysdeps/i386/i686/mempcpy-chk.S: Likewise.
	* sysdeps/i386/i686/memset-chk.S: Likewise.
	* sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail
	if exactly fitting into buffer.
	* sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise.
	* sysdeps/generic/readonly-area.c: New file.
	* sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test
	destlen once.
	* sysdeps/x86_64/memset.S (__memset_chk): Add checking routine.
	* sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise.
	* sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk.
	* sysdeps/x86_64/memcpy-chk.S: New file.
	* sysdeps/x86_64/mempcpy-chk.S: Likewise.
	* sysdeps/x86_64/memset-chk.S: Likewise.
	* sysdeps/x86_64/strcpy-chk.S: Likewise.
	* sysdeps/x86_64/stpcpy-chk.S: Likewise.
	* argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing.
	* argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise.
	* debug/tst-chk1.c: New test.
	* debug/tst-chk2.c: Likewise.
	* debug/tst-chk3.c: Likewise.
	* debug/test-strcpy_chk.c: Likewise.
	* debug/test-stpcpy_chk.c: Likewise.
	* debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request
	_IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
	* debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk,
	vfprintf_chk, gets_chk and readonly-area.
	(CFLAGS-*_chk.c): Set.
	(tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and
	test-stpcpy_chk.
	* debug/vprintf_chk.c: New file.
	* debug/printf_chk.c: Likewise.
	* debug/vfprintf_chk.c: Likewise.
	* debug/fprintf_chk.c: Likewise.
	* debug/gets_chk.c: Likewise.
	* debug/chk_fail.c (__chk_fail): Add libc_hidden_def.
	* debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments
	passed to __vsnprintf_chk.
	* debug/Versions (libc): Export __printf_chk, __fprintf_chk,
	__vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4.
	* debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call
	__vsnprintf, instead create a temporary file with
	_IO_strn_jumps jumptable.  If flags > 0, request
	_IO_FLAGS2_CHECK_PERCENT_N.  Add libc_hidden_def.
	* libio/Makefile (headers): Add bits/stdio2.h.
	* libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL.
	(sprintf, snprintf, vsprintf, vsnprintf): Remove defines.
	* libio/strfile.h (_IO_strnfile): New type.
	(_IO_strn_jumps): New extern.
	* libio/vsnprintf.c (_IO_strnfile): Remove.
	(_IO_strn_jumps): Remove static.
	* libio/bits/stdio2.h: New file.
	* libio/vswprintf.c (_IO_strnfile): Rename type to...
	(_IO_wstrnfile): ...this.  Adjust all uses.
	* libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define.
	* stdio-common/vfprintf.c (STR_LEN): Define.
	(vfprintf): Add readonly_format variable.
	Handle _IO_FLAGS2_CHECK_PERCENT_N.
	(buffered_vfprintf): Copy _flags2.
	* include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
	__vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
	__vfprintf_chk): New prototypes.
	(__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto.
	* include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk,
	__memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk,
	__strncat_chk): New prototypes.
	* include/bits/string3.h: New file.
	* include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto
	and rtld_hidden_proto.
	* string/Makefile (headers): Add bits/string3.h.
	* string/bits/string3.h (bcopy, bzero): New defines.
	(memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change
	macros so that inlines are used only if unknown destination size
	or side-effects in destination argument.
	(mempcpy, stpcpy): Likewise.  Protect with #ifdef __USE_GNU.

2004-09-16  Ulrich Drepper  <drepper@redhat.com>

	* debug/Makefile (routines): Add *_chk.
	* debug/Versions (libc): Export __chk_fail, __memcpy_chk,
	__memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk,
	__strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk,
	__sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk
	@GLIBC_2.3.4.
	* debug/chk_fail.c: New file.
	* debug/snprintf_chk.c: Likewise.
	* debug/sprintf_chk.c: Likewise.
	* debug/vsnprintf_chk.c: Likewise.
	* debug/vsprintf_chk.c: Likewise.
	* include/features.h (_FORTIFY_SOURCE): Document, handle.
	(__USE_FORTIFY_LEVEL): Define.
	(__GNUC_PREREQ): Move to earlier location.
	* include/sys/cdefs.h (__chk_fail): New prototype.
	* libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf):
	Define if __USE_FORTIFY_LEVEL.
	* misc/sys/cdefs.h (__bos, __bos0): Define.
	* string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL.
	* bits/string/string3.h: New header.
	* sysdeps/generic/memcpy_chk.c: New file.
	* sysdeps/generic/memmove_chk.c: Likewise.
	* sysdeps/generic/mempcpy_chk.c: Likewise.
	* sysdeps/generic/memset_chk.c: Likewise.
	* sysdeps/generic/stpcpy_chk.c: Likewise.
	* sysdeps/generic/strcat_chk.c: Likewise.
	* sysdeps/generic/strcpy_chk.c: Likewise.
	* sysdeps/generic/strncat_chk.c: Likewise.
	* sysdeps/generic/strncpy_chk.c: Likewise.

2004-10-17  Roland McGrath  <roland@frob.com>

	* manual/memory.texi (Page Lock Functions): Typo fix.
	Reported by Carlos Maziero <maziero@ppgia.pucpr.br>

2004-10-16  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/mach/hurd/Makefile (link-libc-static): Use
	`$(static-gnulib') instead of `$(gnulib)'.

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

	* sunrpc/rpc_clntout.c: Avoid including rcsid into binary.
	* sunrpc/rpc_cout.c: Likewise.
	* sunrpc/rpc_hout.c: Likewise.
	* sunrpc/rpc_main.c: Likewise.
	* sunrpc/rpc_parse.c: Likewise.
	* sunrpc/rpc_sample.c: Likewise.
	* sunrpc/rpc_scan.c: Likewise.
	* sunrpc/rpc_svcout.c: Likewise.
	* sunrpc/rpc_tblout.c: Likewise.
	* sunrpc/rpc_util.c: Likewise.

2004-10-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
	POPARGS_6, _PUSHARGS_6, _DOARGS_6, _POPARGS_6): Define.
	* sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
	syscalls.

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

	* nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db.
	(_PATH_NSCD_GROUP_DB): Likewise.
	(_PATH_NSCD_HOSTS_DB): Likewise.
	(_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run.
	* nscd/connections.c (nscd_init): Non-persistent database files
	are created with the _PATH_NSCD_XYZ_DB_TMP path.
	* nscd/nscd.init: Create /var/db/nscd if necessary.

2004-10-15  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add
	_code argument, pass sigcontext by pointer.
	(SIGCONTEXT_EXTRA_ARGS): Likewise.
	(GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer.

2004-10-14  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/dl-machine.h (elf_machine_rela,
	elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
	instead of static.

	* sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype
	style definition.
	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If
	__ASSUME_TIMEVAL64, define __adjtime directly rather than
	via strong_alias.

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

	* nscd/Makefile: When using compilers without -fpie support, also
	link with -lselinux if necessary.
	Patch by Arkadiusz Miskiewicz <arekm@pld-linux.org>.

	* nscd/connections.c (nscd_init): Remove file if not persistent
	and not shared.  Patch by Jerome Borsboom <j.borsboom@erasmusmc.nl>.

2004-10-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
	defined __NR_setresuid32 && !defined __NR_setresuid.
	* sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
	defined __NR_setresgid32 && !defined __NR_setresgid.

	* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
	__signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.

	* sysdeps/generic/errno-loc.c: Don't undef #errno
	if RTLD_PRIVATE_ERRNO.
	* include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
	add attribute_hidden.

	* dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
	chain with iteration over all namespaces' _ns_loaded chains.
	* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
	Likewise.
	* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.

	* elf/rtld.c (_dl_start): Fix one last dl_loaded.
	* elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of
	label when it is not needed.
	* elf/dl-close.c (_dl_close): Typo: & -> &&.

2004-10-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/segfault.c: Include alloca.h and stdint.h.
	Don't include frame.h.
	(CURRENT_STACK_FRAME, INNER_THAN, ADVANCE_STACK_FRAME): Remove.
	(catch_segfault): Use backtrace function.

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment.
	* sysdeps/unix/sysv/linux/ia64/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip
	field.

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

	Add support for namespaces in the dynamic linker.
	* dlfcn/Makefile (libdl-routines): Add dlmopen.
	* dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
	* dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
	Declare dlmopen.  Document RTLD_DI_LMID.
	* dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
	* dlfcn/dlmopen.c: New file.
	* dlfcn/dlopen.c: Pass new parameter to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
	* elf/dl-caller.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* elf/dl-depsc: Likewise.  Add new parameter to _dl_map_object.
	* elf/dl-fini.c: Call destructors in all namespaces.
	* elf/dl-iteratephdr.c: Compute total nloaded.  Adjust for removal of
	GL(dl_loaded).
	* elf/dl-libc.c: Pass new parameter to _dl_open.  Adjust for removal
	of GL(dl_loaded).
	* elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
	time.  Reuse the one from the main namespace in all others.
	Pass new parameter to _dl_new_object.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-object.c: Take new parameter.  Use it to initialize l_ns.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-open.c (_dl_open): Take new parameter.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-support.c: Replace global _dl_loaded etc variables with
	_dl_ns variable.
	* include/dlfcn.h: Adjust prototype of _dl_open.
	Define __LM_ID_CALLER.
	* include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
	* sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS.  Since libc is
	using TLS we need memory appropriate to the number of namespaces.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
	_dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
	_dl_global_scope_alloc with _dl_ns element.  Define DL_NNS.
	Adjust prototypes of _dl_map_object and member in rtld_global_ro.
	* malloc/malloc.c: Include <dlfcn.h>.
	* malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
	never use brk.
	* elf/Makefile: Add rules to build and run tst-dlmopen1 and
	tst-dlmopen2.
	* elf/tst-dlmopen1.c: New file.
	* elf/tst-dlmopen1mod.c: New file.
	* elf/tst-dlmopen2.c: New file.

	* elf/dl-close.c: Improve reference counting by tracking direct loads.
	* elf/dl-lookup.c (add_dependency): Likewise.
	* elf/dl-open.c (dl_open_worker): Likewise.
	* elf/rtld.c (dl_main): Likewise.

2004-09-09  GOTO Masanori  <gotom@debian.or.jp>

	[BZ #77]
	* elf/dl-close.c: Count down l_opencount to check not only for
	l_reldeps, but also l_initfini.

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

	* elf/dl-close.c (_dl_close): Update bug reporting instructions.

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

	* timezone/asia: Update from tzdata2004e.
	* timezone/southamerica: Likewise.
	* timezone/private.h: Update from tzcode2004e.
	* timezone/zdump.c: Likewise.

	* stdio-common/vfscanf.c: Add support for reading localized
	digits.  Patch mainly by Hamed Malek <hamed@bamdad.org>.

	* resolv/res_init.c (res_thread_freeres): Reset _res.options.
	[BZ #434]

	* resolv/res_send.c (send_dg): Use nonblocking sockets.  Add
	appropriate poll/select calls and restart operation if necessary.
	Also handle EINTR.

	* elf/tst-dlopenrpath.c (do_test): Enable code which was disabled
	for debugging.

	* elf/dl-sym.c (do_sym): Avoid using global variable.

	* elf/dl-addr.c (_dl_addr): Really use match everywhere.

2004-10-09  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as
	lvalue.

	* sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline
	definitions.

2004-10-07  Andreas Schwab  <schwab@suse.de>

	* misc/sys/uio.h: Change __vector to __iovec to avoid clash with
	altivec.

2004-10-06  Alan Modra  <amodra@bigpond.net.au>

	* gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules".
	* sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add
	-msoft-float.
	* sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros.
	(CALL_MCOUNT): Replace with a gas macro implementation.
	(EALIGN): Delete PROF version.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT.
	* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
	* sysdeps/powerpc/powerpc64/memset.S: Likewise.
	* sysdeps/powerpc/powerpc64/stpcpy.S: Likewise.
	* sysdeps/powerpc/powerpc64/strchr.S: Likewise.
	* sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/strcpy.S: Likewise.
	* sysdeps/powerpc/powerpc64/strlen.S: Likewise.
	* sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.

	* sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point
	past _mcount call.
	* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it.
	* sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.

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

	* resolv/res_mkquery.c (res_nmkquery): Reject randombits value if
	low 16 bits are zero.

2004-10-06  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-getaddrinfo2.c: Include stdlib.h and string.h.
	(do_test): Use %p instead of 0x%08X to print a pointer.

	* malloc/malloc.c: Include stdio-common/_itoa.h.

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

	* elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf
	for prelink message.

2004-10-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.

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

	* grp/initgroups.c: Remove duplicate group IDs.
	* grp/compat-initgroups.c: Likewise.
	* nscd/initgrcache.c: Likewise.

2004-10-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L
	for _SC_CPUTIME or _SC_THREAD_CPUTIME.

	* nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus
	-fpie if building PIE.
	(CFLAGS-*.c): Use it.

	* nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
	($(objpfx)nscd): Add $(relro-LDFLAGS).

	* sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
	(__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
	!HP_TIMING_AVAIL.

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

	* nscd/Makefile (distribute): Remove TODO.
	* nscd/TODO: Removed.

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

	* nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
	defined and __ASSUME_NETLINK_SUPPORT is zero.
	* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
	-DNEED_NETLINK.

	* malloc/mtrace.pl: Avoid calling location unless it is needed for
	output.  Patch by Edward Bishop <binutils@gmail.com>.

	* nscd/Makefile (CFLAGS-gai.c): Add -fpie.

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

	* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
	(clock_getcpuclockid): Add missing retval.

	* sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo.

2004-10-04  Roland McGrath  <roland@redhat.com>

	* include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
	to rtld_errno.
	* sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
	and don't define any other errno names.
	* sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
	place of errno.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.

	* sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
	attribute instead of `section'.

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

	* sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
	* sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
	* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
	testing code to...
	* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here.  New file.
	* sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
	_SC_CPUTIME and _SC_THREAD_CPUTIME.

	* nscd/connections.c (start_threads): Use sysconf in case
	_POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero.

	* nscd/Makefile (nscd-modules): Add gai.
	* nscd/gai.c: New file.
	* nscd/nscd.c: Remove getaddrinfo stub definition.

	* assert/assert.h: Give up on using __builtin_expect.

	* elf/rtld.c (dl_main): Only skip => output in ldd mode if both
	strings are identical.

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

	* malloc/arena.c (aligned_heap_area): New variable.
	(new_heap): If aligned_heap_area != NULL, attempt to use that
	first.  If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes
	aligned, remember the second half in aligned_heap_area.
	(delete_heap): Clear aligned_heap_area if deleting the area right
	before aligned_heap_area.

2004-10-03  Juerg Billeter  <j@bitron.ch>

	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd
	can't be used.  [BZ #424]

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

	Dynamically create new threads if necessary.
	* nscd/connections.c (fd_ready): If no thread available for processing
	the request, create a new one unless the limit is reached.
	(start_threads): Check errors from pthread_create.
	* nscd/nscd.h: Declare max_nthreads.
	* nscd/nscd_conf.c: Parse max-nthreads entry.
	* nscd/nscd.conf: Add max-threads entry.
	* nscd/nscd_stat.c: Print current and maximum number of threads.

	Implement paranoia mode.
	* nscd/connections.c (nscd_init): Mark database and socket descriptors
	as close on exec.
	(restart): New function.
	(restart_p): New function.
	(nscd_run): Add missing descrement of nready in case readylist is
	empty.
	(main_loop_poll): Call restart_p and restart.
	(main_loop_epoll): Likewise.
	(begin_drop_privileges): Save original UID and GID.
	* nscd/nscd.c: Define new variables paranoia, restart_time,
	restart_interval, oldcwd, old_gid, old_uid.
	(main): Disable paranoia mode if we are not forking.
	(check_pid): When re-execing, the PID file contains the same PID as
	the current process.  Do not fail in this case.
	* nscd/nscd.conf: Add paranoia and restart-interval entries.
	* nscd/nscd.h: Define RESTART_INTERVAL.  Declare new variables.
	* nscd/nscd_conf.c: Parse paranoia and restart-internal configurations.
	* nscd/nscd_stat.c: Print paranoia and restart-internal values.

	* nscd/connections.c: Implement alternative loop for main thread
	which uses epoll.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
	(CFLAGS-connections.c): Add -DHAVE_EPOLL.

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

	* nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables,
	don't replace old content.

	* nscd/connections.c: Rewrite handling of incoming connections.  All
	are handled by one thread which then hands off the descriptors for the
	real work to the worker threads.
	* nscd/Makefile: Link nscd with librt.

	* nscd/selinux.c: Pretty printing.

	* nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to
	output.  Let syslog do the formatting if debug_level == 0.

	* nscd/nscd_helper.c (get_mapping): No need to check timestamp if
	nscd_certainly_running is nonzero.

2004-10-02  Simon Josefsson  <jas@extundo.com>

	[BZ #420]
	* sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to
	make the file usable inside gnulib.

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

	* malloc/malloc.c (public_vALLOc): Add missing use of hooks.
	(public_pVALLOc): Likewise.

	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
	group the caller provided unless there is a real problem.

	* posix/bug-glob1.c (prepare): Fix creation of symlink.

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

	* posix/Makefile: Add rules to build and run bug-glob1.
	* posix/bug-glob1.c: New file.

	* iconv/iconv_prog.c (main): Print progress information to stderr.

	* nscd/nscd.c (termination_handler): Reset timestamp so that
	clients immediately stop using the database.

	* nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last
	parameter.
	(__nscd_drop_map_ref): Change second parameter to be a reference to
	a variable.  Update variable when cycle count changed.
	* nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too.
	* nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref.  Reinitialize
	all variables and avoid memory leak in case of retries.
	* nscd/nscd_getgr_r.c: Likewise.
	* nscd/nscd_gethst_r.c: Likewise.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd_initgroups.c: Likewise.

	* nscd/nscd.h: Add declaration of addinitgroups and
	readdinitgroups.

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

	* nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie.
	(CFLAGS-initgrcache.c): Set to -fexceptions.

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

	* sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust
	readdir results; for symlinks or files of unknown type check using
	stat whether the file exists.

	* posix/tst-gnuglob.c (find_file): Handle leading "./".  Fix
	recognition of files.

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

	* time/tzfile.c (tzfile_mtime): New variable.
	(__tzfile_read): Reread the file if mtime is different.

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

	* sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim):
	Handle +inf/+inf.
	* sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.

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

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for
	testing result of __nscd_get_map_ref.

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

	* sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf.
	* sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise.
	* sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise.

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

	* grp/initgroups.c: Move compat_call implementation...
	* grp/compat-initgroups.c: ...to here.  New file.
	* grp/Makefile (distribute): Add compat-initgroups.c.
	(CFLAGS-initgroups.c): Add -DUSE_NSCD=1.
	* mscd/initgrcache.c: New file.
	* nscd/nscd_initgroups.c: New file.
	* nscd/Makefile (routines): Add nscd_initgroups.
	(nscd-modules): Add initgrcache.
	* nscd/cache.c (prune_cache): Add support for INITGROUPS entries.
	* nscd/connections.c: Handle INITGROUPS requests.
	* nscd/nscd-client.h: Define INITGROUPS, initgr_response_header.
	Add initgrdata element to struct datahead.  Fix typo in comment.
	* nscd/nscd_proto.h: Declare __nscd_getgrouplist.  Fix parameter
	type in __nscd_getgrgrid_r.
	* nscd/selinux.c (perms): Add INITGROUPS entry.

	* nscd/nscd_getai.c: No need to include <sys/mman.h>.

	* sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without
	assigned addresses.
	* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
	* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
	* sunrpc/clnt_udp.c (is_network_up): Likewise.

	* nscd/nscd.c: Define getaddrinfo hidden so that it is never found
	outside.

	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags):
	Renamed from si_flags due to conflict with si_flags from <elf.h>.

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

	* nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
	of failing __nscd_get_map_ref.  Fix a few typos.

	* sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure
	SIGSETXID is not blocked.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise.
	* sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
	* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
	* sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID.

	* sunrpc/get_myaddr.c (get_myaddress): Fix test for failing
	getifaddrs call.
	* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
	* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
	* sunrpc/Makefile (xtests): Add tst-getmyaddr.
	* sunrpc/tst-getmyaddr.c: New file.

	* malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to
	disable all checking.

	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add
	support to get this value.

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

	* io/utime.h (utime): Allow second argument to be NULL.

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

	* sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP
	address and AI_CANONNAME is set, return copy of NAME as ai_canonname.

2004-09-27  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace
	static inline by auto inline, add always_inline attribute.
	(elf_machine_rel): Likewise.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	(elf_machine_lazy_rela): Likewise.
	(elf_machine_rel_relative): Likewise.

2004-09-27  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases.
	* sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t.
	* sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER.
	Otherwise isvectordef will loop infinitely if typedef hyper int64_t
	is seen.
	(unsigned_dec): Use "u_quad_t" for similar reasons.
	* sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t.

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

	* sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit
	twiddling in last change.

	* posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED.

	[BZ #409]
	* posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
	* stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
	* sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
	[WCONTINUED] (__WIFCONTINUED): New macro.
	(__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
	branches.

	* sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to
	all three syscall uses, not just one!

2004-09-26  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue.
	* sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points
	to 16 byte boundaries.

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

	* elf/readlib.c (process_file): Before complaining about too-short
	file, check that it potentially be an ELF file.  Also complain about
	empty files.  [BZ #151].

	* scripts/test-installation.pl: Fix ld.so recognition for new
	LD_TRACE_LOADED_OBJECTS output format.
	Patch by <jsberg04+computing.glibc@ftml.net>  [BZ #407].

	* elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of
	environment.  [BZ #384]

	* sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl.
	* sunrpc/get_myaddr.c (get_myaddress): Likewise.
	* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
	* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.  Change interface
	to avoid buffer overrun and remove now useless parameters.
	(clnt_broadcast): Adjust caller.  [BZ #381].

	* sysdeps/generic/s_fdim.c: Handle +inf/+inf
	* sysdeps/generic/s_fdimf.c: Likewise.
	* sysdeps/generic/s_fdiml.c: Likewise.
	* sysdeps/i386/i686/fpu/s_fdim.S: Likewise.
	* sysdeps/i386/i686/fpu/s_fdimf.S: Likewise.
	* sysdeps/i386/i686/fpu/s_fdiml.S: Likewise.
	* sysdeps/powerpc/fpu/s_fdim.c: Likewise.
	* sysdeps/powerpc/fpu/s_fdimf.c: Likewise.
	* sysdeps/x86_64/fpu/s_fdiml.S: Likewise.
	* math/libm-test.inc (fdim_test): Add test case.  [BZ #376].

	* sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE
	for compilers without __GLIBC_HAVE_LONG_LONG.  [BZ #362]

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
	requirement on socktype and protocol.
	(gaih_inet): If numeric port number is given, return records for all
	possible socket types.
	* posix/tst-getaddrinfo2.c: New file.
	* posix/Makefile (tests): Add tst-getaddrinfo2.  [BZ #358]

2004-09-25  Ulrich Drepper  <drepper@redhat.com>

	* locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE
	data where _nl_value_type_LC_CTYPE does not contain the type
	information.  Add range checks.
	Reported by John Lumby <johnlumby@hotmail.com> [BZ #356].

	* libio/vasprintf.c (_IO_vasprintf): Fix condition to decide
	whether to realloc or not.
	Reported by Pavel Kankovsky <peak@argo.troja.mff.cuni.cz> [BZ #346].

	* intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
	* intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
	decided < 0.
	* intl/finddomain.c (_nl_find_domain): Likewise.
	* intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
	are done.  First set to -1 to signal initialization is ongoing.
	Protect against concurrent callers with recursive lock.
	* intl/finddomain.c (_nl_find_domain): Protect calls to
	_nl_make_l10nflist.  [BZ #322]

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of
	source address fails, initialized source_addr_len field so that
	duplicate address recognition does not copy junk.

2004-09-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second
	result declaration.

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

	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace.

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

	* misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
	opened.

	* nis/ypclnt.c (do_ypcall): Add one missing unlock.  Simplify the
	code a bit.

	* misc/daemon.c (daemon): Define errno in case /dev/null is not
	the correct device.

	* nis/ypclnt.c (yp_bind_file): Optimize a bit.  Minimal cleanups.

2004-09-23  Andreas Jaeger  <aj@suse.de>

	* locale/weight.h (findidx): Remove static, it's not supported
	anymore with GCC 4.0 in a block scope.
	* locale/weightwc.h (findidx): Likewise.
	* posix/regcomp.c (seek_collating_symbol_entry): Likewise.
	(lookup_collation_sequence_value): Likewise.
	(build_range_exp): Likewise.
	(build_collating_symbol): Likewise.
	* iconv/iconvconfig.c (write_output): Likewise.
	* elf/do-rel.h (elf_dynamic_do_rel): Likewise.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove
	static, add always_inline attribute.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.

	* elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend
	on !RESOLVE so that it's not defined in local scope.

2004-09-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define.

2004-09-23  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag
	and BLK* ioctls with linux kernel headers.

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

	* sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
	* elf/dl-object.c (_dl_new_object): Add new parameter mode.  If mode
	has RTLD_DEEPBIND set add local searchlist before global scope.
	* sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
	* elf/rtld.c: Adjust callers of _dl_new_object.
	* elf/dl-load.c: Likewise.
	(_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
	for DF_SYMBOLIC.
	* elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
	_dl_map_object_deps.
	* elf/tst-deep1.c: New file.
	* elf/tst-deep1mod1.c: New file.
	* elf/tst-deep1mod2.c: New file.
	* elf/tst-deep1mod3.c: New file.
	* elf/Makefile: Add rules to build and run new tests.

	* elf/dl-deps.c: Pretty printing.

2004-09-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name
	argument to numbers from syscall names.
	(INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr.
	(INTERNAL_SYSCALL_NCS): Renamed from...
	(INTERNAL_SYSCALL_1): ... this.  Use INTERNAL_SYSCALL_NCS.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
	(INTERNAL_SYSCALL_NCS): Define.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
	(INTERNAL_SYSCALL_NCS): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]):
	Change name argument to numbers from syscall names.
	(INLINE_SYSCALL, INTERNAL_SYSCALL): Adjust.
	(INTERNAL_SYSCALL_NCS): Define.

2004-09-22  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (malloc_printerr): Use syslog if writev failed.

	* string/string.h: Add __nonnull annotations.
	* stdlib/stdlib.h: Likewise.

2004-09-20  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL):
	Renamed to ...
	(DO_INLINE_SYSCALL_NCS): This.
	(DO_INLINE_SYSCALL): New.
	(INLINE_SYSCALL): Updated.
	(INTERNAL_SYSCALL_NCS): Updated.

2004-09-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/sprof.c (load_shobj): Add support for reading symbol table
	from debuginfo file.

	* elf/ldd.bash.in: Fix syntax errors.

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

	* sysdeps/unix/sysv/linux/dl-execstack.c
	(_dl_make_stack_executable): Remove some duplication.

	* nscd/nscd.c (options): Mark S option as hidden.
	(parse_opt): When S option is used, print warning message.
	* nscd/grpcache.c (adgrptbyX): Don't handle secure mode.
	* nscd/hstcache.c (addhstbyX): Don't handle secure mode.
	* nscd/aicache.c (addhstaiX): Don't handle secure mode.
	* nscd/pwdcache.c (addpwbyX): Don't handle secure mode.

2004-09-20  Roland McGrath  <roland@frob.com>

	* elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN
	in initializer #if defined.

2004-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #391]
	* stdlib/getsubopt.c: Merge fixes from gnulib.
	(__strchrnul) [!_LIBC]: Define and include "strchrnul.c".
	(getsubopt): Use prototypes, not K&R style.
	Fix bug: memcmp(A,B,N) was being invoked on a memory block B
	whose size might be smaller than N.  Use strncmp to avoid the bug.

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

	* configure.in: If selinux has not explictly been requested, don't
	comment on it missing.

	* elf/dl-load.c: Define __stack_prot.
	* sysdeps/unix/sysv/linux/dl-execstack.c: Don't define
	__stack_prot here, just declare it.

2004-09-20  Jakub Jelinek  <jakub@redhat.com>

	* configure.in (libc_cv_z_relro): Only set to yes if linker script
	contains DATA_SEGMENT_RELRO_END.

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

	* elf/dl-load.c (_dl_map_object_from_fd): Add some error checking.
	Reorder code slightly.
	* elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH]
	is non-null, _dl_setup_hash will do that.

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

	* sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call
	callback to set IDs in all other threads as well.
	* sysdeps/unix/sysv/linux/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
	* sysdeps/unix/sysv/linux/setuid.c: New file.
	* sysdeps/unix/sysv/linux/setgid.c: New file.
	* sysdeps/unix/sysv/linux/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/setregid.c: New file.
	* sysdeps/unix/sysv/linux/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS.
	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version.
	* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid
	and setresuid.
	* nscd/aicache.c: Use pthread_seteuid_np instead of seteuid.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.

	* resolv/res_mkquery.c (res_nmkquery): Fix typo.

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

	* sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag
	from memory.
	* elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to
	__stack_flags.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
	gethostbyname3_r if we are not looking for the canonical name.

	* resolv/res_mkquery.c (res_nmkquery): Randomize request ID every
	time.

2004-09-18  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to
	system call.

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

	* include/link.h (struct link_map): Add l_used element.
	* sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
	* elf/rtld.c (process_dl_debug): Recognize unused.
	(dl_main): When unused debug flag is set check for unused direct
	dependencies.
	When printing dependencies and SONAME starts with /, omit the SONAME =>
	part.
	* elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
	symbol has been found as used.
	* elf/ldd.bash.in: Add -u option.

2004-09-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
	Do nothing if __NR_set_tid_address is not defined.  [BZ #390]

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

	* sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function
	in case it is available.

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

	* nscd/nscd.c (parse_opt): Write arg string instead of (void *)
	key to the socket.

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

	* misc/sys/cdefs.h: Define __nonnull using nonnull function attribute
	for gcc 3.3 and higher.
	* io/fcntl.h: Add __nonnull where appropriate.
	* io/ftw.h: Likewise.
	* io/utime.h: Likewise.
	* io/sys/poll.h: Likewise.
	* io/sys/sendfile.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/sys/statvfs.h: Likewise.
	* posix/unistd.h: Likewise.
	* catgets/nl_types.h: Likewise.
	* crypt/crypt.h: Likewise.
	* debug/execinfo.h: Likewise.

2004-09-16  Ulrich Drepper  <drepper@redhat.com>

	* posix/glob.h: Remove cruft to make header usable outside glibc.
	The maintenance headache is too big.

	* configure.in: Add test for required SELinux features.
	* config.make.in: Add have-selinux entry.
	* config.h.in: Add HAVE_SELINUX entry.
	* nscd/Makefile (nscd-modules): Add selinux.
	(CFLAGS-selinux.c): Add -fpie.
	Define selinux-LIBS and use in link line.
	* nscd/connections.c (handle_request): Check access SELinux permissions
	before processing request.
	* nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread.
	* nscd/nscd_stat.c: Transmit and print AVC statistics.
	* nscd/selinux.c: New file.
	* nscd/selinux.h: New file.
	Patch mostly by Matthew Rickard <mjricka@epoch.ncsc.mil>.

2004-09-16  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap
	instead of munmap.

	* nscd/Makefile (CFLAGS-aicache.c): Set to -fpie.

2004-09-16  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Check
	__nss_not_use_nscd_hosts variable if nscd should be used or not.

2004-09-16  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_proto.h: Define NSS_NSCD_RETRY.
	Add __nscd_getai prototype.
	* nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY.
	* nscd/nscd-client.h: Remove __nscd_getai prototype.
	* nscd/nscd_getai.c: Include nscd_proto.h.

	* elf/ldd.bash.in: Add support for SELinux environments.
	Patch by Stephen Smalley <sds@epoch.ncsc.mil>.

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

	* configure.in (--with-headers): Let argument contain a : separated
	list of directories to use, not just one.
	* configure: Regenerated.

2004-09-15  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/fpu/libm-test-ulps: Update.
	* scripts/data/c++-types-alpha-linux-gnu.data: New file.

2004-09-15  Ulrich Drepper  <drepper@redhat.com>

	* nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also
	get ttl and canonical name.  Use these two values.
	* resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns.
	* resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters.
	If nonnull fill with TTL and pointer to canonical name respectively.
	(_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r.
	(_nss_dns_gethostbyname2_r): Just wrapper around
	_nss_dns_gethostbyname3_r.
	(_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r.
	Take two new parameters which as passed to getanswer_r.

	* nscd/Makefile (rountines): Add nscd_getai.
	(nscd-modules): Add aicache.
	* nscd/aicache.c: New file.
	* nscd/nscd_getai.c: New file.
	* nscd/cache.c (prune_cache): Handle GETAI request type.
	* nscd/connections.c: Add GETAI support in request handling.
	* nscd/nscd-client.h (request_type): Add GETAI.
	Define ai_response_header and struct nscd_ai_result types.
	(struct datahead): Add aidata field.
	Declare __nscd_getai.
	* nscd/nscd.c: Add getaddrinfo definition to catch problems.
	* nscd/nscd.h: Declare addhstai and readdhstai.

	* sysdeps/posix/getaddrinfo.c: Add support for using cached results.
	* posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD.

	* nscd/nscd-client.h  (struct datahead): Use uint8_t instead of bool.

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

	* misc/sys/cdefs.h: Remove debugging text from __P and __PMT.

2004-09-13  Ulrich Drepper  <drepper@redhat.com>

	* misc/sys/cdefs.h: Restore old definition of __P.
	* csu/munch.awk: Remove uses of __P and __PMT.
	* gmon/gmon.c: Likewise.
	* hesiod/hesiod.h: Likewise.
	* include/stdio.h: Likewise.
	* io/fts.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/libioP.h: Likewise.
	* libio/fileops.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/libio.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/oldfileops.c: Likewise.
	* libio/oldstdfiles.c: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* libio/wgenops.c: Likewise.
	* libio/oldiopopen.c: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/getusershell.c: Likewise.
	* nis/rpcsvc/ypupd.h: Likewise.
	* posix/fnmatch.h: Likewise.
	* posix/glob.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* resolv/resolv.h: Likewise.
	* resolv/inet_net_ntop.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* resolv/res_init.c: Likewise.
	* resolv/nss_dns/dns-network.c: Likewise.
	* stdio-common/vfprintf.c: Likewise.
	* stdio-common/reg-printf.c: Likewise.
	* sysdeps/generic/chflags.c: Likewise.
	* sysdeps/generic/fchflags.c: Likewise.
	* sysdeps/generic/glob.c: Likewise.
	* sysdeps/generic/printf_fphex.c: Likewise.
	* sysdeps/generic/memcmp.c: Likewise.
	* sysdeps/generic/memcopy.h: Likewise.
	* sysdeps/generic/morecore.c: Likewise.
	* sysdeps/generic/sstk.c: Likewise.
	* sysdeps/posix/sigvec.c: Likewise.
	* sysdeps/posix/ttyname_r.c: Likewise.
	* sysdeps/standalone/arm/bits/errno.h: Likewise.
	* sysdeps/standalone/standalone.h: Likewise.
	* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
	* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/sigaction.c: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/getdents.c: Likewise.
	* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
	* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
	* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
	* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
	* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
	* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
	* sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
	* time/tzset.c: Likewise.
	* time/strftime_l.c: Likewise.
	* time/strptime_l.c: Likewise.
	* crypt/md5.h: Likewise.

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

	* configure.in: Support GCC 4.x.
	* configure: Regenerated.

2004-09-13  Thorsten Kukuk  <kukuk@suse.de>

	* nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services.

	* nscd/nscd.init: Fix path to socket.

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

	* nscd/nscd_helper.c (get_mapping): Correctly check cmsg length.
	Avoid file descriptor leak in case of size mismatch.

	* nscd/nscd-client.h: Fix database structure layout for biarch.
	* nscd/mem.c (gc): Add casts to avoid warnings.

	* nss/getent.c: Don't preconstruct help message.  Do it only when
	needed.

	* locale/programs/locale.c: Simplify help message printing.

2004-09-12  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls
	missing in last change.

2004-09-11  Thorsten Kukuk  <kukuk@suse.de>

	* nis/nss_compat/compat-grp.c: Check that buflen is greater zero
	before writing data into the buffer with negative offset.
	* nis/nss_compat/compat-initgroups.c: Likewise.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c Likewise.

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

	* misc/syslog.c (vsyslog): Fix copying of PID in case of
	out-of-memory situation.  [BZ #365].

	* sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
	__THROW in inline function definitions.

	* posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK.
	* posix/spawnattr_setflags.c: Check whether any unknown bit is set
	in FLAGS parameter and fail if this is the case.
	* sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is
	set.

	* nscd/pwdcache.c (cache_addpw): Sync also negative results to disk.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/hstcache.c (cache_addhst): Likewise.

2004-09-11  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]:
	Set _dl_phdr and _dl_phnum.
	(init1): When bootstrap task, bail early and never examine *D.

2004-09-11  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]:
	Cast THR, SEL and DESC to `void'.

2004-09-11  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (nscd_run): Call setup_thread only for enabled
	databases.

	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr.

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

	* nscd/nscd.c (pagesize_m1): New variable.
	(main): Initialize it.
	* nscd/nscd.h: Declare pagesize_m1.
	* nscd/hstcache.c: Pass correctly aligned address to msync.
	* nscd/grpcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.

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

	* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement
	__nwaiters.  If pthread_cond_destroy has been called and this is
	the last waiter, signal pthread_cond_destroy caller and	avoid
	using the pthread_cond_t structure after unlock.
	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.

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

	* sysdeps/unix/sysv/linux/kernel-features.h: Don't define
	__ASSUME_CLONE_STOPPED.

2004-09-10  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and
	__asm__ for C++.  [BZ #377]

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

	* nscd/nscd_stat.c: Improve output by also printing .shared and
	.persistent.

	* nscd/connections.c: Allow cache sharing to be really disabled.

2004-09-10  Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c (_int_free): Only do arena boundary check for
	contiguous arenas.

2004-09-10  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>

	* stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken
	instruct operands.
	* elf/elf.h: Add R_M32R_* relocs.

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

	* misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2
	seems not to support the nothrow attribute.  Use it only for gcc
	3.3 and higher.

	* malloc/hooks.c (top_check): Print top chunk corruption as normal
	error message.

	* malloc/malloc.c (malloc_printerr): Don't make informational
	message look like error message.

2004-09-09  Andreas Jaeger  <aj@suse.de>

	* nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie.

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

	* sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed.

	* malloc/malloc.c (_int_free): Add inexpensive double free and
	memory corruption tests.
	(malloc_printf_nc): Renamed to malloc_printerr.  Second parameter
	is no format string anymore.  Don't use stdio.  Adjust all callers.
	* malloc/hooks.c: Adjust malloc_printf_nc callers.

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

	* malloc/mcheck.c: Don't use __P.
	Use prototypes definitions for static functions.

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

	* sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW.

2004-09-08  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd-client.h: Add a few #includes.

	* nscd/Makefile (nscd-modules): Add nscd_setup_thread.
	* nscd/connections.c (nscd_run): Call setup_thread for maintenance
	threads.
	* nscd/nscd-client.h (struct database_pers_head): Add
	nscd_certainly_running field.
	* nscd/nscd.h: Declare setup_thread.
	* nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
	nscd_certainly_running is nonzero.
	* sysdeps/generic/nscd_setup_thread.c: New file.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.

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

	* nscd/connections.c: Implement r/o sharing of nscd's cache with client
	processes via shared memory.
	* nscd/nscd-client.h: Likewise.
	* nscd/nscd.h: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/nscd_getgr_r.c: Likewise.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd_gethst_r.c: Likewise.
	* nscd/nscd.conf: Add new config parameters.
	* nscd/Makefile (aux): Add nscd_helper.
	* nscd/nscd_helper.c: New file.
	* nscd/mem.c (gc): Indicate beginning and end of the gc cycle.

	* nscd/hstcache.c: Simplify a lot.  We cache only the request itself,
	no derived information.
	* connections.c (nscd_init): Fix bug in testing size of the persistent.

	* nis/Makefile (aux): Add nis_hash.
	* nis/nis_hash.c: New file.  Split out from nis_util.c.
	* nis/nis_util.c: Move __nis_hash code in separate file.

	* csu/tst-atomic.c: Improve atomic_increment_val test which would
	not have found a ppc bug.

	* sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes.

	* malloc/arena.c: Remove __MALLOC_P uses.
	* malloc/malloc.c: Likewise.

	* malloc/mtrace.c: Remove __P uses.
	* malloc/mcheck-init.c: Likewise.

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

	* sysdeps/powerpc/powerpc64/configure.in: New file.
	* config.h.in (USE_PPC64_OVERLAPPING_OPD): Add.
	* configure.in (HAVE_ASM_GLOBAL_DOT_NAME): Remove.
	* sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
	(OPD_ENT, BODY_LABEL, ENTRY_1, ENTRY_2, END_2, DOT_PREFIX,
	BODY_PREFIX): Define.
	(ENTRY, DOT_LABEL, END, TRACEBACK, END_GEN_TB, EALIGN): Support
	HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols,
	USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries.
	* sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h.
	(TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros.

2004-09-07  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.h: Don't define __THROW if it is already defined.

	* sysdeps/powerpc/bits/atomic.h (atomic_increment): Define.
	(atomic_decrement): Define.

	* sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and
	atomic_decrement_val.
	* sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise.
	* sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise.

	* csu/tst-atomic.c (do_test): Add tests of atomic_increment_val
	and atomic_decrement_val.

	* include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
	and atomic_delay is not already defined.
	* sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
	* sysdeps/x86_64/bits/atomic.h: Likewise.

	* miscd/sys/cdefs.h (__NTH): New macro.
	(__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
	(__REDIRECT_NTH): New macro.
	* argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
	* ctype/ctype.h: Likewise.
	* dirent/dirent.h: Likewise.
	* io/fcntl.h: Likewise.
	* io/sys/sendfile.h: Likewise.
	* io/sys/stat.h: Likewise.
	* io/sys/statfs.h: Likewise.
	* io/sys/statvfs.h: Likewise.
	* libio/bits/stdio.h: Likewise.
	* misc/sys/mman.h: Likewise.
	* posix/unistd.h: Likewise.
	* resource/sys/resource.h: Likewise.
	* rt/aio.h: Likewise.
	* signal/signal.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/generic/inttypes.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

	* sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.

	* resolv/gethnamaddr.c (getanswer): Remove __P use in variable
	definition.

	* io/sys/poll.h: Remove __THROW from poll prototype, it's a
	cancellation point.

	* io/fts.c (fts_open): Remove uses of __P.

	* include/stdlib.h: No need to use __THROW in this header.

2004-09-06  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD
	validity, since __assert_fail gets to here anyway.  Just fail.

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

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with
	AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6
	addresses.

2004-09-05  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/fpu/fraiseexcpt.c: Remove file.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_IEEE_RAISE_EXCEPTION): New.
	* sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file.
	* sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file.
	* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it.
	* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.

2004-09-05  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/div.S: Save and restore FPCR around fp operations.
	* sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S,
	sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S,
	sysdeps/alpha/remqu.S: Likewise.
	* sysdeps/alpha/div_libc.h (FRAME): Increase to 64.

2004-09-05  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and
	GETHOSTBYADDRv6 requests.

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

	* nscd/pwdcache.c (cache_addpw): Use correct key length in
	cache_add calls.
	* nscd/grpcache.c (cache_addgr): Likewise.

2004-09-03  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV
	to `dtv_t *'.

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

	* nscd/nscd.c (parse_opt): Use writev instead of two write for
	invalidate command.

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

	* nscd/connections.c (nscd_run): Check early for invalid request types.

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

	* sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
	(INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
	(THREAD_SELF): New macro.

2004-09-02  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #357]
	* stdlib/tst-setcontext.c (test_stack): Added test for stack clobber.
	(main): Call test_stack.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext): Push stack frame then save parms in local frame.
	Improve instruction scheduling.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext): Likewise.

2004-09-01  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use
	__builtin_offsetof.

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

	[BZ #361]
	* posix/fnmatch_loop.c (FCT): For backslash between brackets, branch
	to normal_bracket after fetching the next character.
	* posix/tst-fnmatch.input: Add 25 new tests.
	Reported by Markus Oberhumer <markus@oberhumer.com>.

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

	* elf/rtld.c (dl_main): First check existence of ld.so.preload
	with access.

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

	* sysdeps/unix/sysv/linux/bits/waitflags.h
	(WSTOPPED, WEXITED, WCONTINUED, WNOWAIT): New macros.
	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
	New macro.
	* sysdeps/unix/sysv/linux/waitid.c: New file.  Use new syscall when
	available, or fall back to the waitpid-based generic code.

2004-08-14  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc
	clobber the `ebp' register.
	* sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
	Reverts change from 2004-05-07 by Jeroen Dekkers.

	* sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
	NEWSP from `void *' to `int *'.  Changed all casts accordingly.

2004-08-31  Jakub Jelinek  <jakub@redhat.com>

	* wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden
	before return type.
	* locale/localename.c (__current_locale_name): Likewise.

2004-08-30  Roland McGrath  <roland@frob.com>

	* scripts/extract-abilist.awk: If `lastversion' variable defined, omit
	later sets from output.
	* Makerules (check-abi): Pass option to set that with value of
	LIB-abi-frozen variable if one is set.

	* abilist/libcidn.abilist: New file (empty).

2004-08-30  Jakub Jelinek  <jakub@redhat.com>

	* posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If
	not __USE_XOPEN2K, use the Unix98 mandated values.

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

	* configure.in (usetls): Default to yes.
	* configure: Regenerated.

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

	* configure.in (add_ons_automatic): New variable, set to yes or no
	indicating --enable-add-ons with no explicit list.
	(running add-on fragments): Allow a fragment to modify $libc_add_on
	and have that affect its place in the list of add-ons to use.
	* configure: Regenerated.

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

	* nscd/cache.c: Major rewrite.  The data is now optionally kept in
	a mmaped memory region which is automatically mirrored on disk.
	This implements persistent data storage.  The Memory handled
	needed to be completely revamped, it now uses a garbage collection
	mechanism instead of malloc.
	* nscd/connections.c: Likewise.
	* nscd/nscd.c: Likewise.
	* nscd/nscd.h: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/nscd_stat.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c:: Likewise.
	* nscd/pwdcache.c:: Likewise.
	* nscd/Makefile: Add rules to build mem.c.
	* nscd/mem.c: New file.
	* nscd/nscd.conf: Describe new configuration options.

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

	* sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
	NO_SGIDEFS_H isn't defined.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.

	* sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and
	_MIPS_SIM.
	* sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.

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

	* nscd/connections.c (nscd_run): atomic_increment was not missing.

	* sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval.
	Patch by Greg Schafer.

2004-08-25  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind
	instead of $31.  Zero $15.
	* sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise.

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

	* sysdeps/powerpc/powerpc64/bits/atomic.h
	(__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
	is negative.
	(__arch_compare_and_exchange_bool_32_rel): Likewise.

	* nscd/connections.c: Make socket nonblocking so that threads
	don't get stuck on accept.  Fix locking.

	* nscd/grpcache.c (cache_addgr): Use copy of original key in hash
	entry with alternative key.
	* nscd/pwdcache.c (cache_addpw): Likewise.

2004-08-25  Richard Sandiford  <rsandifo@redhat.com>

	* sysdeps/mips/dl-machine.h (_dl_start_user): Don't set
	__libc_stack_end.

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

	* sysdeps/gnu/netinet/udp.h: Cosmetic changes.  Remove unnecessary
	__BEGIN_DECLS/__END_DECLS.

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

	[BZ #341]
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define.
	* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise.

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

	* malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c.
	(check_action): Likewise.
	When printing error messages, use malloc_printf_nc now instead of
	fiddling with the streams cancellation flag in every place.
	* malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition.  Change
	default to 3.
	(check_action): New variable.
	(unlink): Print error message and eventually terminate in case list
	is corrupted.
	(malloc_printf_nc): New function.  Use it in _int_free.
	Change proposed by Arjan van de Ven.

	* dlfcn/Makefile: Don't build eval.c anymore.

2004-08-20  Roland McGrath  <roland@frob.com>

	* csu/Makefile ($(objpfx)version-info.h): Use printf in place
	of echo -e for POSIX.2 portability.
	Reported by Paul Jarc <prj@po.cwru.edu>.

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

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in
	list generation.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use
	getcanonname_r function if AI_CANONNAME flag is not set in
	request.

	* nis/nss_compat/compat-initgroups.c (getgrent_next_nss):
	Initialize mysize with limits only if latter is >= 0.  Use mysize
	in malloc call.

2004-08-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
	to avoid warning.

	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
	status to NSS_STATUS_UNAVAIL.

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

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
	cannoname lookup since it has the FQDN even if the original NAME
	value has not.

2004-08-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter
	pointer in new variable ORIG_NAME and use this pointer when
	determination of canonical name failed, not the possibly IDN
	translated value of NAME.

2004-08-17  Ulrich Drepper  <drepper@redhat.com>

	* resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT.
	* resolv/res_init.c (res_setoptions): Recognize ip6-dotint option.
	Reset RES_NOIP6DOTINT flag in this case..

	* sysdeps/posix/getaddrinfo.c: Fix memory handling of
	ai_canonname.

2004-08-16  Ulrich Drepper  <drepper@redhat.com>

	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use
	CNAME records, we better follow the chain of CNAME records which
	can be accomplished with A/AAAA lookups.

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

	* sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who):
	Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro.
	* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.

2004-08-15  Roland McGrath  <roland@frob.com>

	* sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to
	this, not ...
	(static-only-routines): ... this.
	* sysdeps/ia64/Makefile: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
	* sysdeps/sparc/sparc64/Makefile: Likewise.
	* sysdeps/x86_64/Makefile: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Revert copyright terms change.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.c: Likewise.

	* csu/elf-init.c: Update copyright terms including special exception
	for these trivial files, which are statically linked into executables
	that use dynamic linking for the significant library code.
	* io/fstat.c: Likewise.
	* io/fstat64.c: Likewise.
	* io/lstat.c: Likewise.
	* io/lstat64.c: Likewise.
	* io/stat.c: Likewise.
	* io/stat64.c: Likewise.
	* stdlib/atexit.c: Likewise.
	* sysdeps/alpha/elf/initfini.c: Likewise.
	* sysdeps/alpha/elf/start.S: Likewise.
	* sysdeps/arm/elf/start.S: Likewise.
	* sysdeps/cris/elf/start.S: Likewise.
	* sysdeps/generic/initfini.c: Likewise.
	* sysdeps/generic/mknod.c: Likewise.
	* sysdeps/hppa/elf/initfini.c: Likewise.
	* sysdeps/hppa/elf/start.S: Likewise.
	* sysdeps/i386/elf/start.S: Likewise.
	* sysdeps/i386/i686/hp-timing.c: Likewise.
	* sysdeps/ia64/elf/initfini.c: Likewise.
	* sysdeps/ia64/elf/start.S: Likewise.
	* sysdeps/ia64/hp-timing.c: Likewise.
	* sysdeps/m68k/elf/start.S: Likewise.
	* sysdeps/mach/start.c: Likewise.
	* sysdeps/mips/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/elf/start.S: Likewise.
	* sysdeps/s390/s390-32/initfini.c: Likewise.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.
	* sysdeps/s390/s390-64/initfini.c: Likewise.
	* sysdeps/sh/elf/initfini.c: Likewise.
	* sysdeps/sh/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
	* sysdeps/standalone/i386/start.S: Likewise.
	* sysdeps/standalone/i960/start.S: Likewise.
	* sysdeps/standalone/m68k/m68020/start.S: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/sysv/aix/start.s: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/x86_64/elf/initfini.c: Likewise.
	* sysdeps/x86_64/elf/start.S: Likewise.

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

	[BZ #227]
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_BRK_PAGE_ROUNDED): New macro.
	* sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
	[! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
	the partial page after the dynamic linker's own data segment.

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

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of
	v4-mapped addresses a bit.
	(gethosts): Move alloca out of macro, so that it is done only once.

	* sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
	addr to avoid casts.
	(gethosts): Removed.
	(gethosts2): Renamed to gethosts.  Make it usable for family !=
	AF_UNSPEC.  Fix AI_V4MAPPED.
	(gaih_inet): Remove use of old gethosts.  Always use what used to be
	gethosts2.  If entry is found, try to use the same NSS module's
	getcanonname_r function.  Use gethostbyaddr for AI_CANONNAME only
	if getcanonname_r was not available.  Fix filtering of AI_V4MAPPED
	addresses.  Numerous cleanups.
	* resolv/nss_dns/dns-canon.c: New file.
	* resolv/Makefile (libnss_dns-routines): Add dns-canon.
	* resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.

	* elf/Makefile: Add rules to build and run tst-dlopenrpath.
	* elf/tst-dlopenrpath.c: New file.
	* elf/tst-dlopenrpathmod.c: New file.

	* intl/tst-gettext.sh: Adjust for change of de.po file to UTF-8.
	* intl/tst-gettext.c: Likewise.

	* nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses.

	* nss/getent.c: Allow queries for getaddrinfo with AF_INET and
	AF_INET6.

2004-08-14  Ulrich Drepper  <drepper@redhat.com>

	* po/de.po: Update from translation team.

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

	* sysdeps/mach/configure: Regenerated.
	* sysdeps/mach/hurd/configure: Regenerated.

2004-08-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is
	performed, make sure it is still the first entry after sorting
	that has the ai_canonname information.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname
	only in one entry.

2004-08-13  Daniel Jacobowitz  <dan@debian.org>

	* scripts/output-format.sed: Handle default case of three-argument
	OUTPUT_FORMAT.

	* sysdeps/arm/machine-gmon.h (mcount_internal): Mark as
	__attribute_used__.

2004-08-13  Ulrich Drepper  <drepper@redhat.com>

	* nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the
	first returned entry.  Print name only if not NULL.

	* nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct
	__netgrent object passed in instead of global variables.
	Optimize.
	* nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data
	in struct __netgrent object passed in instead of global variables.
	* inet/netgroup.h (struct __netgrent): Add service_user field.
	Move cursor in anonymous union, add new field location to that
	union.
	* inet/getnetgrent_r.c: Extensive rewrite to really enable
	concurrent uset of set/get/endnetgrent and innetgr.
	Reported by Chuck Simmons.

	* inet/netgroup.h (struct name_list): Replace name pointer with
	zero-sized array.
	* inet/getnetgrent_r.c: Adjust code for change in name_list
	layout.  Numerous strdup and free calls removed.

	* elf/sprof.c (read_symbols): When comparing aliases, prefer
	non-hidden over hidden symbols and strong over weak symbols
	if both don't start with '_'.

	* malloc/malloc.c: Use strong_alias instead of weak_alias wherever
	possible.

2004-08-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
	RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly.
	* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
	Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros
	accordingly.

2004-08-11  Andreas Schwab  <schwab@suse.de>

	* resolv/res_libc.c: Move definition of __res_initstamp ...
	* resolv/res_init.c: ... here.

2004-08-10  GOTO Masanori  <gotom@debian.or.jp>

	* locale/C-time.c: Change default ERA value from NULL to "".
	* locale/tst-C-locale.c: Add test case for ERA keywords.

2004-08-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
	RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly.
	* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.

2004-08-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING,
	RLIMIT_MSGQUEUE): Add.
	(RLIMIT_NLIMITS, RLIM_NLIMITS): Adjust.
	* sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING,
	RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
	(RLIM_NLIMITS): Adjust.
	* sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING,
	RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
	(RLIM_NLIMITS): Adjust.
	* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING,
	RLIMIT_MSGQUEUE, RLIMIT_NLIMITS): Add.
	(RLIM_NLIMITS): Adjust.

2004-08-12  Jakub Jelinek  <jakub@redhat.com>

	* resolv/res_query.c (__libc_res_nsearch): Protect the debugging
	printf with #ifdef DEBUG and RES_DEBUG check.

	* sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after
	__USE_MISC #endif.
	* sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize
	declaration.
	* sysdeps/gnu/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.

2004-08-12  Ulrich Drepper  <drepper@redhat.com>

	* po/ca.po: Update from translation team.

2004-08-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for
	__getpagesize declaration.

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

	* configure.in (libc_cv_cpp_asm_debuginfo): Add missing braces around
	commands inside &&.
	Reported by Andreas Schwab <schwab@suse.de>.
	* configure: Regenerated.

	* posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL.

2004-08-11  Ulrich Drepper  <drepper@redhat.com>

	* time/tzset.c (tzset_internal): Add new parameter which is
	nonzero if called through tzset.  Use TZDEFAULT name including
	name comparison if the new parameter is zero.  This means implicit
	tzset calls will not cause files to be opened and read by tzfile.c
	all the time.

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

	* rt/tst-timer2.c (do_test): If timer_create fails, just continue.
	* rt/tst-timer4.c (do_test): If one of the timer_create calls fails,
	return 1 immediately.

	* time/tzfile.c (__tzfile_read): Free transitions only if it will
	not be reused.

	* sysdeps/ieee754/dbl-64/mpa.c: Include <sys/param.h>.
	* sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed.

	* stdio-common/tst-popen.c: Include <string.h>.

	* resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG.

	* sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn
	attribute.  Return NULL instead of calling pthread_exit at the end.

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

	* iconvdata/testdata/ISO-2022-JP-3: Regenerated.

2004-08-10  Alfred M. Szmidt  <ams@kemisten.nu>

	* sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition.

2004-08-10  Jakub Jelinek  <jakub@redhat.com>

	* libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t).
	(fwrite_unlocked): When checking if size * n is <= 8, cast each
	argument to size_t individually.  Cast n to (void) instead of
	(size_t), surround with (), return (size_t) 0 if one of n or size
	is 0.  [BZ #316]
	* stdio-common/Makefile (tests): Add tst-unlockedio.
	* stdio-common/tst-unlockedio.c: New test.

2004-08-09  Roland McGrath  <roland@frob.com>

	* manual/install.texi (Supported Configurations): Replace bug-glibc
	mention with web URL.
	* INSTALL: Regenerated.
	* locale/iso-3166.def: Likewise, in comment.
	* locale/iso-4217.def: Likewise.
	* locale/iso-639.def: Likewise.
	* posix/cpio.h: Remove bug reporting comment.

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

	* libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t)
	casts to handle funny calls with floating point argument values
	and signed values correctly and without warning.
	(fwrite_unlocked): Likewise.  [BZ #309]

	* malloc/memusage.c (me): Use creat64, not creat.
	* malloc/memusagestat.c: Fix handling of very large sizes.  [BZ #285]
	Patch by Guy Maor <guymaor@yahoo.com>.

	* elf/ldconfig.c (options): Mark parameter option names as
	translatable.  [BZ #253]  Patch by Jakub Bogusz <qboosh@pld-linux.org>.

	* iconv/gconv_charset.h (strip): Also allow comma which is what is
	used to separate options.  [BZ #194]

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

	* FAQ.in: Refer to web pages instead of bug-glibc.
	* FAQ: Regenerated.

	* time/strptime_l.c: #include <stdbool.h>, `bool' used in last change.

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

	* time/tzset.c (tzset_internal): If TZ is not set do not compare
	old and new tz value since it might be /etc/localtime in both
	cases although the file changed.  [BZ #154]
	Patch by Christian Franke <franke@computer.org>.

	* time/tzfile.c (__tzfile_read): Determine dev/ino of file.
	Compare with values of previously opened file.  Don't do anything
	is they match.

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

	* elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
	reset loader before the actual loading.
	* elf/dl-open.c (dl_open_worker): If file name contains no path
	element determine map of caller.  Pass caller map in this case to
	_dl_map_object.  Set __RTLD_CALLMAP in mode.
	* include/dlfcn.h (__RTLD_CALLMAP): Define.  [BZ #116]
	Patch by Greg Wolodkin <greg@mathworks.com>.

	* misc/syslog.c (openlog_internal): Always try both UDP and TCP.
	[BZ #108]  Patch mainly by Bjorn Andersson <bjorn@iki.fi>.

	* configure.in: Also recognize i786. [BZ #106]
	Patch by <pluto@pld-linux.org>.

	* resolv/res_query.c (__libc_res_nsearch): Correctly test whether
	name contains any dots. [BZ #95]

	* resolv/res_send.c: Compiling with DEBUG defined works again.
	* resolv/gethnamaddr.c (dprintf): Renamed to Dprintf.  Adjust all
	callers.

	* resolv/tst-leaks.c (TIMEOUT): Define so that if no server is
	available the process is not killed. [BZ #41]

	* intl/tst-gettext.c (main): Improve some messages. [BZ #33]

	* time/strptime_l.c (__strptime_internal): Fix handling of %Ey.
	[BZ #28]

	* po/sv.po: Update from translation team.

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

	* inet/netinet/in.h: Add more const to the setipv4soucefilter,
	getsourcefilter, and setsourcefilter parameter list.
	* sysdeps/generic/setipv4sourcefilter.c: Likewise.
	* sysdeps/generic/getsourcefilter.c: Likewise.
	* sysdeps/generic/setsourcefilter.c: Likewise.
	* sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise.
	* sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise.
	* sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise.

	* po/tr.po: Update from translation team.

2004-08-06  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo.
	Reported by Paolo Bonzini.

2004-08-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add
	always_inline.
	* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup,
	elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise.

	* sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h
	before including linux/atalk.h.

	* resolv/res_libc.c: Include atomic.h.

	* intl/finddomain.c (free_mem): Rename to...
	(_nl_finddomain_subfreeres): ... this.  Add
	__libc_freeres_fn_section.
	* intl/loadmsgcat.c (_nl_unload_domain): Add
	__libc_freeres_fn_section.
	* intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
	Add attribute_hidden.
	(_nl_findomain_subfreeres): New prototype.
	* iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres.

2004-07-30  Guido Guenther  <agx@sigxcpu.org>

	* nss/getent.c (passwd_keys): Use strtoul instead of isdigit to
	test if the key is numeric or not.
	(group_keys): Likewise.

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

	* inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE,
	struct group_filter, and GROUP_FILTER_SIZE.
	* include/sys/socket.h: Declare __getsockopt.
	* sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file.
	* sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file.
	* sysdeps/unix/sysv/linux/setsourcefilter.c: New file.
	* sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211]

	* po/ko.po: Update from translation team.

2004-08-04  Jakub Jelinek  <jakub@redhat.com>

	* hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
	memset.
	(__hesiod_res_set): Free nsaddrs.

	* include/resolv.h (__res_maybe_init): Add prototype.
	* resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
	* resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
	* resolv/res_libc.c (__res_initstamp, lock): New variables.
	(res_init): Increase __res_initstamp.
	(__res_maybe_init): New function.
	* resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
	* hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
	of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
	_nss_dns_gethostbyaddr_r): Likewise.
	* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
	_nss_dns_getnetbyaddr_r): Likewise.
	* resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
	gethostbyaddr): Likewise.
	* resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
	res_isourserver, res_sendsigned, res_update, res_search,
	res_querydomain): Likewise.
	* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
	* nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
	* nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
	Likewise.

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

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
	V4-mapped IPv6 addresses and req->ai_family==AF_INET.
	Reported by A. Guru <a.guru@sympatico.ca>.

	* po/sv.po: Update from translation team.
	* po/sk.po: Likewise.
	* po/pl.po: Likewise.

2004-08-04  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input
	characters than necessary.

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

	* wcsmbs/Makefile (tests): Add tst-mbsrtowcs.
	* wcsmbs/tst-mbsrtowcs.c: New file.

	* po/fr.po: Update from translation team.

2004-08-04  Jakub Jelinek  <jakub@redhat.com>

	* resolv/inet_pton.c (inet_pton4): Disallow octal numbers.  Reported
	by A. Guru <a.guru@sympatico.ca>.  [BZ #295]

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

	* po/nl.po: Update from translation team.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4
	numeric address formats inet_addr knows.
	(getaddrinfo): Allow AI_NUMERICSERV flag.
	If neither IPv4 nor IPv6 interface is present we cannot make any
	decision for AI_ADDRCONFIG.  Fail if AI_NUMERICSERV is set and the
	string is not just a number.  Remove useless freeaddrinfo call.
	* resolv/netdb.h (AI_NUMERICSERV): Define.
	Based on a patch by a.guru@sympatico.ca.

2004-08-04  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure
	instead of trying to initialize some, but not all, fields one by
	one.
	* stdio-common/printf_size.c (printf_size): Initialize fb_info
	structure with *info instead of trying to initialize some, but not
	all, fields from it.

	* nscd/connections.c (handle_request): Check if req->type is in
	LASTDBREQ .. LASTREQ range instead of req.

	* locale/programs/linereader.c (lr_create): Initialize
	lr->return_widestr to 0.

	* elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section.
	(free_mem): Call free_slotinfo just once.

	* stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead
	of NULL.

	* locale/localeinfo.h (_nl_locale_subfreeres): New prototype.
	* locale/setlocale.c (free_category): Add __libc_freeres_fn_section.
	(free_mem): Rename to _nl_locale_subfreeres.
	* iconv/gconv_db.c: Include locale/localeinfo.h.
	(free_derivation, free_modules_db): Add __libc_freeres_fn_section.
	(free_mem): Call _nl_locale_subfreeres.
	* iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section.

2004-08-04  Roland McGrath  <roland@frob.com>

	* Makeconfig ($(common-objpfx)config.status):
	Fix typo: $(add_ons) -> $(add-ons).
	(Makeconfig-add-on): New variable.  When doing $(sysdep-makeconfigs)
	include, use black magic to get it set to an add-on's name during the
	include of the add-on's Makeconfig.

	* configure.in: Use variable name `libc_add_on' when sourcing add-on
	configure fragments, so they can refer to this.
	* configure: Regenerated.

2004-08-04  Roland McGrath  <roland@redhat.com>

	* posix/tst-waitid.c (test_child): Sleep a second before stopping.
	(do_test): Bump sleep to three seconds.
	(sigchld, check_sigchld): New functions.
	(do_test): Handle SIGCHLD and check for getting the right details.

	* posix/tst-waitid.c (do_test): Kill the child process when bailing
	out early on some failure.
	[WCONTINUED]: Test WCONTINUED functionality.

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

	* nscd/connections.c (handle_request): Print more descriptive
	message for invalid request types.

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

	* iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff.
	Always treat high as highest number in range + 1.
	* iconvdata/ibm943.c (BODY): Likewise.

2004-07-31  Bruno Haible  <bruno@clisp.org>

	* iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004.
	* iconvdata/jisx0213.c (__jisx0213_to_ucs_main,
	__jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1,
	__jisx0213_from_ucs_level2): Regenerated.
	* iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function.
	* iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from
	JISX0213_1_set.
	(JISX0213_1_2004_set): New enum value.
	(BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O.
	(BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O
	when possible, ESC $ ( Q when needed.
	* iconvdata/testdata/EUC-JISX0213: Add the 10 new characters.
	* iconvdata/testdata/EUC-JISX0213..UTF8: Update.
	* iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters.
	* iconvdata/testdata/SHIFT_JISX0213..UTF8: Update.
	* iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters.
	* iconvdata/testdata/ISO-2022-JP-3..UTF8: Update.

2004-07-22  Bruno Haible  <bruno@clisp.org>

	* iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003.

2004-07-29  David S. Miller  <davem@redhat.com>

	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy): Optimize
	better for smaller than 256 byte copies.  Also, use only one
	unrolled loop instead of two for the large copy case.

2004-07-30  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/divq.S: Save t3 before it gets clobbered.
	* sysdeps/alpha/remq.S: Likewise.
	* sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the
	new division algorithms in divl.S and divq.S respectively.

2004-07-28  GOTO Masanori  <gotom@debian.or.jp>

	* timezone/asia: Update from tzdata2004b.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

	* timezone/private.h: Update from tzcode2004b.
	* timezone/zic.c: Likewise.

2004-07-27  Ulrich Drepper  <drepper@redhat.com>

	* nscd/grpcache.c (cache_addgr): If necessary, add entry also
	under the name the user provided.
	* nscd/pwdcache.c (cache_addpw): Likewise.

2004-07-26  Roland McGrath  <roland@redhat.com>

	* sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for
	call to __waitpid.

2004-07-26  Ulrich Drepper  <drepper@redhat.com>

	* nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to
	memory leaks.

	* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for
	new buffer at the right time.
	Reported by Jakub Bogusz <qboosh@pld-linux.org>.

2004-07-25  Ulrich Drepper  <drepper@redhat.com>

	* inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter,
	getsourcefilter, setipv4sourcefilter, and setsourcefilter.
	* inet/Makefile (routines): Likewise.
	* inet/netinet/in.h: Add prototypes for getipv4sourcefilter,
	getsourcefilter, setipv4sourcefilter, and setsourcefilter.
	* sysdeps/generic/getipv4sourcefilter.c: New file.
	* sysdeps/generic/setipv4sourcefilter.c: New file.
	* sysdeps/generic/getsourcefilter.c: New file.
	* sysdeps/generic/setsourcefilter.c: New file.

2004-07-17  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
	for POWER4 machines.

2004-07-21  Jakub Jelinek  <jakub@redhat.com>

	[BZ #274]
	* stdlib/strtod_l.c (INTERNAL (__STRTOF)): Fix used >=
	BITS_PER_MP_LIMB shifting up.
	* stdlib/tst-strtod.c (main): Add new tests.

2004-07-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #282]
	* libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
	_IO_no_init.  Remove wd from struct locked_FILE.
	(_IO_wproc_jumps): Remove.
	Reported by Andrew Josey <a.josey@opengroup.org>.
	* stdio-common/Makefile (tests): Add tst-popen.
	* stdio-common/tst-popen.c: New test.

2004-07-23  Ulrich Drepper  <drepper@redhat.com>

	* posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
	_POSIX_OPEN_MAX.  Add _POSIX_HOST_NAME_MAX, _POSIX_SYMLINK_MAX,
	_POSIX_SYMLOOP_MAX, and _POSIX_RE_DUP_MAX.
	Reported by Andrew Josey.

	* include/features.h: Document _POSIX_C_SOURCE == 200112L.

	* grp/grp.h: Define gid_t if __USE_XOPEN2K is defined.
	* pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined.
	* io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t,
	off_t, time_t, and uid_t if __USE_XOPEN2K is defined.
	* signal/signal.h: Define pid_t if __USE_XOPEN2K is defined.
	* posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and
	useconds_t if __USE_XOPEN2K is defined.
	* io/utime.h: Define time_t if __USE_XOPEN2K is defined.
	* libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined.

2004-07-19  Thorsten Kukuk  <kukuk@suse.de>

	* nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
	allocate memory for large temporary variables with alloca.

2004-07-22  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility
	code must have version GLIBC_2.0.  Patch by Dwayne McConnell.

	* nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL
	pointer and zero length.

2004-07-21  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c (prune_cache): Print correct list when debugging.

2004-07-21  Jakub Jelinek  <jakub@redhat.com>

	* resolv/res_libc.c (res_init): If RES_INIT is set and
	_res.nscount > 0, call __res_nclose and free nsaddrs.
	* resolv/Makefile: Add rules to build and run tst-leaks2.
	* resolv/tst-leaks2.c: New test.

2004-07-21  Ulrich Drepper  <drepper@redhat.com>

	* intl/libintl.h: Don't define macros for C++.
	Patch by Goto Masanori.

2004-07-22  GOTO Masanori  <gotom@debian.or.jp>

	[BZ #276]
	* include/arpa/inet.h: Change inet_aton type from in_addr_t to int.
	* inet/arpa/inet.h: Likewise.
	* resolv/inet_addr.c: Likewise.

2004-07-21  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop.

2004-07-20  Roland McGrath  <roland@redhat.com>

	* configure.in (add_ons): Substitute this.  Move $add_ons handling
	after AC_CANONICAL_HOST and default setting of $machine et al.
	Don't set $subdirs from $add_ons.
	Instead, source add-on/configure fragments early on.
	(base_machine): If it's already set, don't set it based on $machine.
	(libc_config_ok): New variable, set to no.  If an add-on fragment sets
	it to yes, skip the  tuple sanity check as if --enable-hacker-mode.
	(sysnames): Try appending add-on names after machine as well.
	* config.make.in (add-ons): Set from @add_ons@ instead of @subdirs@.
	* Makeconfig ($(common-objpfx)config.status): Also depend on configure
	files in $(add_ons) dirs.

	* sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove
	definition, now in netinet/in.h proper.

2004-07-20  Alexandre Oliva  <aoliva@redhat.com>

	* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
	Sort by syscalls.  Make sure we get headers such as sgidefs.h from
	the build tree before just-installed ones.

	* sysdeps/mips/atomicity.h: Use standard names for ABI macros,
	include sgidefs.h where appropriate.
	* sysdeps/mips/dl-machine.h: Likewise.
	* sysdeps/mips/machine-gmon.h: Likewise.
	* sysdeps/mips/bits/setjmp.h: Likewise.
	* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
	* sysdeps/mips/mips64/__longjmp.c: Likewise.
	* sysdeps/mips/mips64/setjmp_aux.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
	Likewise.
	* sysdeps/unix/sysv/linux/mips/configure.in (asm-unistd.h):
	Likewise.

	* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use
	_dl_lookup_symbol_x.
	(elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error.

2004-07-20  Ulrich Drepper  <drepper@redhat.com>

	* inet/netinet/in.h: Define struct ip_mreq and struct
	ip_mreq_source.
	Define struct group_req and struct group_source_req.
	* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
	IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
	IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
	MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
	MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
	MCAST_MSFILTER.
	Define MCAST_INCLUDE and MCAST_EXCLUDE.

	* iconvdata/gconv-modules: Add alias for IBM874 [BZ #244].

2004-07-19  Jakub Jelinek  <jakub@redhat.com>

	[BZ #258]
	* math/libm-test.inc (max_value, min_value): New variables.
	(initialize): Initialize them.
	(pow_test): Add a couple of new tests.
	* sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Don't generate invalid
	exception if |y| >= 1U<<31.
	* sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Don't generate invalid
	exception if |y| >= 1L<<63.
	* sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
	If y*log2(x) overflows to +-inf, return still +inf/+0 instead of NaN.
	* sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.

2004-07-18  Ulrich Drepper  <drepper@redhat.com>

	* nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful
	lookup a bit.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/hstcache.c (cache_addhst): Likewise.

2004-07-10  GOTO Masanori  <gotom@debian.or.jp>

	* sysdeps/s390/s390-32/elf/start.S: Remove symbol _fp_hw.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.

2004-04-16  Andreas Schwab  <schwab@suse.de>

	* sysdeps/ia64/bits/atomic.h: Cast first argument of
	__sync_bool_compare_and_swap_si correct to void*.

2004-07-17  Ulrich Drepper  <drepper@redhat.com>

	* iconv/iconv_prog.c (print_known_names): Make machine-readable
	output even less cluttered.

2004-07-16  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #269]
	* setjmp/Makefile (tests): Add bug269-setjmp.
	* setjmp/bug269-setjmp.c: New file.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]:
	Store R2 from jmpbuf in callers TOC save area.
	* sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]:
	Store R2 in TOC save area.
	* sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]:
	Copy TOC save area from previous frame as R2 (TOC) in jmpbuf.

2004-07-16  Jakub Jelinek  <jakub@redhat.com>

	* locale/newlocale.c: Include bits/libc-lock.h.
	(__libc_setlocale_lock): Extern decl.
	(__newlocale): Use it.
	Reported by Ulrich Weigand <Ulrich.Weigand@de.ibm.com>.

2004-07-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove
	static inline __attribute ((always_inline)).  Don't define if
	NO_CANCELLATION.
	(__libc_fcntl): Use INLINE_SYSCALL directly instead of
	__fcntl_nocancel.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel):
	Remove static inline __attribute ((always_inline)).  Don't define
	if NO_CANCELLATION.
	(__libc_fcntl): Use INLINE_SYSCALL directly instead of
	__fcntl_nocancel.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to
	__libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0.
	Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0.
	(__libc_fcntl): Don't define if __fcntl_nocancel is a macro.

	[BZ #262]
	* sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
	for main.
	* elf/Makefile: Add rules to build and run tst-pie1.
	* elf/tst-pie1.c: New test.
	* elf/tst-piemod1.c: New file.

2004-07-14  Jakub Jelinek  <jakub@redhat.com>

	[BZ #266]
	* manual/string.texi (l64a): Note that the static buffer is 7 bytes
	long.  Rewrite example code so that it takes into account l64a output
	shorter than 6 characters.
	Reported by Julian Graham <julian.graham@aya.yale.edu>.

2004-07-14  Kaz  Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h: Don't reset _dl_starting_up here.
	(elf_machine_rela_relative): Remove unused valiable.

2004-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #263]
	* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store
	outside the buffer if the read returns 0.  __strtod_l can't set
	endp to NULL, so remove a test for that case.

2004-07-12  Roland McGrath  <roland@redhat.com>

	* manual/signal.texi (Interrupted Primitives): Make clear that
	TEMP_FAILURE_RETRY evaluates its expression as long int and compares
	it to -1 to define "failure".

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

	* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
	ldsodefs.h.
	* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
	already defined.
	* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
	already defined.

	* elf/rtld.c (print_statistics): Mark with noinline attribute.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with always_inline
	attribute.
	(elf_machine_rel_relative): Likewise.

	* include/string.h: Add libc_hidden_proto for __strtok_r and
	__strsep_g.
	* sysdeps/generic/strsep.c: Add libc_hidden_def.
	* sysdeps/generic/strtok_r.c: Likewise.
	* sysdeps/i386/strtok_r.S: Add alias for internal symbol.
	* sysdeps/i386/i686/strtok_r.S: Likewise.
	* sysdeps/x86_64/strtok_r.S: Likewise.

2004-07-09  Alexandre Oliva  <aoliva@redhat.com>

	* inet/getnetgrent_r.c (internal_setnetgrent): Make it hidden
	instead of internal-linkage, such that we can alias to it.
	(internal_endnetgrent, internal_getnetgrent_r): Likewise.

2004-07-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Move attribute
	to the front for gcc 3.5+.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
	* include/fcntl.h: Don't declare __fcntl_nocancel here if
	NO_CANCELLATION is defined.

2004-07-07  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-fini.c (_dl_fini): Add nloaded variable, load
	GL(dl_nloaded) into it while still in critical section.

2004-07-06  Thorsten Kukuk  <kukuk@suse.de>

	* nss/getent.c (print_group, print_passwd): Use %lu format for
	`unsigned long int' values.

	* sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Fix syntax
	error typos in goto statements.

2004-07-07  Roland McGrath  <roland@frob.com>

	* Makefile (dist-separate): New variable.
	(glibc-%.tar rule): Make separate tar files for add-ons listed there.
	Depend on their configure files.
	(dist-do-separate-dirs): New canned sequence to do that.
	(dist-separate-libidn, dist-separate-linuxthreads): New variables.
	(dist): Depend on add-on tar files based on $(dist-separate).
	(dist-version): New variable, default to $(version).
	(tag-for-dist, dist): Use that in place of $(version) in deps.

2004-07-07  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-fini.c (_dl_fini): Move the unlock of the ld.so lock
	before the loop running the destructors.

2004-05-18  Andreas Schwab  <schwab@suse.de>

	* elf/dl-load.c (_dl_map_object_from_fd): Use the end address of
	the first segment for mprotect, not l_text_end.

2004-07-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-profile.c (_dl_start_profile): Compact error handling.
	Remove hashfraction variable.  Make kcount and kcountsize local
	variables.

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

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

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

	* sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
	support, make sure the helper function is inlined.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.

2004-07-05  Jakub Jelinek  <jakub@redhat.com>

	* include/string.h (ffs): Add libc_hidden_builtin_proto.
	* sysdeps/rs6000/ffs.c (ffs): Add libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev67/ffs.S (ffs): Likewise.
	* sysdeps/alpha/ffs.S (ffs): Likewise.
	* sysdeps/s390/ffs.c (ffs): Likewise.
	* sysdeps/powerpc/ffs.c (ffs): Likewise.
	* sysdeps/i386/ffs.c (ffs): Likewise.
	* sysdeps/i386/i686/ffs.c (ffs): Likewise.
	* sysdeps/m68k/ffs.c (ffs): Likewise.
	* sysdeps/generic/ffs.c (ffs): Likewise.
	* sysdeps/m88k/ffs.c (ffs): Likewise.
	* sysdeps/am29k/ffs.c (ffs): Likewise.
	* sysdeps/i960/ffs.c (ffs): Likewise.
	* sysdeps/x86_64/ffs.c (ffs): Likewise.

	* Makerules (check-abi): Use diff -p -U 0 instead of diff -pu0.

	* sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
	__libc_siglongjmp): Remove symbol_version.
	* sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
	Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
	* sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
	unconditionally.
	* sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
	* sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
	strong_alias instead of default_symbol_version, remove
	symbol_version.
	* sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
	into strong_alias to __novmxsetjmp.
	(__vmx__setjmp): Similarly with __vmxsetjmp.
	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
	default_symbol_version and symbol_version.
	* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
	into strong_alias to __novmxsetjmp.
	(__vmx__setjmp): Similarly with __vmxsetjmp.
	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
	default_symbol_version and symbol_version.

	* nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.

2004-07-05  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro.

2004-07-04  Matthew Reppert  <arashi@kai.vm.bytemark.co.uk>

	* sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Use libc_hidden_ver
	instead of libc_hidden_def.

2004-07-01  Roland McGrath  <roland@redhat.com>

	* aclocal.m4: Add provide for AC_CONFIG_AUX_DIR_DEFAULT.

	* Makeconfig ($(common-objpfx)shlib-versions.v.i): Move top-level
	$(..)shlib-versions file to last in deps list.  This lets add-ons give
	more-specific matches that override defaults in the top-level file.

	* sysdeps/unix/sysv/linux/configure.in: If arch_minimum_kernel was
	already set, don't set it or libc_cv_gcc_unwind_find_fde.
	* sysdeps/unix/sysv/linux/configure: Regenerated.

2004-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/fpu/bits/mathinline.h [__LIBC_INTERNAL_MATH_INLINES]
	(__ieee754_sqrt): Define as __MATH_INLINE using sqdbr instruction.
	(__ieee754_sqrtf): Define as __MATH_INLINE using sqebr instruction.
	* sysdeps/s390/fpu/e_sqrt.c: New file.
	* sysdeps/s390/fpu/e_sqrtf.c: New file.
	* sysdeps/s390/Implies: New file.
	* sysdeps/s390/s390-32/Implies: Remove ieee754, move
	ieee754/dbl-64 and ieee754/flt-32 to s390/Implies.
	* sysdeps/s390/s390-64/Implies: Likewise.

2004-06-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Include tls.h.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start):
	DO_CALL (exit, 1) instead of branching to _exit.
	* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start):
	Likewise.

	* sysdeps/s390/fpu/bits/mathinline.h: New file.

	* include/glob.h (glob64): Add libc_hidden_proto.
	* sysdeps/generic/glob64.c (glob64): Add libc_hidden_def.
	* sysdeps/gnu/glob64.c (glob64): Likewise.
	* sysdeps/unix/sysv/linux/i386/glob64.c (glob64): Likewise.

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

	* sysdeps/i386/fpu/libm-test-ulps: Update for GCC 3.4.
	* sysdeps/s390/fpu/libm-test-ulps: Likewise.

2004-06-11  Dwayne Grant McConnell  <dgm69@us.ibm.com>

	* sysdeps/powerpc/fpu/s_lround.c: Removed.
	* sysdeps/powerpc/fpu/s_lroundf.c: Removed.
	* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_floor.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_lrint.c: Removed.
	* sysdeps/powerpc/powerpc32/fpu/s_lrint.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_rint.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_round.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: New file.

2004-06-30  Ulrich Drepper  <drepper@redhat.com>

	* include/net/if.h: Handle if_nameindex and if_freenameindex with
	libc_proto_hidden.
	* sysdeps/unix/sysv/linux/netlinkaccess.h: New file.
	* sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions.
	* sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using
	netlink if possible.  Fall back on ioctl method if necessary.
	* sysdeps/unix/sysv/linux/Dist: Add netlinkaccess.h.

	* include/unistd.h: Declare __truncate.
	* sysdeps/generic/truncate.c: Also define __truncate.
	* sysdeps/mach/hurd/truncate.c: Likewise.
	* sysdeps/unix/common/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate.

2004-06-29  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf-parsemb.c (__parse_one_specmb): Initialize
	info.extra.  Patch by Marcus Meissner.

2004-06-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
	Fix branch offset for a PLT entry.

2004-06-20  Jim Meyering  <jim@meyering.net>

	* malloc/obstack.h (obstack_base): Cast to `void *', to align with
	documentation.

2004-06-28  Ulrich Drepper  <drepper@redhat.com>

	* inet/bug-if1.c (do_test): Simply use 0 as invalid index.
	Workaround for [BZ #232].

	* sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Use extend_alloca.

2004-06-28  GOTO Masanori  <gotom@debian.or.jp>

	* iconv/gconv_simple.c: Use get16/put16 for user given buffer
	in ucs2/ucs2reverse when unaligned memory access is attempted.
	* iconv/tst-iconv5.c: New file.
	* iconv/Makefile (tests): Add tst-iconv5.

2004-06-28  Jakub Jelinek  <jakub@redhat.com>

	* inet/bug-if1.c: Include <string.h>.

2004-06-19  Roland McGrath  <roland@redhat.com>

	* sysdeps/posix/waitid.c (do_waitid) [DO_WAITID]: Define function
	under this macro name instead.
	[NO_DO_WAITID]: Don't define it at all.
	(do_waitid) [WNOWAIT, WEXITED]: If these POSIX.1 waitid flag bits are
	defined, then return ENOTSUP for combinations of selection bits other
	than WEXITED and WEXITED|WSTOPPED, which this version cannot support.

	* posix/tst-waitid.c: New file.
	* posix/Makefile (tests): Add it.

2004-06-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo.

	[BZ #231]
	* sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp
	relocation in librt.so.

	[BZ #230]
	* sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load
	_dl_skip_args.  Patch by Jakub Bogusz <qboosh@pld-linux.org>.

2004-06-27  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldconfig.c (add_dir): Take chroot into account.
	Based on changes by HJ Lu and Hideki Iwamoto.

	* nscd/connections.c (invalidate_cache): If the host cache has to
	be invalidated, re-read resolv.conf.

	* resolv/resolv.h (RES_NOIP6DOTINT): Define.
	* resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option.
	* resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int
	if RES_NOIP6DOTINT flag is set.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.

2004-06-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/fcntl.c: Move to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: ... here.
	* sysdeps/unix/sysv/linux/powerpc/lockf64.c: Move to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/lockf64.c: ... here.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_GETLK, F_SETLK,
	F_SETLKW): Fix values for -m32 -D_FILE_OFFSET_BITS=64.

2004-06-21  Jakub Jelinek  <jakub@redhat.com>

	[BZ #231]
	* sysdeps/unix/alpha/Makefile: New file.
	* sysdeps/unix/alpha/rt-sysdep.S: New file.
	Reported by Jakub Bogusz <qboosh@pld-linux.org>.

2004-06-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): For AI_CANONNAME,
	determine the canonical name only for the first returned entry.

	* inet/bug-if1.c: New file.
	* inet/Makefile (tests): Add bug-if1.

2004-06-18  Roland McGrath  <roland@frob.com>

	* Makerules (compile-mkdep-flags): Add -MT $@.

	* Makefile (dist, tag-for-dist): New targets.
	(files-for-dist, tag-of-stem): New variables.
	(glibc-%.tar glibc-linuxthreads-%.tar): New pattern rule.
	Make tar files using cvs export.
	(%.bz2, %.gz, tag-%): New pattern rules.
	(distribute): Variable removed.
	(+subdir_targets): Remove distinfo targets.
	(echo_subdirs, echo-distinfo, parent_echo-distinfo): Targets removed.
	(rpm/%): Pattern rule removed.
	* rpm/Makefile, rpm/rpmrc, rpm/template: Ancient cruft files removed.
	* Rules (subdir_echo-headers, subdir_echo-distinfo, subdir_dist):
	Targets removed.
	* Makerules (dist, subdir_distinfo): Targets removed.
	($(objpfx)distinfo): Depend on $(distribute).
	* Make-dist: File removed.

	* NEWS: Fix a typo.  Update bug-reporting instructions.

2004-06-17  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/sysv/linux/sched_setaffinity.c
	(__sched_setaffinity_new): Set errno to EINVAL and return -1 if
	cpuset is wrongly set.

2004-06-15  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
	for POWER4 machines.

2004-06-14  Jakub Jelinek  <jakub@redhat.com>

	[BZ #218]
	* sunrpc/pmap_prot2.c (xdr_pmaplist): When freeing, remember pml_next
	in a local variable, point rp to that local variable afterwards.

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

	* sysdeps/ieee754/dbl-64/e_sqrt.c (__ieee754_sqrt): Handle special
	cases properly.

2004-06-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/if_index.c (if_indextoname): Correct
	error value for unknown interface. [BZ #198]

2004-06-13  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/bits/string.h (memcpy): Add () around arguments.
	(memchr, __memrchr, strlen, strcmp, strncmp, __strchr_g, __strchr_c,
	__strchrnul_g, __strchrnul_c, strspn, strcspn, strpbrk): Add memory
	the asm uses as its input, either of size __n where __n is known or
	0xfffffff.
	(strstr): Add "memory" clobber.

2004-06-14  Jakub Jelinek  <jakub@redhat.com>

	[BZ #219]
	* nss/nsswitch.c (free_mem): Don't try to close a library handle
	if the handle is invalid.  Patch by David Kimdon <kimdon@esrf.fr>.

2004-06-11  Dmitry V. Levin  <ldv@altlinux.org>

	[BZ #217]
	* debug/xtrace.sh: Fix typo in error diagnostics.

2004-06-14  Andreas Schwab  <schwab@suse.de>

	* stdio-common/psignal.c (psignal): Don't use BUF when asprintf
	failed.

2004-06-15  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Fix pasto
	that clobbers r19.  Fix pasto that overflowed sigcontext.v_reserve.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Fix pasto
	that clobbers r19.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Fix pasto
	that clobbers r19.  Fix pasto that overflowed sigcontext.v_reserve.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S:
	Fix setting of sigcontext.v_regs.  Fix pasto that clobbers r19.
	Fix pasto that overflowed sigcontext.v_reserve.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S:
	Fix pasto that clobbers r19.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Fix setting
	of sigcontext.v_regs.  Fix pasto that clobbers r19.  Fix pasto that
	overflowed sigcontext.v_reserve.

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

	[BZ #150]
	* sysdeps/generic/strtol_l.c (DEF): Use ".gnu.linkonce.r."
	instead of ".gnu.linkonce.ro." as the prefix for linkonce
	read-only section name.

2004-06-14  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/div_libc.h (_ITOFS): Use "sp" not "$sp".
	(_ITOFT, _FTOIT, _ITOFT2): Likewise.

2004-06-08  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/s390/s390-32/backtrace.c (init): Guard with #ifdef SHARED.
	(unwind_backtrace, unwind_getip): Define #ifndef SHARED.
	(__backtrace): Don't call init #ifndef SHARED.
	* sysdeps/s390/s390-64/backtrace.c (init): Guard with #ifdef SHARED.
	(unwind_backtrace, unwind_getip): Define #ifndef SHARED.
	(__backtrace): Don't call init #ifndef SHARED.
	* sysdeps/ia64/backtrace.c (init): Guard with #ifdef SHARED.
	(unwind_backtrace, unwind_getip): Define #ifndef SHARED.
	(__backtrace): Don't call init #ifndef SHARED.

2004-06-11  Roland McGrath  <roland@redhat.com>

	* sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian.
	From Krzysztof Halasa <khc@pm.waw.pl>.

2004-06-10  Jakub Jelinek  <jakub@redhat.com>

	* elf/tls-macros.h [__s390x__] (TLS_LD, TLS_GD): Clobber also r14.

2004-06-08  Jakub Jelinek  <jakub@redhat.com>

	[BZ #199]
	* crypt/md5-crypt.c (__md5_crypt): Only update buflen if realloc
	succeeds.  Reported by Miles Ohlrich <miles@cray.com>.

	* elf/chroot_canon.c (chroot_canon): Avoid segfault if first malloc
	fails.  Avoid memory leak if realloc fails.

2004-06-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/setenv.c (setenv): Return -1/EINVAL if name is
	NULL, "" or contains '=' character in it.  Reported by
	Michael T Kerrisk <mtk-lists@gmx.net>.
	* stdlib/tst-environ.c: Include errno.h.
	(main): Add tests for these arguments to setenv/unsetenv.

2004-06-07  Roland McGrath  <roland@frob.com>

	* NEWS: Update bug reporting instructions.  Fix some typos.

2004-06-05  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/_itoa.h: Don't expand _itoa inline for libc.
	* stdio-common/_itoa.c: Add _itoa implementation.

	* nscd/nscd_gethst_r.c (__nscd_open_socket): Change implementation
	to also send request.  Add parameter to allow this.
	Change callers.
	* nscd/nscd_getgr_r.c: Change __nscd_open_socket caller.
	* nscd/nscd_getpw_r.c: Likewise.
	* nscd/nscd-client.h: Change __nscd_open_socket prototype.

2004-06-05  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
	Handle more than 6 args correctly.  Based on a patch by Masahide
	Washizawa <washi@jp.ibm.com>.

2004-06-04  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Use __nss_not_use_nscd_hosts
	in all places, not __nss_not_use_nscd_group.
	Reported by Philippe Gregoire.

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

	* sysdeps/i386/i486/bits/atomic.h: Optimize a bit.

2004-05-07  Dmitry V. Levin  <ldv@altlinux.org>

	* argp/argp-help.c (__argp_error, __argp_failure): Check result
	of __asprintf call and don't use string if it failed.
	* stdio-common/psignal.c (psignal): Likewise.
	* locale/programs/localedef.c (more_help): Likewise.
	* resolv/res_hconf.c (arg_service_list, arg_trimdomain_list,
	arg_bool, parse_line): Check result of __asprintf calls and
	don't use string if they failed.
	* sunrpc/svc_simple.c (registerrpc, universal): Likewise.
	* elf/ldconfig.c (parse_conf_include): Check result of __asprintf
	call and exit if it failed.

2004-05-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/sysconf.c (__sysconf) <cases _SC_REALTIME_SIGNALS,
	_SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
	_SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES,
	_SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION,
	_SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS,
	_SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_THREAD_ATTR_STACKADDR,
	_SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING,
	_SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT,
	_SC_THREAD_PROCESS_SHARED>: Return _POSIX_* value instead of 1.
	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
	<case _SC_MONOTONIC_CLOCK>: Return _POSIX_VERSION instead of 1.

2004-05-07  Jeroen Dekkers  <jeroen@dekkers.cx>

	* sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add
	-momit-leaf-frame-pointer.

	* inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with
	#ifdef AF_PACKET.

	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_intern): Only realloc when
	size is <= 0.

	* sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset
	isn't page aligned.

	* sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to
	new size.

	* sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read,
	__libc_write and __libc_lseek64.

2004-05-29  Roland McGrath  <roland@redhat.com>

	* elf/Makefile (shared-only-routines): Add dl-caller.

2004-05-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/powerpc/configure.in: New file.

2004-05-28  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add .machine
	"altivec" to enable VMX instructions.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.

2004-05-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Define using
	__builtin_expm1l for GCC 3.5+.
	(__expl): Define using __builtin_expl for GCC 3.4+.
	(exp, expf, expl): Don't define for GCC 3.4+.
	(tan, tanf, tanl): Don't define for GCC 3.5+.
	(__atan2l): Define using __builtin_atan2l for GCC 3.4+.
	(atan2, atan2f, atan2l): Don't define for GCC 3.4+ or !__FAST_MATH__.
	(fmod, fmodf, fmodl): Don't define for GCC 3.5+ or !__FAST_MATH__.
	(fabsf, fabsl): Only provide if __USE_MISC or __USE_ISOC99.
	(sin, sinf, sinl, cos, cosf, cosl, log, logf, logl): Don't define
	for GCC 3.4+.
	(log10, log10f, log10l, asin, asinf, asinl, acos, acosf, acosl):
	Don't define for GCC 3.5+.
	(atan, atanf, atanl): Don't define for GCC 3.4+ or !__FAST_MATH__.
	(log1p, log1pf, log1pl, logb, logbf, logbl, log2, log2f, log2l): Don't
	define for GCC 3.5+.
	(drem, dremf, dreml): Don't define for GCC 3.5+ or !__FAST_MATH__.
	* sysdeps/sparc/fpu/bits/mathinline.h (sqrt, sqrtf, sqrtl): Don't
	define for GCC 3.2+.

2004-05-27  Jakub Jelinek  <jakub@redhat.com>

	* string/bits/string2.h (__bzero): Define even for GCC 3.0+.
	* sysdeps/alpha/stpcpy.S (stpcpy): Add libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev67/stpcpy.S (stpcpy): Likewise.
	* sysdeps/powerpc/powerpc32/stpcpy.S (stpcpy): Likewise.
	* sysdeps/powerpc/powerpc64/stpcpy.S (stpcpy): Likewise.
	* sysdeps/sparc/sparc32/stpcpy.S (stpcpy): Likewise.
	* sysdeps/sparc/sparc64/stpcpy.S (stpcpy): Likewise.
	* sysdeps/i386/stpcpy.S (stpcpy): Likewise.
	* sysdeps/i386/i586/stpcpy.S (stpcpy): Likewise.
	* sysdeps/generic/stpcpy.c (stpcpy): Likewise.
	* sysdeps/x86_64/stpcpy.S (stpcpy): Likewise.
	* sysdeps/i386/i586/memcpy.S (memcpy): Remove
	libc_hidden_builtin_def if MEMPCPY_P.
	* sysdeps/x86_64/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i686/mempcpy.S (mempcpy): Add libc_hidden_builtin_def.
	* sysdeps/i386/i586/mempcpy.S (mempcpy): Likewise.
	* sysdeps/generic/mempcpy.c (mempcpy): Likewise.
	* sysdeps/x86_64/mempcpy.S (mempcpy): Likewise.

2004-05-26  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/bits/in.h
	(IMPLINK_IP, IMPLINK_LOWEXPER, IMPLINK_HIGHEXPER): Macros removed.
	These are long obsolete in BSD systems where they originated.
	* conform/data/netinet/in.h-data: Remove `allow IMPLINK_*'

2004-05-26  Jakub Jelinek  <jakub@redhat.com>

	* include/string.h (mempcpy, stpcpy): Add libc_hidden_builtin_proto.
	* string/bits/string2.h (memset): Disable macro for GCC 3.0+.
	(__mempcpy): Use __builtin_mempcpy for GCC 3.4+.
	(strchr): For GCC 3.2+, only use __rawmemchr if second argument is
	constant '\0' and first argument is not constant.
	(__stpcpy): Use __builtin_stpcpy for GCC 3.4+.
	(strncpy): Remove #ifdef _USE_STRING_ARCH_mempcpy variant.
	For GCC 3.2+ use __builtin_strncpy.
	(strncat): For GCC 3.2+ use __builtin_strncat.
	(strcmp): For GCC 3.2+ use __builtin_strcmp if both arguments are
	constant.
	(strcspn, strspn, strpbrk): For GCC 3.2+, use builtin function
	if both arguments are constant.

2004-05-26  Ulrich Drepper  <drepper@redhat.com>

	* nss/nss_files/files-hosts.c: Fix condition for looking up IPv4
	mapped addresses in gethostbyaddr.

2004-05-25  Ulrich Drepper  <drepper@redhat.com>

	* nss/digits_dots.c (__nss_hostname_digits_dots): Remove typep and
	flags parameter, convert afp to simple int parameter.  Adjust code.
	typep was never != NULL and flags therefore also unused.  *afp is
	never modified.
	* nss/nsswitch.h: Adjust __nss_hostname_digits_dots prototype.
	* nss/getXXbyYY.c: Remove HAVE_TYPE handling.  Adjust af parameter
	handling for __nss_hostname_digits_dots calls.
	* nss/getXXbyYY_r.c: Likewise.

	* elf/dl-load.c (_dl_map_object_from_fd): Map DSOs with MAP_DENYWRITE.

2004-05-25  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so.
	* sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES]
	(__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction.
	(__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction.
	* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved
	implementation from w_sqrt.c.
	* sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved
	implementation from w_sqrtf.c.
	* sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation
	using inline __ieee754_sqrt().
	* sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation
	using inline __ieee754_sqrtf().
	* sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include
	<sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
	* sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define
	PPC_FEATURE_*  independent of __ASSEMBLER__.

2004-05-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h
	include.
	(aio_start_notify_thread): Define if not defined.
	(notify_func_wrapper): Use it.
	* sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h
	include.
	(aio_create_helper_thread): Define if not defined.
	(__aio_create_helper_thread): New function.
	(__aio_enqueue_request): Use aio_create_helper_thread.

	* nis/ypclnt.c (ypall_data, ypall_foreach): Remove.
	(struct ypresp_all_data): New type.
	(__xdr_ypresp_all): Change second argument to
	struct ypresp_all_data *.  Replace ypall_foreach and
	ypall_data with objp->foreach and objp->data.
	(yp_all): Remove status variable, add data.  Replace
	all uses of status with data.status.  Initialize data.foreach
	and data.data instead of ypall_foreach and ypall_data.

2004-05-24  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit
	in l_flags_1, not in l_flags.

2004-04-10  Robert Millan  <robertmh@gnu.org>

	* sysdeps/unix/sysv/linux/bits/in.h: Cosmetic fixes to get in sync
	with sysdeps/generic/bits/in.h.

2004-05-25  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/unwind-dw2-fde-glibc.c: Change copyright terms from
	GCC GPL to standard glibc LGPL.

2004-05-24  Ulrich Drepper  <drepper@redhat.com>

	* manual/string.texi (Copying and Concatenation): Fixed second
	concat example.
	Reported by Fabian Pietsch <fabian@zzznowman.dyndns.org>.

2004-05-23  Ulrich Drepper  <drepper@redhat.com>

	* malloc/obstack.c: Don't allow linking with _obstack.

2004-05-23  Andreas Schwab  <schwab@suse.de>

	* sysdeps/m68k/m68020/bits/atomic.h: Use "+m" constraint instead
	of separate "m" constraints.

2004-05-15  Chris Demetriou  <cgd@broadcom.com>

	* sysdeps/mips/dl-machine.h (ELF_DL_FRAME_SIZE)
	(ELF_DL_SAVE_ARG_REGS, ELF_DL_RESTORE_ARG_REGS): For the N32
	and 64 ABIs, save and restore regs $10 and $11 (a6 and a7).

2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	* malloc/obstack.c (_obstack) [!defined _LIBC]: Remove; not used.
	Add comment explaining why libc still defines it.

2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	* malloc/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
	obstack_alignment_mask, obstack_alloc, obstack_base,
	obstack_blank, obstack_blank_fast, obstack_chunk_size,
	obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
	obstack_grow0, obstack_init, obstack_int_grow,
	obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
	obstack_next_free, obstack_object_size, obstack_ptr_grow,
	obstack_ptr_grow_fast, obstack_room): Remove declarations of
	nonexistent functions.

2004-05-18  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/sysdep.h [__ASSEMBLER__]: Include
	<sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
	[PIC]: Redundent for powerpc64, removed.
	(ENTRY): Generate size and alignment for opd entry.
	(EALIGN): Generate size and alignment for opd entry.
	(END): Use DOT_LABEL in ASM_SIZE_DIRECTIVE.
	(END_GEN_TB): Use DOT_LABEL in ASM_SIZE_DIRECTIVE.

2004-05-19  Ulrich Drepper  <drepper@redhat.com>

	* misc/regexp.h: Say the functions have been withdrawn.

	* wcsmbs/tst-wcpncpy.c: Add more tests.

2004-05-18  Roland McGrath  <roland@frob.com>

	* sysdeps/generic/unwind.h: Change copyright terms from GCC GPL to
	standard glibc LGPL.
	* sysdeps/generic/unwind-dw2.c: Likewise.
	* sysdeps/generic/unwind-dw2-fde.c: Likewise.
	* sysdeps/generic/unwind-dw2-fde.h: Likewise.
	* sysdeps/generic/unwind-pe.h: Likewise.

2004-05-15  Petter Reinholdtsen  <pere@hungry.com>

	* locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND
	MONTENEGRO" which have taken over the code 819.  Patch from
	Danilo Segan. [BZ #40]

2004-05-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to
	__sparc_get_pic_l7.

2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>

	* catgets/gencat.c: Update bug reporting instructions.
	* csu/version.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* debug/pcprofiledump.c: Likewise.
	* debug/xtrace.sh: Likewise.
	* elf/ldd.bash.in: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* login/programs/pt_chown.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/memusagestat.c: Likewise.
	* malloc/mtrace.pl: Likewise.
	* manual/crypt.texi: Likewise.
	* manual/install.texi: Likewise.
	* nss/makedb.c: Likewise.

2004-05-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only
	CHECK_STATIC_TLS if sym != NULL.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise.

2004-05-12  Andreas Schwab  <schwab@suse.de>

	* posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs
	when translating.

2004-05-13  H.J. Lu  <hongjiu.lu@intel.com>

	* Rules (xtests): Depend on tests.

2004-05-13  Jakub Jelinek  <jakub@redhat.com>

	* libio/genops.c (_IO_default_xsputn): Avoid one overflow per char if
	count is negative, yet write_ptr < write_end.
	(_IO_default_xsgetn): Avoid one underflow per char if count is
	negative, yet read_ptr < read_end.

2004-05-12  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/termios.h (XTABS): Define XTABS
	equal to TAB3.

2004-05-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol_x): Correct _dl_signal_cerror
	call.

2004-05-10  Roland McGrath  <roland@frob.com>

	* hurd/hurdlookup.c (__hurd_file_name_split): Return ENOENT for "".
	(__hurd_directory_name_split): Likewise.

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

	* po/fr.po: Update from translation team.

2004-05-10  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
	Correctly compute alignment.
	Patch by Michael Matz <matz@suse.de>.

2004-05-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/sigpause.c: Prevent sigpause prototype.
	* sysdeps/posix/sigpause.c: Likewise.
	* signal/signal.h: Don't define sigpause macro unless needed.

2004-05-08  Jakub Jelinek  <jakub@redhat.com>

	* configure.in (libc_cv_libgcc_s_suffix): New check.
	(libc_cv_as_needed): Use -lgcc_s$libc_cv_libgcc_s_suffix.
	* config.make.in (libgcc_s_suffix): Set.
	* Makeconfig (libgcc_eh): Use -lgcc_s$(libgcc_s_suffix).

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

	* signal/signal.h: Use BSD sigpause only if BSD behavior is preferred.

2004-04-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_1,
	LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6):
	Load argument values into temporary variables.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_1,
	LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, LOADARGS_6):
	Likewise.

2004-05-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Makefile: mq_send.c and mq_receive.c
	need to be compiled with exceptions.

2004-05-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Fix memory handling.
	* sysdeps/generic/ifreq.c (__ifreq): Fix memory handling.

	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Make clear that
	realloc cannot fail.

	* nss/nss_files/files-netgrp.c (EXPAND): Free buffer which cannot
	be expanded.

	* nis/nis_table.c: Clean up memory handling.
	* nis/nis_subr.c (nis_getnames): Clean up memory handling.
	* nis/nis_removemember.c (nis_removemember): Add comment
	explaining use of realloc.

	* math/tgmath.h (fabs): Use __TGMATH_UNARY_REAL_IMAG_RET_REAL.
	(carg): Likewise.
	Patch by Lev S Bishop <lev.bishop@yale.edu>.

	* math/bug-tgmath1.c (main): Test fabs and carg as well.

2004-05-06  Richard Henderson  <rth@redhat.com>

	* elf/elf.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE,
	AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New.
	* sysdeps/unix/sysv/linux/alpha/Versions: Export
	__libc_alpha_cache_shape as a private symbol.
	* sysdeps/unix/sysv/linux/alpha/dl-sysdep.c: New file.
	* sysdeps/unix/sysv/linux/alpha/sysconf.c: New file.

2004-05-06  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/div_libc.h (_ITOFS, _ITOFT, _FTOIT, _ITOFT2): New.
	* sysdeps/alpha/divl.S: Use them.
	* sysdeps/alpha/divq.S: Likewise.
	* sysdeps/alpha/divqu.S: Likewise.
	* sysdeps/alpha/reml.S: Likewise.
	* sysdeps/alpha/remq.S: Likewise.
	* sysdeps/alpha/remqu.S: Likewise.

2004-05-06  Ulrich Drepper  <drepper@redhat.com>

	* math/tgmath.h (__TGMATH_UNARY_REAL_IMAG_RET_REAL):Define.
	(cimag): Use it.
	(creal): Likewise.
	* math/Makefile (tests): Add bug-tgmath1.
	* math/bug-tgmath1.c: New file.

2004-05-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/atomicity.h: Remove.
	* sysdeps/generic/atomicity.h: Remove.

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

	* sysdeps/i386/i486/bits/string.h (strpbrk): Cast return to
	char *.

2004-04-22  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/unix/sysv/linux/ia64/Makefile (librt-routines): Mention
	  rt-sysdep.
	* sysdeps/unix/sysv/linux/ia64/rt-sysdep.S: New file.

	* sysdeps/ia64/strcat.c: New file.
	* sysdeps/ia64/strcat.S: Delete.

2004-05-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sysdep.S (USE___THREAD): Remove
	defined.

2004-04-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add
	libc_hidden_proto.  Define to __GI___libm_error_support for
	assembly going into libc.so.
	* sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add
	libc_hidden_def.

	* include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define.
	* sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove.

	* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access
	gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno
	if USE___THREAD.

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

	* sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if
	__USE_BSD or __USE_UNIX98.
	* sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN):
	Likewise.
	* sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
	* io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise.

2004-05-01  Jakub Jelinek  <jakub@redhat.com>

	* posix/Versions (libc): Remove __libc_wait, __libc_waitpid,
	__libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64,
	__libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE.
	* stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/Versions (libc): Remove
	__libc_sigaction@@GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove
	__modify_ldt@@GLIBC_PRIVATE.
	* socket/Versions (libc): Remove __libc_accept, __libc_send,
	__libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv,
	__libc_sendto and __libc_connect @@GLIBC_PRIVATE.
	* stdio-common/Versions (libc): Remove
	_itoa_upper_digits@@GLIBC_PRIVATE.
	* resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE.
	* misc/Versions (libc): Remove __libc_fsync, __libc_msync,
	__libc_readv and __libc_writev @@GLIBC_PRIVATE.
	* termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE.
	* io/Versions (libc): Remove __libc_open, __libc_close, __libc_read,
	__libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and
	__libc_lseek64 @@GLIBC_PRIVATE.

2004-04-30  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-load.c (open_verify): Move e_phentsize check after e_type
	check.

2004-04-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed.
	* sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed.
	* sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_round.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file.

	* math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX
	mantissa for AIX long double format.
	* misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX
	long double format.
	* misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise.
	* stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024]
	(_fpioconst_pow10): AIX long double format has same exponent range as
	double.
	* stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024]
	(LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range
	as double.

2004-04-23  Art Haas  <ahaas@airmail.net>

	* sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'.

2004-04-28  Carlos O'Donell  <carlos@baldric.uwo.ca>

	* sysdeps/unix/sysv/linux/mq_getattr.c: Include <stddef.h>.
	* sysdeps/unix/sysv/linux/mq_notify.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_open.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_receive.c: Likewise.
	* sysdeps/unix/sysv/linux/mq_send.c: Likewise.

2004-04-29  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/dl-machine.h (RTLD_START): Avoid unnecessary GOT
	entries.

2004-04-29  Jakub Jelinek  <jakub@redhat.com>

	* manual/resource.texi (sched_setaffinity, sched_getaffinity): Fix
	prototypes and description [BZ #131].

	* string/bits/string2.h (strpbrk): Cast NULL to char * [BZ #130].
	Patch by Ed Catmur <ed@catmur.co.uk>.
	* string/tst-inlcall.c (main): Add test for strpbrk.

	[BZ #140]
	* sysdeps/unix/sysv/linux/sys/sysctl.h: Remove linux/compiler.h
	include.
	(_LINUX_KERNEL_H, _LINUX_TYPES_H, _LINUX_LIST_H): Only define if not
	yet defined, #undef back after including linux/sysctl.h if defined
	here.
	(__LINUX_COMPILER_H, __user): Define if not yet defined, #undef
	back after including linux/sysctl.h if defined here.

	* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31
	for single precision register, add it to __asm clobbers [BZ #139].
	* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31
	for single precision register, add it to __asm clobbers.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox
	instead of fqtoi in QP_HANDLE_EXCEPTIONS.
	* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise.
	Reported by M. H. VanLeeuwen <vanl@megsinet.net>.

2004-04-23  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/m68k/register-dump.h: Use
	__attribute_used__.

2004-04-22  Philip Blundell  <philb@gnu.org>

	* sysdeps/arm/dl-machine.h (elf_machine_rela): Don't use INTUSE
	when calling _dl_signal_error.
	(elf_machine_rel): Likewise.

2004-04-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp
	and use it internally instead of __sigsetjmp.
	* sysdeps/ia64/fpu/s_frexpf.c (frexpf): Use _GI___libm_frexp_4f.
	* sysdeps/ia64/fpu/s_frexpl.c (frexpl): Use _GI___libm_frexp_4l.
	* sysdeps/ia64/fpu/libm_frexp4.S: Define _GI___libm_frexp_4.
	* sysdeps/ia64/fpu/libm_frexp4f.S: Define _GI___libm_frexp_4f.
	* sysdeps/ia64/fpu/libm_frexp4l.S: Define _GI___libm_frexp_4l.
	* sysdeps/ia64/fpu/s_frexp.c (frexp): Use _GI___libm_frexp_4.
	* sysdeps/ia64/fpu/libm_support.h: Declare _GI___libm_frexp_4,
	_GI___libm_frexp_4f, _GI___libm_frexp_4l.
	* sysdeps/ia64/fpu/bits/mathinline.h: New file.
	* sysdeps/unix/sysv/linux/ia64/__start_context.S: Use
	HIDDEN_JUMPTARGET for exit call.
	* sysdeps/unix/sysv/linux/ia64/clone2.S: Use HIDDEN_JUMPTARGET for
	_exit call.
	* sysdeps/ia64/bcopy.S: Use HIDDEN_JUMPTARGET for memmove call.
	* sysdeps/ia64/strcat.S: Use HIDDEN_JUMPTARGET for strlen and
	strcpy calls.

2004-04-21  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-chmod.c (do_test): Fix a typo.

	* elf/lateglobal.c (main): Fix error checks.
	Patch by Stephen Clarke <stephen.clarke@st.com>.

	* manual/ctype.texi (isblank, iswblank): Mark as ISO functions,
	mention they have been added in ISO C99.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2004-03-31  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/ieee754/ldbl-128/bits/huge_vall.h: Fix typo.

2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/shm_open.c (shm_unlink): Change EPERM into
	EACCES.

2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/vfscanf.c (_IO_vfscanf): Revert last %% whitespace
	handling change.
	* stdio-common/tst-sscanf.c (int_tests): Adjust.

	* nis/nss-nis.c: Include stdlib.h.

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Shut up a
	warning.
	* sysdeps/sparc/sparc64/memcmp.S (memcmp): Remove BP_SYM () from
	libc_hidden_builtin_def.

2004-04-20  Jim Meyering  <jim@meyering.net>

	* misc/error.c (error_tail): Don't leak upon realloc failure.

2004-04-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable):
	Use RETURN_ADDRESS instead of __builtin_return_address.

2004-04-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more
	compact code.

2004-04-20  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace,
	do input_error () instead of conv_error () and don't look at errno.
	Don't eat any whitespace before %% if skip_space == 0.
	* stdio-common/tst-sscanf.c (int_tests): New array.
	(main): Run int_tests.


See ChangeLog.14 for earlier changes.
