2010-05-04  Andreas Schwab  <schwab@redhat.com>

	* posix/regexec.c (find_collation_sequence_value): Fix skipping
	the wide char sequence of the collating element.

2010-05-05  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11571]
	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
	too small buffers according to the standard.

	* sysdeps/unix/sysv/linux/kernel-features.h: Alpha doesn't have to be
	handled here anymore.
	Patch mostly by Matt Turner <mattst88@gmail.com>.

2010-05-03  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump for 2.12 release.
	* include/features.h (__GLIBC_MINOR__): Bump to 12.

	[BZ #11149]
	* elf/ldconfig.c (search_dir): Fix handling of symlinks in chroot.

	* elf/chroot_canon.c (chroot_canon): Use xmalloc and xrealloc.

	* elf/ldconfig.c (parse_conf_include): Don't fall back to
	directories named in config file outside the chroot.

2010-02-02  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
	_dl_load_write_lock.
	* elf/rtld.c (_rtld_global): Initialize it.
	* elf/dl-support.c (_dl_load_write_lock): Define .
	* elf/dl-close.c (_dl_close_worker): Lock GL(dl_load_write_lock)
	when modifying the list of loaded objects.
	* elf/dl-load.c (lose): Likewise.
	* elf/dl-object.c (_dl_new_object): Likewise.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Lock
	GL(dl_load_write_lock) instead of GL(dl_load_lock).

2010-05-03  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Remove unnecessary
	assignment.

2010-05-02  Ulrich Drepper  <drepper@redhat.com>

	* misc/mntent_r.c (encode_name): The slow loop handles newlines so we
	should recognize them as an abort condition.
	Patch by Jan Lieskovsky <jlieskov@redhat.com>.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	[BZ #11538]
	* sysdeps/unix/bsd/ptsname.c (__ptsname_r): Use __ttyname_r's return
	value instead of errno.
	* sysdeps/unix/getlogin.c (getlogin): Likewise.

	[BZ #11537]
	* sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Upon failure, return
	errno, not -1.

2010-04-24  Emilio Pozuelo Monfort  <pochu27@gmail.com>

	* hurd/lookup-at.c (__file_name_lookup_at): Fix error return value.

2010-04-22  Ulrich Drepper  <drepper@redhat.com>

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

2010-04-21  Ulrich Drepper  <drepper@redhat.com>

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

2010-04-19  Roland McGrath  <roland@redhat.com>

	* elf/Makefile ($(objpfx)noload): Depend on libdl.so.

	* Makeconfig (as-needed, no-as-needed): New variables.
	(link-libc): Add ld.so inside --as-needed.

	* stdio-common/tst-fmemopen.c (TEST_FILE): Macro removed.
	(main): Take arguments.  Construct test file name from ARGV[0].

2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>

	* string/test-strncmp.c (check_result): New function.
	(do_one_test): Use it.
	(check1): New function.
	(test_main): Use it.
	* sysdeps/i386/i686/multiarch/strcmp-sse4.S (crosspage): Properly
	update source and destination.
	* sysdeps/i386/i686/multiarch/strcmp-ssse3.S (gobble_ashr_12):
	Properly check and update counter.

2010-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/elf/configure.in: Move AVX test to ....
	* sysdeps/i386/configure.in: ...here.
	* sysdeps/i386/i686/multiarch/Makefile (libm-sysdep_routines): Define.
	(CFLAGS-s_fma-fma.c): Define.
	(CFLAGS-s_fmaf-fma.c): Define.
	* sysdeps/i386/i686/multiarch/Versions: New file.
	* sysdeps/i386/i686/multiarch/s_fma-fma.c: New file.
	* sysdeps/i386/i686/multiarch/s_fma.c: New file.
	* sysdeps/i386/i686/multiarch/s_fmaf-fma.c: New file.
	* sysdeps/i386/i686/multiarch/s_fmaf.c: New file.

	* sysdeps/x86_64/multiarch/memcmp-sse4.S: Check
	DATA_CACHE_SIZE_HALF instead of SHARED_CACHE_SIZE_HALF.

2010-04-14  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-version.c (_dl_check_map_versions): Avoid index overflow
	when dependencies are missing.

2010-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/memcmp-sse4.S: Optimized for unaligned
	data.

2010-04-12  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	memcmp-sse4.
	* sysdeps/x86_64/multiarch/memcmp-sse4.S: New file.
	* sysdeps/x86_64/multiarch/memcmp.S: New file.
	* sysdeps/x86_64/multiarch/rtld-memcmp.c: New file.

2010-04-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/init-arch.h: Pretty printing.
	Add SSE 4.1 macros.

2010-04-10  Matt Fleming  <matt@console-pimps.org>

	* elf/elf.h: Add SH specific ELF header flags.

2010-04-13  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c: Fix setup of
	overflow area.
	* sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: Likewise.

2010-04-12  Andreas Schwab  <schwab@redhat.com>

	* stdlib/tst-makecontext3.c (main): Initialize ucontext_t objects
	only with getcontext.  Test for unimplemented makecontext by
	checking errno.

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

	* nscd/aicache.c (addhstaiX): Correct passing memory to address
	list to gethostbyname4_r functions.

	* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Optimize
	copying of h_name.

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

	* Makerules ($(common-objpfx)libc-abis.h): Depend on libc-abis.stamp.
	($(common-objpfx)libc-abis.stamp): New target, rule moved from
	libc-abis.h target.  Use a stamp file to avoid repeating no-op
	move-if-change on every run.

	* posix/Makefile (tst-chmod-ARGS): Pass $(objdir), not `pwd`.

2010-04-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10915]
	* nscd/nscd_stat.c (struct statdata): Add reload_count field.
	(send_stats): Fill in reload_count.
	(receive_print_stats): Print reload_count.

	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): When
	reading the loginuid file use a buffer which is always large enough.
	NUL-terminate the string.

	* malloc/malloc.c (_int_malloc): Return NULL if printing error message
	returns.

2010-04-07  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/i386/fallocate.c: Set errno on error.
	* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.

2010-04-08  Andreas Jaeger  <aj@suse.de>

	[BZ #10401]
	* math/s_cprojl.c (__cprojl): Fix implementation to follow C99
	standard.
	* math/s_cprojf.c (__cprojf): Likewise.
	* math/s_cproj.c (__cproj): Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_cprojl.c (__cprojl): Likewise.
	* math/libm-test.inc (cproj_test): Fix test.

2010-04-08  Roland McGrath  <roland@redhat.com>

	* Makerules (libc-abis): Variable removed.
	($(common-objpfx)libc-abis.h): Depend on Makerules too.
	Use automatic variables in commands.
	Depend on first libc-abis from $(sysdirs) or $(..).

2010-04-07  Ulrich Drepper  <drepper@redhat.com>

	* posix/bug-getopt1.c: New file.
	* posix/bug-getopt2.c: New file.
	* posix/bug-getopt3.c: New file.
	* posix/bug-getopt4.c: New file.
	* posix/bug-getopt5.c: New file.

2009-12-01  Eric Blake  <ebb9@byu.net>

	[BZ #11039]
	* posix/getopt.c (_getopt_internal_r): Skip optional - or + before
	checking lead byte of optstring for :.

	[BZ #11040]
	* posix/getopt.c (_getopt_internal_r): Reject '-;' as short
	option, since it conflicts with "W;" optstring extension.

2009-12-02  Eric Blake  <ebb9@byu.net>

	[BZ #11041]
	* posix/getopt.c (_getopt_internal_r): Handle '-Wfoo' identically
	to '--foo', with optional argument or non-ambiguous prefix.

2010-04-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11134]
	* nis/libnsl.h (NSS_FLAG_ADJUNCT_AS_SHADOW): Define.
	* nis/nss: Document new ADJUNCT_AS_SHADOW variable.
	* nis/nss-default.c: Handle ADJUNCT_AS_SHADOW variable.
	* nis/nss_nis/nis-pwd.c (internal_nis_endpwent): Minor cleanups.
	(internal_nis_getpwent_r): Don't fill in password from adjunct table
	if NSS_FLAG_ADJUNCT_AS_SHADOW is set.
	(_nss_nis_getpwnam_r): Likewise.
	(_nss_nis_getpwuid_r): Likewise.
	* nis/nss_nis/nis-spwd.c (ent_adjunct_used): New global variable.
	(_nss_nis_setspent): Also reset ent_adjunct_used.
	(internal_nis_getspent_r): If new_start is set and shadow.byname table
	does not exist and NSS_FLAG_ADJUNCT_AS_SHADOW is set, try to get
	passwd.adjunct.byname table.  If new_start is not set get next entry
	from the initially used table.  Synthesize shadow.byname table if
	necessary by adding two empty fields.
	(_nss_nis_getspnam_r): If shadow.byname table does not exist and
	NSS_FLAG_ADJUNCT_AS_SHADOW is set, try to get passwd.adjunct.byname
	table and synthesize shadow.byname table.

2010-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* Makerules (libc-abis): Add $(..) to libc-abis.

2010-04-06  Joseph Myers  <joseph@codesourcery.com>

	* Makerules (libc-abis): Fix search for libc-abis in add-ons.

2010-04-05  Thomas Schwinge  <thomas@schwinge.name>

	* sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/.
	* sysdeps/gnu/rt-unwind-resume.c: Likewise.
	* sysdeps/gnu/Makefile: Add sections for csu and rt subdirs to
	build unwind-resume code, previously in nptl/sysdeps/pthread/Makefile.

2010-04-05  Roland McGrath  <roland@redhat.com>

	* elf/dl-cache.c (_dl_load_cache_lookup): Obey dl_hwcap_mask.

	* elf/dl-support.c (_dl_hwcap_mask): New variable.

	* elf/rtld.c (dl_main) [HAVE_AUX_VECTOR]: Add a cast.

2010-03-30  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* Makeconfig: Propagate -fdebug-prefix-map from CFLAGS to ASFLAGS.

2010-03-30  Joseph Myers  <joseph@codesourcery.com>

	* elf/elf.h (ELFOSABI_ARM_AEABI): Define.

2010-04-05  Ulrich Drepper  <drepper@redhat.com>

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

	[BZ #11010]
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Handle
	timeouts from servers.

	[BZ #11149]
	* elf/ldconfig.c (main): Respect chroot setting when looking for
	the aux cache.

2010-04-04  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11043]
	* posix/getopt.c (_getopt_internal_r): Fix arguments printed in error
	messages.

	[BZ #11070]
	* resolv/netdb.h: Declare iruserok and iruserok_af.

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

2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	[BZ #11254]
	* argp/argp-parse.c (convert_options): Fix improper use of `|'
	between character values.

2010-04-04  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11276]
	* sysdeps/posix/remove.c (IS_NO_DIRECTORY_ERROR): Define.
	(remove): Use IS_NO_DIRECTORY_ERROR to check for file being no
	directory.
	* sysdeps/unix/sysv/linux/remove.c: New file.

	* conform/data/sys/stat.h-data: Fix testing of S_IS* macros.

	[BZ #11279]
	* io/sys/stat.h: Always define S_ISSOCK for XPG6 and up.

	[BZ #11287]
	* csu/Makefile ($(objpfx)version-info.h): Handle newer kernel headers
	which don't define UTS_RELEASE.

2010-04-04  H.J. Lu  <hongjiu.lu@intel.com>
	    Ulrich Drepper  <drepper@redhat.com>

	[BZ #11292]
	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Allow
	concurrent initialization and use of __cpu_features.

2010-04-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/init-arch.h (cpu_features): Add tag to
	the enum.

2010-04-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11333]
	* sysdeps/unix/readdir_r.c (__READDIR_R): Add support for platforms
	which include unnecessary padding in d_reclen.
	* sysdeps/unix/sysv/linux/i386/readdir64_r.c: Select work-around for
	unnecessary padding.

	[BZ #11387]
	* sysdeps/unix/sysv/linux/ifaddrs.c (map_newlin): Don't abort on
	unknown interface, return -1.
	(getifaddrs_internal): Rename from getifaddrs.  Handle errors in
	map_newlink be returning -EAGAIN.
	(getifaddrs): If -EAGAIN is returned from getifaddrs_internal try
	again.

2010-03-25  Ryan S. Arnold  <rsa@us.ibm.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Remove
	redundant and incorrect else block which overwrites current line
	with the partial next line.

2010-04-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11438]
	* posix/gai.conf: Document problems with IPv4 site-local addresses and
	NATs.

	[BZ #11449]
	* crypt/crypt_util.c (__init_des_r): Add memory barrier before setting
	small_tables_initialized.

	* malloc/malloc.c (_int_free): Add one more sanity check for fastbins.

	* malloc/malloc.c (set_max_fast): Fix computation of the value.

2010-03-30  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Fix
	MMAP2_PAGE_SHIFT test.

2010-03-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_WAITFORONE.

2010-03-28  Thomas Schwinge  <thomas@schwinge.name>

	* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Adapt to auxv
	changes in the generic code.
	* elf/rtld.c (dl_main): Conditionalize the code that dereferences auxv
	to [HAVE_AUX_VECTOR].

2010-03-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getpagesize.c (__getpagesize): If
	__ASSUME_AT_PAGESIZE we can rely on the value being set.

	* include/wchar.h: Undefine __need_mbstate_t and __need_wint_t
	unconditionally in the end.

	* posix/glob.c (glob): Initialize oldcount early, too.

2010-03-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/fcntl.c: Define miss_F_GETOWN_EX
	only if needed.
	Patch mostly by Paul Pluzhnikov <ppluzhnikov@google.com>.

2010-03-26  Richard Henderson  <rth@redhat.com>

	* sysdeps/generic/ldsodefs.h (_dl_random): Mark attribute_relro;

	* stdio-common/psiginfo.c (psiginfo): Fix printf format
	warning for si_band.

	* locale/setlocale.c (free_category): Finish renaming
	struct locale_data to __locale_data.

	* csu/gmon-start.c (ENTRY_POINT, etext): Declare as char[], not void.
	* elf/dl-sysdep.c (_end): Likewise.
	* sysdeps/unix/sysv/dl-sysdep.c (frob_brk): Likewise with locally
	declared _end, and associated variables.

2010-03-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't assume success always
	means aborting the loop over the NSS methods.

2010-03-25  Andreas Schwab  <schwab@redhat.com>

	[BZ #11001]
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Reset no_data before
	each action.

2010-03-26  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c: Remove stale reference to website.

2010-03-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11389]
	* bits/time.h: Define CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE, and
	CLOCK_MONOTONIC_COARSE.
	* sysdeps/unix/sysv/linux/clock_getres.c: Handle CLOCK_MONOTONIC_RAW,
	CLOCK_REALTIME_COARSE, and CLOCK_MONOTONIC_COARSE.
	* sysdeps/unix/sysv/linux/clock_gettime.c: Likewise.
	* sysdeps/unix/sysv/linux/clock_settime.c: Likewise.

2010-03-25  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/posix/cuserid.c: Fix typo.

2010-03-16  Chris Demetriou  <cgd@google.com>

	[BZ #11394]
	* locale/programs/simple-hash.c: Include inttypes.h.
	(hashval_t): Defined to be uint32_t.
	* locale/programs/simple_hash.h: Include inttypes.h.
	(compute_hashval): Change return type to uint32_t.

2010-03-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getlogin_r.c: New file.
	* sysdeps/unix/sysv/linux/getlogin.c: New file.
	* sysdeps/unix/getlogin_r.c: Allow compiling getlogin as static
	function.
	* sysdeps/unix/getlogin.c: Likewise.  Move name variable to toplevel.
	* include/unistd.h: Declare __getlogin_r_loginuid.

	[BZ #11397]
	* sysdeps/posix/cuserid.c (cuserid): Make sure the returned string
	is NUL terminated.
	Patch by Jonathan Geisler <jgeisler@cse.taylor.edu>.

	* sysdeps/unix/sysv/linux/mmap64.c: Allow variable shift values.

2010-03-24  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/strpbrk-c.c: Define only if SHARED
	is defined.

2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	* string/test-memcmp.c (check_result): New function.
	(do_one_test): Use it.
	(check1): New function.
	(test_main): Use it.

2010-03-24  Ulrich Drepper  <drepper@redhat.com>

	* posix/tst-gnuglob.c: Add tests with empty patterns.  For this
	rewrite the tests to add support for failing glob calls.
	Some other minor cleanups.
	* posix/bug-glob3.c: New file.
	* posix/Makefile (tests): Add bug-glob3.

2010-03-24  Ulrich Drepper  <drepper@redhat.com>
	    Andreas Schwab  <andreas@redhat.com>

	* posix/glob.c (glob): Clean up gl_pathc and gl_pathv earlier.
	If pattern is "" bail out early

2010-03-23  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (do_lookup_x): If tab->entries is NULL,
	but tab->size != 0, just unlock and goto success, without
	allocating anything or entering anything into the hash table.
	(_dl_debug_bindings): Temporarily set tab->entries to NULL
	around do_lookup_x in undef_map->l_local_scope[0].  If
	undef_map->l_symbolic_in_local_scope, lookup also in
	symbolic_searchlist of following libraries in l_local_scope
	that have DT_SYMBOLIC set.
	* elf/dl-deps.c (_dl_map_object_deps): Compute
	l_symbolic_in_local_scope.
	* include/link.h (struct link_map): Add l_symbolic_in_local_scope
	bitfield.

2010-03-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11410]
	* wctype/wctype.h: Use <wchar.h> to get the wint_t definition.

	* wcsmbs/wchar.h: Correct preprocessor directive indentation.  Move
	C++ prototype handling to a better place.

2010-03-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (open_verify): Extend expected to the full size of the
	e_ident array.  When loading, check that the fields in e_ident we don't
	know are zero to allow future extensions.

2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Update %xmm3
	when exit from loop.

2010-03-16  Andreas Schwab  <schwab@redhat.com>

	* resolv/res_send.c (__libc_res_nsend): Fix printing of server
	address in debug statement.
	(send_dg): Pass correct buffer pointer to DprintQ.

2010-03-17  Ulrich Drepper  <drepper@redhat.com>

	* libc-abis: Add a few more entries.

2010-03-16  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (VALID_ELF_ABIVERSION): Add additional osabi parameter.
	Not used here.
	(open_verify): Modify for extended VALID_ELF_ABIVERSION macro
	interface.
	* sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_ABIVERSION): Add
	additional osabi parameter.  Only acceept nonzero ABI versions if osabi
	is Linux.
	Fix includes.
	(expected2): Don't explicitly initialize EI_ABIVERSION byte.

	* sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_ABIVERSION): Update
	definition to follow generic code.

2010-03-15  Ulrich Drepper  <drepper@redhat.com>

	* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.

	* Makerules: Add rule for libc-abis.h.
	* csu/version.c: Use LIBC_ABIS_STRING string if available.
	* elf/dl-load.c (VALID_ELF_ABIVERSION): Check using LIBC_ABI_MAX.
	(open_verify): Only check EI_ABIVERSION bytes using VALID_ELF_HEADER.
	Add extra call to VALID_ELF_ABIVERSION.

2010-03-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/mount.h (UMOUNT_NOFOLLOW): Define.

2010-03-12  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-dst.h: Include "trusted-dirs.h".
	(DL_DST_REQUIRED): Take $LIB into account.

2010-03-11  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (R_X86_64_GOT64, R_X86_64_GOTPCREL64): New macros.
	(R_X86_64_GOTPC64, R_X86_64_GOTPLT64, R_X86_64_PLTOFF64): New macros.

2010-03-10  Luis Machado  <luisgpm@br.ibm.com>

	* sysdeps/powerpc/powerpc64/power7/memcpy.S: New file.
	* sysdeps/powerpc/powerpc32/power7/memcpy.S: New file.

2010-03-09  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handling
	of R_SPARC_TLS_LE_* needs to use 32-bit loads and stores, not
	64-bit ones.

	* sysdeps/sparc/sparc32/memcpy.S: Fix build.

	* sysdeps/sparc/sparc32/strlen.S: Optimize.
	* sysdeps/sparc/sparc64/strlen.S: Likewise.
	* sysdeps/sparc/sparc32/sparcv9/strlen.S (ASI_PNF, ASI_BLK_P,
	XCC): Delete definitions, not needed.

2010-03-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
	Little follow-up patch from last change.

2010-03-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/internal_statvfs.c: Handle ext4 and logfs.
	* sysdeps/unix/sysv/linux/linux_fsinfo.h: Add entry for logfs.

2010-02-18  Yann Droneaud  <yann@droneaud.fr>

	* resolv/res_send.c: Fixed DEBUG statements.
	Moved tmpbuf declaration to block beginning and
	updated pointer names used in multiple DprintQ() calls

2010-02-18  H.J. Lu  <hongjiu.lu@intel.com>

	* config.make.in (config-asflags-i686): Define.
	* configure.in: Substitute libc_cv_as_i686.
	* sysdeps/i386/configure.in: Check if assembler supports -mtune=i686.
	* sysdeps/i386/i686/Makefile (CFLAGS-.oX): Add -Wa,-mtune=i686
	if assembler supports -mtune=i686.
	(ASFLAGS-.oX): Likewise.

2010-03-04  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (R_X86_64_SIZE32): Define.
	(R_X86_64_SIZE64): Define.

2010-03-02  Richard Guenther  <rguenther@suse.de>

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): R_X86_64_PC32
	is sign-extending.

2010-03-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/in.h: Add a few more definitions from
	the kernel headers.

2010-03-04  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/Implies: Add ieee754/dbl-64/wordsize-64 entry.

	* sysdeps/sparc/sparc32/sparcv8/udiv_qrnnd.S: Delete.
	* sysdeps/sparc/sparc32/udiv_qrnnd.S: Delete.

2010-03-03  David S. Miller  <davem@davemloft.net>

	* math/math_private.h (INSERT_WORDS64): Fix argument order.

2010-03-03  Aurelien Jarno  <aurelien@aurel32.net>

	* sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c: New file.

2010-03-03  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_lazy_rel): Must
	pass '1' for 't' argument to sparc_fixup_plt.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_lazy_rel):
	Likewise.
	* sysdeps/sparc/sparc32/dl-plt.h (OPCODE_BA_PT): Define.
	(sparc_fixup_plt): Document 't' argument.  Enable branch
	optimization and use v9 branches when possible.  Explain why we
	cannot unconditionally patch the branch into the first PLT
	instruction.
	* sysdeps/sparc/sparc64/dl-plt.h (sparc64_fixup_plt): Document 't'
	argument.  Use v9 branches when possible.  Explain why we can in
	fact unconditionally use a branch in the first PLT instruction
	here.

2010-02-28  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (NT_X86_XSTATE): New macro.

2010-02-25  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/Makefile: Add align-cpy rule.
	* sysdeps/sparc/sparc64/align-cpy.S: New.
	* sysdeps/sparc/sparc64/memcpy.S (__align_cpy_1, __align_cpy_2,
	__align_cpy_4, __align_cpy_8, __align_cpy_16): Remove.
	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (__align_cpy_1,
	__align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16):
	Remove.
	* sysdeps/sparc/sparc64/sparcv9v/memcpy.S (__align_cpy_1,
	__align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16):
	Remove.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S (__align_cpy_1,
	__align_cpy_2, __align_cpy_4, __align_cpy_8, __align_cpy_16):
	Remove.

	* sysdeps/sparc/sparc32/bcopy.c: Delete.
	* sysdeps/sparc/sparc32/memmove.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/bcopy.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/memmove.c: Delete.
	* sysdeps/sparc/sparc64/bcopy.c: Delete.
	* sysdeps/sparc/sparc64/memmove.c: Delete.
	* sysdeps/sparc/sparc64/memcopy.h: New.
	* sysdeps/sparc/sparc32/memcpy.S (bcopy, memmove): Remove.
	* sysdeps/sparc/sparc64/memcpy.S (bcopy, memmove): Likewise.
	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (bcopy, memmove): Likewise.
	* sysdeps/sparc/sparc64/sparcv9v/memcpy.S (bcopy, memmove): Likewise.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S (bcopy, memmove): Likewise.

	* sysdeps/sparc/elf/rtld-global-offsets.sym: New file.
	* sysdeps/sparc/Makefile (csu): Add rtld-global-offsets.sym to
	gen-as-const-headers.
	* sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile: New file.
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memset.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: Move to...
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-ultra3.S: ...here.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: Move to...
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara1.S: ...here.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: Move to...
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara1.S: ...here.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: Move to...
	* sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-niagara2.S: ...here.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: Removed.
	* sysdeps/sparc/sparc64/multiarch/Makefile: New file.
	* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: Move to...
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: ...here.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Move to...
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: ...here.
	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Move to...
	* sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: ...here.
	* sysdeps/sparc/sparc64/sparcv9v/memset.S: Move to...
	* sysdeps/sparc/sparc64/multiarch/memset-niagara1.S: ...here.
	* sysdeps/sparc/sparc64/sparcv9v2/memset.S: Removed.
	* sysdeps/sparc/sparc64/multiarch/memcpy.S: New file.
	* sysdeps/sparc/sparc64/multiarch/memset.S: New file.

2010-02-20  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #11332]
	* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Use cfi_remember_state
	and cfi_restore_state only if USE_AS_STRNCMP is defined.

2010-02-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/Implies: Add ieee754/dbl-64/wordsize-64 entry.

2010-02-24  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
	(bk_write_less32bytes_2): Renamed to ...
	(bk_write_less48bytes): This.
	Use unsigned conditional jumps.
	Correct unwind info.
	Use add/sub instead of lea if possible.
	(shl_0_gobble_cache_loop_tail): Removed.
	(large_page): Properly adjust ECX.

	* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Use unsigned
	conditional jumps.
	Correct unwind info.

	* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Remove redundant
	punpcklbw.
	Use unsigned conditional jumps.
	(128bytesormore_nt): Renamed to ...
	(128bytesormore_endof_L1): This.
	Use add instead of lea if possible.
	Correct unwind info.
	* sysdeps/i386/i686/multiarch/memset-sse2.S: Remove redundant
	punpcklbw.
	Use unsigned conditional jumps.
	Use add instead of lea if possible.
	Correct unwind info.

2010-02-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11319]
	* libio/iovdprintf.c (_IO_vdprintf): Explicitly flush stream before
	undoing the stream because _IO_FINISH doesn't report failures.

	[BZ #5553]
	* malloc/malloc.c (public_vALLOc): Set ar_ptr when trying main_arena.
	(public_pVALLOc): Likewise.
	Patch by Petr Baudis.

2010-02-22  Jim Meyering  <meyering@redhat.com>

	* manual/math.texi (BSD Random): Fix a typo: s/are/is/

	* manual/charset.texi: Adjust grammar.

	* manual/errno.texi (Error Messages): Fix doubled-words and typos.
	* manual/charset.texi (Selecting the Conversion): Likewise.
	* manual/getopt.texi (Getopt Long Options): Likewise.
	* manual/memory.texi (Resizing the Data Segment): Likewise.
	* manual/message.texi (GUI program problems): Likewise.
	* manual/resource.texi (CPU Affinity): Likewise.
	* manual/stdio.texi (Streams and Threads): Likewise.
	* manual/time.texi (High Accuracy Clock): Likewise.

2009-02-20  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
	Adjust rela->r_offset by l->l_addr when rewriting PLT.

	* sysdeps/sparc/sparc64/memchr.S: Use unsigned branch on greater to
	test end of buffer.

	* sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c
	(__makecontext): Adjust arg counter properly when copying arg
	stack slots.

2009-02-20  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_runtime_setup):
	Adjust rela->r_offset by l->l_addr when rewriting PLT.

2010-02-19  Carl Fredrik Hammar  <hammy.lite@gmail.com>

	* hurd/hurdioctl.c (tiocsctty): Call `do_tiocsctty' instead of
	non-existent `tiocsctty_port'.

2010-02-16  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/memcmp.S (memcmp): Use CPUID_OFFSET
	instead of FEATURE_OFFSET.
	* sysdeps/i386/i686/multiarch/strcmp.S (strcmp): Likewise.

	* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Add alignnments.
	Fix one unwind info problem.

	* sysdeps/i386/i686/multiarch/memcmp-ssse3.S (less1bytes): Add CFI_POP.

	* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Simplify unwind info.

2010-02-17  H.J. Lu  <hongjiu.lu@intel.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Fix typo in unwind info.
	Clean up a bit.

2010-02-17  Carl Fredrik Hammar  <hammy.lite@gmail.com>

	* hurd/hurdioctl.c (tiocsctty): Only get FD ports, do work in...
	(tiocsctty_port): ...this new function.

	* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Cast to
	`ioctl_handler_t'.

2010-02-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Fix unwind info.
	* sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Likewise.
	* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Likewise.
	* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Likewise.

	* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Don't fall through to
	undefined code.

2010-02-12  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
	strcmp-ssse3, strcmp-sse4, strncmp-c, strncmp-ssse3, strncmp-sse4,
	memcmp-c, memcmp-ssse3, and memcmp-sse4.
	* sysdeps/i386/i686/multiarch/memcmp-sse4.S: New file.
	* sysdeps/i386/i686/multiarch/memcmp-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/memcmp.S: New file.
	* sysdeps/i386/i686/multiarch/strcmp-sse4.S: New file.
	* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/strcmp.S: New file.
	* sysdeps/i386/i686/multiarch/strncmp-c.c: New file.
	* sysdeps/i386/i686/multiarch/strncmp-sse4.S: New file.
	* sysdeps/i386/i686/multiarch/strncmp-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/strncmp.S: New file.

2010-02-12  Luis Machado  <luisgpm@br.ibm.com>

	* sysdeps/powerpc/powerpc32/dl-machine.h: Removed old PPC_REL16 check.
	* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
	* sysdeps/powerpc/powerpc32/memset.S: Likewise.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
	* sysdeps/powerpc/powerpc32/configure.in: Fail if R_PPC_REL16
	is not supported.
	* sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Likewise.
	* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise.

2010-02-12  Alan Modra  <amodra@gmail.com>

	* elf/tls-macros.h [__powerpc__] (__TLS_CALL_CLOBBERS): Remove r3.
	Define and use for __powerpc64__ too.
	[__powerpc__] (TLS_LD): Add r3 to clobbers.
	[__powerpc__] (TLS_GD): Set asm output.  Make __result r3 reg.
	[__powerpc64__] (TLS_GD): Make __result r3 reg.
	[__powerpc64__] (TLS_IE): Relax output constraint.

2010-02-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* sysdeps/s390/s390-64/utf8-utf16-z9.c: Disable hardware
	instructions cu21 and cu24.  Add well-formedness checking
	parameter and adjust the software implementation.
	* sysdeps/s390/s390-64/utf16-utf32-z9.c: Likewise.

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

	[BZ #11271]
	* io/ftw.c (ftw_startup): Close	descriptor for initial directory
	after changing back to it.

2010-02-05  David S. Miller  <davem@davemloft.net>

	* elf/elf.h (R_SPARC_JMP_IREL, R_SPARC_IRELATIVE): Define.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle new
	ifunc relocs.
	(elf_machine_lazy_rel): Likewise.
	(sparc_fixup_plt): Pull out to...
	* sysdeps/sparc/sparc32/dl-plt.h: ...here.
	* sysdeps/sparc/sparc32/dl-irel.h: New file.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle new
	ifunc relocs.
	(elf_machine_lazy_rel): Likewise.
	(sparc64_fixup_plt): Pull out to...
	* sysdeps/sparc/sparc64/dl-plt.h: ...here.
	* sysdeps/sparc/sparc64/dl-irel.h: New file.

2010-02-09  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* elf/elf.h: Define m68k TLS relocations.

2010-02-10  Luis Machado  <luisgpm@br.ibm.com>

	* sysdeps/powerpc/powerpc64/power7/Implies: Removed.
	* sysdeps/powerpc/powerpc64/power7/fpu/Implies: Removed.
	* sysdeps/powerpc/powerpc32/power7/Implies: Removed.
	* sysdeps/powerpc/powerpc32/power7/fpu/Implies: Removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Add
	64-bit power7 fpu path.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Add
	32-bit power7 fpu math.

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

	* sysdeps/i386/rshift.S: More compact unwind information.

	* sysdeps/i386/lshift.S: Fix unwind information.

2010-02-08  Luis Machado  <luisgpm@br.ibm.com>

	* sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/power7/fpu/s_isnanf.S: New file.
	* sysdeps/powerpc/powerpc32/power7/fpu/s_isnanf.S: New file.
	* sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: New file.
	* sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: New file.
	* sysdeps/powerpc/powerpc64/power7/fpu/s_isinff.S: New file.
	* sysdeps/powerpc/powerpc32/power7/fpu/s_isinff.S: New file.
	* sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: New file.
	* sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: New file.
	* sysdeps/powerpc/powerpc64/power7/fpu/s_finitef.S: New file.
	* sysdeps/powerpc/powerpc32/power7/fpu/s_finitef.S: New file.

2010-02-08  Andreas Schwab  <schwab@redhat.com>

	* include/fenv.h: Add hidden proto for fegetenv.
	* math/fegetenv.c: Add hidden alias.
	* sysdeps/i386/fpu/fegetenv.c: Likewise.
	* sysdeps/ia64/fpu/fegetenv.c: Likewise.
	* sysdeps/powerpc/fpu/fegetenv.c: Likewise.
	* sysdeps/sh/sh4/fpu/fegetenv.c: Likewise.
	* sysdeps/sparc/fpu/fegetenv.c: Likewise.
	* sysdeps/x86_64/fpu/fegetenv.c: Likewise
	* sysdeps/s390/fpu/fegetenv.c: Likewise.  Remove unused headers.

2010-02-05  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #11230]
	* sysdeps/ia64/memchr.S: Don't read beyond the last byte
	during recovery.

2010-01-26  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c: Use internal
	interface.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: Declare internal
	utmpx interface.

	* sysdeps/unix/sysv/linux/sparc/Versions: Add new errlist compat
	entry for 2.12.

2010-02-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11235]
	* sysdeps/unix/sysv/linux/sys/mount.h: Remove S_WRITE, S_APPEND,
	S_IMMUTABLE.  Add MS_DIRSYNC, MS_MOVE, MS_SILENT, MS_REC,
	MS_POSIXACL, MS_UNBINDABLE, MS_PRIVATE, MS_SLAVE, MS_SHARED,
	MS_RELATIME, MS_KERNMOUNT, MS_I_VERSION, MS_STRICTATIME,
	MS_ACTIVE, and MS_NOUSER.
	(MS_RMT_MASK): Update according to current kernels.

	[BZ #11242]
	* misc/getusershell.c (initshells): Allocate one more byte in input
	buffer so that fgets doesn't loop undefinitely.

2010-02-02  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/setenv.c (__add_to_environ): Don't use alloca if
	__libc_use_alloca tells us not to.  Fix memory leak in an error
	situation.  Based partially on patch by Jim Meyering.

2010-01-26  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/getsysstats.c (get_nprocs_conf, get_nprocs,
	get_phys_pages, get_avphys_pages): Add weak aliases.

2010-01-25  Andreas Schwab  <schwab@redhat.com>

	* iconv/iconv_prog.c (write_output): Fix check for open failure.

2010-01-22  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11200]
	* locale/loadlocale.c (_nl_load_locale): Fix recognition of genuine
	mmap resource problem.  Patch by Joe Landers <jlanders@vmware.com>.

2010-01-22  Jim Meyering  <jim@meyering.net>

	[BZ #11193]
	* posix/regexec.c (extend_buffers): Avoid overflow in realloc
	buffer length computation.

	[BZ #11192]
	* posix/regexec.c (re_copy_regs): Don't leak when allocation
	of the start buffer succeeds but allocation of the "end" one fails.

	[BZ #11191]
	* posix/regexec.c (re_search_2_stub): Check for overflow
	when adding the sizes of the two strings.

	[BZ #11190]
	* posix/regexec.c (re_search_internal): Avoid overflow
	in computing re_malloc buffer size.

	[BZ #11189]
	* posix/regexec.c (prune_impossible_nodes): Avoid overflow
	in computing re_malloc buffer size.

	[BZ #11188]
	* posix/regexec.c (build_trtable): Avoid arithmetic overflow
	in size calculation.

	[BZ #11187]
	* posix/regexec.c (re_search_2_stub): Use simpler method than
	boolean for freeing internal storage.

2010-01-22  Ulrich Drepper  <drepper@redhat.com>

	* posix/regex_internal.c (re_string_skip_chars): Simplify test for
	failed mbrtowc call.

2010-01-22  Jim Meyering  <jim@meyering.net>

	[BZ #11186]
	* posix/regex_internal.c (re_string_skip_chars): Don't assume WEOF
	fits in wchar_t.  Problem reported by Eric Blake.

	[BZ #11185]
	* posix/regex_internal.c (re_string_reconstruct): Remove declaration
	and stores into set-but-not-used local, "q".

	[BZ #11184]
	* posix/regex_internal.c (re_dfa_add_node): Extend the overflow
	detection test.  Patch by Paul Eggert.

	[BZ #11183]
	* posix/regex_internal.c (re_string_realloc_buffers):
	Detect and handle internal overflow.  Patch by Paul Eggert

2010-01-20  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
	(CHECK_SP): Fix check for alternate stack.
	* sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
	(CHECK_SP): Likewise.

2010-01-19  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/memmove.S: Also check
	bit_Fast_Rep_String when SHARED isn't defined.

2010-01-19  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11194]
	* misc/bits/syslog.h (syslog, vsyslog): Remove unnecessary return.

2010-01-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/bits/libc-lock.h
	(__rtld_lock_recursive_t): New type.
	(__rtld_lock_initialize): New macro.

2010-01-14  Ryan S. Arnold  <rsa@us.ibm.com>

	* sysdeps/powerpc/powerpc32/cell/memcpy.S: New file.
	* sysdeps/powerpc/powerpc64/cell/memcpy.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/fpu/Implies: New file.

2010-01-18  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Remove duplicate
	definitions of O_DSYNC and O_RSYNC.

	* elf/dynamic-link.h (elf_get_dynamic_info): Use correct type when
	casting d_tag.

	* elf/dynamic-link.h (elf_get_dynamic_info): Ignore negative
	dynamic entry types.

2010-01-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128/s_ceill.c (huge): Add L suffix to the
	constant.
	* sysdeps/ieee754/ldbl-128/s_floorl.c (huge): Likewise.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c (big): Decrease to avoid
	overflow.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c (big): Remove unused variable.

	* sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf): Use
	math_opt_barrier and math_force_eval macros.

2010-01-15  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c: Fix a few more cases of ignored return values.
	* posix/regex_internal.c: Likewise.
	* posix/regexec.c: Likewise.

	* include/features.h: _XOPEN_SOURCE_EXTENDED is not defined to be
	used without _XOPEN_SOURCE.  Don't base any decisions on this macro
	if _XOPEN_SOURCE is not defined as well.

2010-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* sysdeps/s390/s390-32/elf/start.S (_start): Added check for the
	high gprs kernel facility.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_matches_host):
	Added high gprs check for DSOs.
	* elf/elf.h (EF_S390_HIGH_GPRS): Added macro definition for the
	new elf header flag.

2010-01-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* elf/dl-sysdep.c (_dl_sysdep_start): Added the auxv parameter to
	dl_main.
	* elf/dl-open.c (_dl_sysdep_start): Likewise..
	* sysdeps/generic/ldsodefs.h (_dl_sysdep_start): Likewise.
	* elf/rtld.c (dl_main): Added new parameter auxv.  Adjust the
	AT_PHDR, AT_PHNUM and AT_ENTRY fields if the ld.so is directly
	started.

2010-01-14  Ulrich Drepper  <drepper@redhat.com>

	[BZ #11027]
	* sysdeps/generic/netinet/ip.h: Define IPTOS_CLASS_* macros according
	to RFC 2474.
	Patch by Philip Prindeville <philipp@redfish-solutions.com>.

	[BZ #11141]
	* resolv/res_send.c (reopen): Don't use IPv6 sockets for IPv4
	addresses.

	[BZ #11127]
	* posix/regcomp.c (alc_eclosure_iter): Do not ignore
	re_node_set_insert failure; return REG_ESPACE.
	Patch by Paul Eggert.

	[BZ #10864]
	* bits/confname.h: Make pre-C99-safe.

2010-01-14  Ryan S. Arnold  <rsa@us.ibm.com>

	* Makeconfig (+prector, +postctor, +prectorS, +postctorS): Add
	$(sysdep-LDFLAGS) to pre and post ctors so that the proper .o
	files are found by GCC.

2010-01-14  Ulrich Drepper  <drepper@redhat.com>

	* posix/unistd.h: Relax conditions for ualarm, usleep, getwd, vfork,
	brk, and sbrk.

	* string/strings.h: Relax condition for bcmp, bcopy, bzero, ffs,
	index, and rindex.

	* stdlib/stdlib.h: Relax conditions for *cvt functions and valloc.

	* Versions.def: Add GLIBC_2.12 for libpthread.

	[BZ #11126]
	* malloc/malloc.c (malloc_info): Initialize malloc if not already
	done.  Handle empty bin lists.

	* posix/unistd.h: Change getpagesize and getdtablesize declaration
	visibility some more.

	* resolv/netdb.h: Relax condition to elide obsolete resolver constants.

	* posix/unistd.h: Declare getpagesize in _GNU_SOURCE mode.

	[BZ #11120]
	* sysdeps/x86_64/strcmp.S: Prevent silent errors should strncmp be
	needed outside libc.

2010-01-13  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/stdlib.h: Parameter of unsetenv must not be NULL.

2010-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/strlen.S: Unroll the loop.

2010-01-13  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/stdlib.h: Be a bit more relaxed about obsoleted mktemp symbol.

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

	* conform/data/complex.h-data: Test for POSIX2008.

	* conform/data/ctype.h-data: Fix POSIX testing.

	* conform/data/dirent.h-data: ino_t only needed for XSI.

	* grp/grp.h: Declare getgrent and endgrent for XPG7.

	* conform/data/inttypes.h-data: Use same types as the headers.

	* resolv/netdb.h: Don't define old resolver macros for XPG7.

	* conform/data/sys/uio.h-data: Don't exclude POSIX2008.

	* conform/conformtest.pl: Implement tag for allow-header.
	Fix newline handling in allow-header implementation.

	* conform/data/time.h-data: Use allow-header instead of duplicating
	information.

	* conform/data/time.h-data: Allow sigevent tag.

	* posix/sched.h: Define time_t and pid_t for XPG7.

2010-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/bcopy.S: New file.

	* sysdeps/i386/i686/cacheinfo.c (__x86_64_data_cache_size): Define.

	* sysdeps/i386/i686/memcpy.S (__memcpy_chk): Use ENTRY_CHK
	and END_CHK.
	* sysdeps/i386/i686/memmove.S (__memmove_chk): Likewise.
	* sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
	* sysdeps/i386/i686/memset.S (__memset_chk): Likewise.

	* sysdeps/i386/i686/memmove.S: Support USE_AS_BCOPY.

	* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
	bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 memmove-ssse3
	memcpy-ssse3-rep mempcpy-ssse3-rep memmove-ssse3-rep
	bcopy-ssse3 bcopy-ssse3-rep memset-sse2-rep bzero-sse2-rep
	* sysdeps/i386/i686/multiarch/bcopy-ssse3-rep.S: New file.
	* sysdeps/i386/i686/multiarch/bcopy-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/bcopy.S: New file.
	* sysdeps/i386/i686/multiarch/bzero-sse2-rep.S: New file.
	* sysdeps/i386/i686/multiarch/bzero-sse2.S: New file.
	* sysdeps/i386/i686/multiarch/bzero.S: New file.
	* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: New file.
	* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/memcpy.S: New file.
	* sysdeps/i386/i686/multiarch/memcpy_chk.S: New file.
	* sysdeps/i386/i686/multiarch/memmove-ssse3-rep.S: New file.
	* sysdeps/i386/i686/multiarch/memmove-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/memmove.S: New file.
	* sysdeps/i386/i686/multiarch/memmove_chk.S: New file.
	* sysdeps/i386/i686/multiarch/mempcpy-ssse3-rep.S: New file.
	* sysdeps/i386/i686/multiarch/mempcpy-ssse3.S: New file.
	* sysdeps/i386/i686/multiarch/mempcpy.S: New file.
	* sysdeps/i386/i686/multiarch/mempcpy_chk.S: New file.
	* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: New file.
	* sysdeps/i386/i686/multiarch/memset-sse2.S: New file.
	* sysdeps/i386/i686/multiarch/memset.S: New file.
	* sysdeps/i386/i686/multiarch/memset_chk.S: New file.

	* sysdeps/i386/sysdep.h (ENTRY_CHK): New.
	(END_CHK): Likewise.

	* sysdeps/i386/i686/multiarch/ifunc-defines.sym: Add
	FEATURE_OFFSET, FEATURE_SIZE and FEATURE_INDEX_1.
	* sysdeps/x86_64/multiarch/ifunc-defines.sym: Likewise.

	* sysdeps/x86_64/cacheinfo.c (intel_02_cache_info): Add entries
	for 0x0e and 0x80.
	(__x86_64_data_cache_size): New.
	(init_cacheinfo): Set __x86_64_data_cache_size.

	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Turn
	on bit_Fast_Rep_String for Intel Core i7.

	* sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Rep_String): New.
	(index_Fast_Rep_String): Likewise.
	(FEATURE_INDEX_1): Likewise.
	(FEATURE_INDEX_MAX): Likewise.
	(cpu_features): Add feature.

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

	* conform/data/sys/select.h-data: Fix up for XPG7.

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

	* posix/sys/wait.h: Don't define W* macros etc. if
	stdlib.h has been included with _POSIX_C_SOURCE >= 200809L.

2010-01-11  Ulrich Drepper  <drepper@redhat.com>

	* io/sys/stat.h: Declare fchmod for XPG7.
	* conform/data/sys/stat.h-data: Fix up for XPG7.

	* termios/termios.h: Define pid_t for XPG7.

	* conform/data/math.h-data: Fix up for XPG6 and XPG7.
	* conform/data/tgmath.h-data: Likewise.

	* conform/data/time.h-data: Fix POSIX tests.

	* conform/data/wchar.h-data: Fix up XPG7 tests.

	* include/features.h: Fix __USE_ISOC95 handling.

	* conform/data/wordexp.h-data: Fix typo in last change.

	* conform/data/unistd.h-data: Fix up older POSIX tests.

	* stdlib/stdlib.h: Fix handling symbols removed in XPG7.
	* posix/unistd.h: Likewise.

	* posix/unistd.h: Include environments.h also for XPG6 and up.
	Define intptr_t for XPG6 and up.
	Fix up for XPG7.
	* conform/data/unistd.h-data: Fix up for XPG6 and XPG7.

	* conform/data/sys/types.h-data: Fix up for XPG7.

	* sysdeps/unix/bsd/bits/stat.h: Fix double-inclusion problem.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/bits/stat.h: Likewise.
	* sysdeps/mach/hurd/bits/stat.h: Likewise.

	* bits/confname.h: Fix typo in last change.

	* conform/data/unistd.h-data: lockf-constants Not needed for POSIX.

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

	* sysdeps/unix/sysv/linux/bits/sigaction.h: SA_RESTART, SA_NODEFER,
	and SA_RESETHAND now available in Base.
	* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
	* conform/data/signal.h-data: Update for XPG7.

	* posix/sys/types.h: Define id_t, clock_t, blksize_t for XPG7.

	* string/strings.h: Don't declare obsolete functions for XPG7.
	Declare ffs only for XSI.
	* conform/data/strings.h-data: Update for XPG7.

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

	[BZ #11125]
	* libio/stdio.h: Define va_list, off_t, and ssize_t.

	* posix/glob.h: Define size_t.

	* posix/sys/wait.h: Define idtype_t and declare waitid for XPG7.

	* signal/signal.h: Define size_t, mcontext_t, and ucontext_t for XPG7.

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

	* conform/conformtest.pl: For XPG7 testing the headers are supposed to
	be self-contained.

	* conform/data/stdio.h-data: Expect off_t and ssize_t.

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

	* libio/stdio.h: Define va_list also for XPG7.

	* conform/conformtest.pl: Update for XPG7 and some bug fixes.
	* conform/data/ctype.h-data: Likewise.
	* conform/data/dirent.h-data: Likewise.
	* conform/data/errno.h-data: Likewise.
	* conform/data/fcntl.h-data: Likewise.
	* conform/data/fmtmsg.h-data: Likewise.
	* conform/data/fnmatch.h-data: Likewise.
	* conform/data/ftw.h-data: Likewise.
	* conform/data/glob.h-data: Likewise.
	* conform/data/grp.h-data: Likewise.
	* conform/data/iconv.h-data: Likewise.
	* conform/data/langinfo.h-data: Likewise.
	* conform/data/libgen.h-data: Likewise.
	* conform/data/limits.h-data: Likewise.
	* conform/data/locale.h-data: Likewise.
	* conform/data/math.h-data: Likewise.
	* conform/data/monetary.h-data: Likewise.
	* conform/data/mqueue.h-data: Likewise.
	* conform/data/ndbm.h-data: Likewise.
	* conform/data/netdb.h-data: Likewise.
	* conform/data/pthread.h-data: Likewise.
	* conform/data/pwd.h-data: Likewise.
	* conform/data/regex.h-data: Likewise.
	* conform/data/sched.h-data: Likewise.
	* conform/data/search.h-data: Likewise.
	* conform/data/semaphore.h-data: Likewise.
	* conform/data/setjmp.h-data: Likewise.
	* conform/data/signal.h-data: Likewise.
	* conform/data/spawn.h-data: Likewise.
	* conform/data/stdio.h-data: Likewise.
	* conform/data/stdlib.h-data: Likewise.
	* conform/data/string.h-data: Likewise.
	* conform/data/strings.h-data: Likewise.
	* conform/data/sys/ipc.h-data: Likewise.
	* conform/data/sys/msg.h-data: Likewise.
	* conform/data/sys/resource.h-data: Likewise.
	* conform/data/sys/sem.h-data: Likewise.
	* conform/data/sys/shm.h-data: Likewise.
	* conform/data/sys/socket.h-data: Likewise.
	* conform/data/sys/stat.h-data: Likewise.
	* conform/data/sys/time.h-data: Likewise.
	* conform/data/sys/types.h-data: Likewise.
	* conform/data/sys/uio.h-data: Likewise.
	* conform/data/sys/wait.h-data: Likewise.
	* conform/data/syslog.h-data: Likewise.
	* conform/data/tar.h-data: Likewise.
	* conform/data/termios.h-data: Likewise.
	* conform/data/time.h-data: Likewise.
	* conform/data/ulimit.h-data: Likewise.
	* conform/data/unistd.h-data: Likewise.
	* conform/data/utmpx.h-data: Likewise.
	* conform/data/wchar.h-data: Likewise.
	* conform/data/wctype.h-data: Likewise.
	* conform/data/wordexp.h-data: Likewise.

	* io/fcntl.h: Define mode_t macros instead of including sys/stat.h.
	* sysdeps/unix/bsd/bits/stat.h: Enable using from fcntl.h.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/bits/stat.h: Likewise.
	* sysdeps/mach/hurd/bits/stat.h: Likewise.

	* stdlib/stdlib.h: Define wait-related bits for XPG7.
	Don't declare valloc, mktemp, ecvt, fcvt, gcvt for XPG6 and  up.
	Declare mkstemp and getsubopt for XPG7.
	Declare posix_openpt for XPG6 XSI.

	* include/features.h: Define __USE_XOPEN2KXSI for _XOPEN_SOURCE >= 600
	and __USE_XOPEN2K8XSI for _XOPEN_SOURCE >= 700.

	* string/string.h: Declare strdup for XPG7.

2010-01-08  Ulrich Drepper  <drepper@redhat.com>

	* bits/confname.h: Define _CS_V6_ENV and _CS_V7_ENV.
	* posix/confstr.c: Implement _CS_V6_ENV and _CS_V7_ENV.

	* dirent/dirent.h: Really fix feature selection.

	* locale/localeinfo.h: Rename struct locale_data to __locale_data.
	Fix all users.
	* locale/C-address.c: Fix all users.
	* locale/C-collate.c: Likewise.
	* locale/C-ctype.c: Likewise.
	* locale/C-identification.c: Likewise.
	* locale/C-measurement.c: Likewise.
	* locale/C-messages.c: Likewise.
	* locale/C-monetary.c: Likewise.
	* locale/C-name.c: Likewise.
	* locale/C-numeric.c: Likewise.
	* locale/C-paper.c: Likewise.
	* locale/C-telephone.c: Likewise.
	* locale/C-time.c: Likewise.
	* locale/findlocale.c: Likewise.
	* locale/global-locale.c: Likewise.
	* locale/loadarchive.c: Likewise.
	* locale/loadlocale.c: Likewise.
	* locale/nl_langinfo_l.c: Likewise.
	* locale/setlocale.c: Likewise.
	* locale/xlocale.c: Likewise.
	* locale/xlocale.h: Likewise.
	* stdio-common/vfscanf.c: Likewise.
	* stdlib/strfmon_l.c: Likewise.
	* stdlib/strtod_l.c: Likewise.
	* stdlib/strtol_l.c: Likewise.
	* string/strcoll_l.c: Likewise.
	* string/strxfrm_l.c: Likewise.
	* time/alt_digit.c: Likewise.
	* time/asctime.c: Likewise.
	* time/era.c: Likewise.
	* time/lc-time-cleanup.c: Likewise.
	* time/strftime_l.c: Likewise.
	* time/strptime_l.c: Likewise.
	* wcsmbs/wcsmbsload.c: Likewise.
	* wcsmbs/wcsmbsload.h: Likewise.

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define O_DIRECTORY,
	O_NOFOLLOW, O_CLOEXEC, F_DUPFD_CLOEXEC, F_SETOWN, and F_GETOWN
	for XPG7.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

2010-01-07  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (PN_XNUM): New macro.

	* elf/dl-sysdep.c (_dl_important_hwcaps): Use NT_GNU_HWCAP instead of
	literal 2.

2010-01-06  Ulrich Drepper  <drepper@redhat.com>

	* dirent/dirent.h: Fix typo in feature selection macro use.

2009-12-15  Maciej W. Rozycki  <macro@codesourcery.com>

	[BZ #11115]
	* stdlib/tst-makecontext3.c: New file.
	* stdlib/Makefile (tests): Add new test.

	* stdlib/tst-setcontext.c (check_called): Fix a typo.

2009-12-17  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Enable multi-arch by default if the assembler
	supports gnu_indirect_function symbol type and the architecture
	supports it.

2009-12-23  Ulrich Drepper  <drepper@redhat.com>

	* include/stdlib.h: Exclude some includes and prototypes if _ISOMAC
	is defined.

2009-12-22  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* hurd/hurdioctl.c (_hurd_locked_install_cttyid): Set newctty to
	MACH_PORT_NULL when id != cttyid.

2009-12-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/getcwd.c (cleanup): Do not call
	__mach_port_deallocate on rootdevid.

2009-12-17  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Handle
	R_390_PC32DBL. Remove unneeded R_390_PLT16DBL.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove
	unneeded R_390_PLT16DBL and R_390_PLT32DBL.

2009-12-21  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10992]
	* sysdeps/unix/sysv/linux/futimens.c: Handle AT_FDCWD.
	Patch by Eric Blake <ebb9@byu.net>.

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

	[BZ #11093]
	* bits/poll.h: Define POLLRDNORM, POLLRDBAND, POLLWRNORM, and
	POLLWRBAND also for POSIX 2008.
	* sysdeps/unix/sysv/linux/bits/poll.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/poll.h: Likewise.

	* include/link.h (struct link_map): Move l_used into its own word.
	* elf/dl-lookup.c (_dl_lookup_symbol_x): Only update l_used when it is
	still zero.
	* elf/dl-object.c (_dl_new_object): Set dl_used if we know it is
	never really used.

2009-12-13  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/strcspn.S Include <init-arch.h>
	instead of <ifunc-defines.h>.  Use bit_XXX and index_XXX to
	check processor feature.
	* sysdeps/i386/i686/multiarch/strlen.S: Likewise.
	* sysdeps/i386/i686/multiarch/strspn.S: Likewise.
	* sysdeps/x86_64/multiarch/init-arch.h (bit_SSE2): New definition.
	(index_SSE2): Likewise.

2009-12-09  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/init-arch.h: Include <ifunc-defines.h>
	if __ASSEMBLER__ is defined.
	(bit_SSSE3): New.  Defined for __ASSEMBLER__.
	(bit_SSE4_2): Likewise.
	(index_SSSE3): Likewise.
	(index_SSE4_2): Likewise.
	* sysdeps/x86_64/multiarch/rawmemchr.S: Include <init-arch.h>
	instead of <ifunc-defines.h>.  Use bit_XXX and index_XXX to
	check processor feature.
	* sysdeps/x86_64/multiarch/strchr.S: Likewise.
	* sysdeps/x86_64/multiarch/strcmp.S: Likewise.
	* sysdeps/x86_64/multiarch/strcpy.S: Likewise.
	* sysdeps/x86_64/multiarch/strcspn.S: Likewise.
	* sysdeps/x86_64/multiarch/strlen.S: Likewise.
	* sysdeps/x86_64/multiarch/strrchr.S: Likewise.
	* sysdeps/x86_64/multiarch/strspn.S: Likewise.

2009-12-08  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/elf/initfini.c: Update according to generic/initfini.c.

2009-12-01  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/sh/sh4/fpu/fpu_control.h (__set_fpscr): New prototype.

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

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Redefine O_SYNC and
	O_DSYNC to match 2.6.33+ kernels.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

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

	[BZ #11000]
	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): Always set
	*herrnop before returning.
	* nis/nss_nisplus/nisplus-hosts.c (internal_gethostbyname2_r):
	Likewise.
	* nss/nss_files/files-hosts.c (_nss_files_gethostbyname4_r): Handle
	TRYAGAIN errors separately.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix error handling of
	*name4_r after functions.

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

	[BZ #11046]
	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_internal): Fix kernel
	version check.

2009-11-05  Bruno Haible  <bruno@clisp.org>

	[BZ #11056]
	* posix/unistd.h (execve, fexecve, execv, execvp, execvpe): Mark the
	argv argument as non-NULL.
	(execle, execl, execlp): Mark the first ARG argument as non-NULL.

2009-12-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/socket.h: Define mmsghdr and declare
	recvmmsg.
	* sysdeps/unix/sysv/linux/syscalls.list: Add entry for recvmmsg.
	* sysdeps/unix/sysv/linux/Versions: Add recvmmsg for GLIBC_2.12.

2009-12-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* sysdeps/s390/s390-64/dl-trampoline.S: Add CFI for the call saved
	registers.
	* sysdeps/s390/s390-32/dl-trampoline.S: Likewise.
	* sysdeps/s390/s390-32/s390-mcount.S: Add CFI.
	* sysdeps/s390/s390-64/s390x-mcount.S: Add CFI.

2009-11-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/sched.h: Define SCHED_IDLE and
	SCHED_RESET_ON_FORK.

2009-11-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_internal): Avoid code
	only used on truly ancient kernel if configuration requires a more
	recent kernel.

2009-11-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3662]
	* stdlib/random_r.c: Fix comments for __initstate_r and __setstate_r.
	Patch by Christopher Neufeld <glibcbugs0000@cneufeld.ca>.

	* sysdeps/unix/grantpt.c (pts_name): Take additional parameter,
	pass it on to __ptsname_internal.
	(grantpt): Pass stat64 pointer to pts_name.  Remove stat call here.
	* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_internal): New function.
	All the code from __ptsname_r but take additional parameter.  Use that
	instead of pointer to local stat64 variable.
	(__ptsname_r): Call __ptsname_internal with pointer to local stat64
	variable.
	* include/stdlib.h: Declare __ptsname_internal.

	* sysdeps/unix/grantpt.c (grantpt): Use CLOSE_ALL_FDS is available
	before the exec.
	* sysdeps/unix/sysv/linux/grantpt.c: New file.
	* login/programs/pt_chown.c (main): Don't print message on errors
	when doing real work.

	* sysdeps/unix/grantpt.c (grantpt): Only get tty group information
	once.

	* csu/elf-init.c (__libc_csu_irel): New function.  Code to perform
	irel relocations split out from...
	(__libc_csu_init): ...here.
	* csu/libc-start.c [!SHARED]: Call __libc_csu_irel early.

2009-11-23  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Use struct timespec
	for timestamps also if __USE_XOPEN2K8.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.

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

	* nscd/connections.c (restart): Try harder to re-exec.

	* sunrpc/create_xid.c (_create_xid): Reinitialize state after fork.

	* sysdeps/unix/sysv/linux/ntp_gettimex.c:  New file.
	* sysdeps/unix/sysv/linux/Makefile: Add rules to build ntp_gettimex.
	* sysdeps/unix/sysv/linux/Versions: Export ntp_gettimex for GLIBC_2.12.
	* sysdeps/unix/sysv/linux/sys/timex.h (ntptimeval): Add tai member and
	some placeholders.  Redirect ntp_gettime to ntp_gettimex.
	* sysdeps/unix/sysv/linux/ntp_gettime.c: Adjust for header change.

	* sysdeps/unix/sysv/linux/sys/timex.h (MOD_TAI, MOD_MICRO, MOD_NANO):
	Define.
	(STA_RONLY): Add STA_NANO, STA_MODE, and STA_CLK.

2009-11-18  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #10162]
	* sysdeps/ia64/memchr.S: Don't use a simple loop on data shorter
	than software pipeline.  Properly recover from shorter read.

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

	[BZ #10958]
	* libio/libio.h (_IO_getwc_unlocked): Check for _wide_data being
	initialized before using it.
	(_IO_putwc_unlocked): Likewise.

	[BZ #10918]
	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ISSET_S): Use __const
	in cast to not throw away const-ness of parameters.
	(__CPU_EQUAL_S): Likewise.
	(__CPU_OP_S): Likewise.

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Introduce new symbol
	F_OWNER_PGRP and mark F_OWNER_GID obsolete.  The kernel people made
	this gratuitous change and we have to keep compatibility.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

2009-11-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Change misleading names
	of parameters of sync_file_range.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

2009-11-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sync_file_range.c (sync_file_range):
	Implement using sync_file_range2 syscall if __NR_sync_file_range2
	is defined.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c: New
	file.

2009-11-17  Paolo Bonzini  <bonzini@gnu.org>

	* posix/bug-regex30.c: New file.
	* posix/Makefile: Add rules to build and run bug-regex30.
	* posix/regcomp.c (re_compile_fastmap_iter): Add all multibyte
	character lead bytes when there is a range in a COMPLEX_BRACKET.
	Reported by Oleg Bylatov.

2009-11-17  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10969]
	* locale/duplocale.c (__duplocale): Handle LC_GLOBAL_LOCALE special.
	* locale/tst-duplocale.c: New file.
	* locale/Makefile (tests): Add tst-duplocale.

	[BZ #10968]
	* locale/langinfo.h (_NL_LOCALE_NAME): Correct definition.
	Patch by Bruno Haible <bruno@clisp.org>.
	* locale/tst-locname.c: New file.
	* locale/Makefile (tests): Add tst-locname.

	[BZ #10972]
	* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Add new MADV_*
	constants from recent kernels.
	* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise.

2009-11-09  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #10162]
	* sysdeps/ia64/memchr.S: Use a simple loop on data shorter than
	software pipeline.

2009-11-09  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/unix/sysv/linux/i386/fallocate.c: Include errno.h.
	(fallocate): Return ENOSYS if __NR_fallocate is not defined.
	* sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.

2009-11-06  Mike Frysinger  <vapier@gentoo.org>

	* posix/bug-regex29.c: Include stdio.h.

2009-11-14  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10939]
	* Versions.def: Define GLIBC_2.12 for libc.
	* manual/errno.texi: Add ERFKILL entry.
	* sysdeps/unix/sysv/linux/Versions: Add new errlist compat entries
	for 2.12.
	* sysdeps/unix/sysv/linux/bits/errno.h: Define ERFKILL is not done.
	* sysdeps/unix/sysv/linux/sparc/bits/errno.h: Likewise.

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Update F_SETOWN_EX and
	F_GETOWN_EX definitions according to corrected kernel definitions.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

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

	* version.h: Bump for 2.12 development.

2009-11-10  Andreas Schwab  <schwab@redhat.com>

	* resolv/mapv4v6hostent.h (map_v4v6_hostent): Return non-zero if
	out of buffer space.
	* resolv/nss_dns/dns-host.c (getanswer_r): Check for
	map_v4v6_hostent running out of space.

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

	* string/bits/string3.h (memset): If the second parameter is constant
	and zero there is likely no transposition.
	Patch by Caolan McNamara <caolanm@redhat.com.

2009-11-04  Philippe De Muyter  <phdm@macqel.be>

	* sysdeps/powerpc/fpu/e_sqrt.c: Fix spelling of (Newton-)Raphson.
	* sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.

2009-10-30  Holger Hans Peter Freyther  <zecke@selfish.org>

	* malloc/memusagestat.c (main): Fix spelling in an error message.

2009-11-01  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/dl-sym.c (do_sym): Properly handle STT_GNU_IFUNC symbols.
	* elf/ifuncmain3.c (main): Test dlopen STT_GNU_IFUNC symbol.

2009-11-03  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Add
	readahead.

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

	* sysdeps/powerpc/powerpc64/dl-machine.h (resolve_ifunc): Don't
	relocate opd entry when resolving prelink conflicts.

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

	* misc/sys/uio.h (preadv, pwritev): Fix type of last argument
	when -D_FILE_OFFSET_BITS=64.

	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (fallocate): Fix types
	of last two arguments when -D_FILE_OFFSET_BITS=64.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (fallocate): Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (fallocate): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (fallocate): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (fallocate): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (fallocate): Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h (fallocate): Likewise.

2009-11-03  Andreas Schwab  <schwab@linux-m68k.org>

	[BZ #4457]
	* sysdeps/generic/libgcc_s.h: New file.
	* sysdeps/generic/framestate.c: Include it and use LIBGCC_S_SO.

2009-11-01  Ulrich Drepper  <drepper@redhat.com>

	* malloc/hooks.c (free_check): Restore locking and call _int_free
	appropriately.

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

	* version.h (VERSION): Bump for 2.11 release.
	* include/features.h (__GLIBC_MINOR__): Bump to 11.

	* elf/tst-execstack.c (do_test): Add cast to avoid warning.

	* stdio-common/scanf13.c (main): Remove unused variable wbuf.

	* stdlib/tst-strtol.c (tests): Mark one more constant as unsigned
	to avoid warning.
	* stdlib/tst-strtoll.c (tests): Likewise.

	[BZ #9986]
	* time/strftime_l.c (__strftime_internal): Allow %OC.

	* misc/mkostemps.c: New file.
	* misc/mkostemps64.c: New file.

2009-10-30  Andreas Schwab  <schwab@redhat.com>

	* locale/programs/locale-spec.c: Include <error.h> and
	<libintl.h>.

	* sysdeps/unix/sysv/linux/readlinkat.c: Fix last change.

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

	* Makefile (dist-prepare): New target.
	(tag-for-dist): Target removed.
	(glibc-%.tar): Pattern rule removed.
	(%.tar): New pattern rule, does simple use of git archive.
	(dist-version): Remove variable definition.
	(dist): Just depend on that.  Add .tar.xz dependency.
	If dist-version variable not set on command line, depend on
	dist-prepare, re-invoke with dist-version set via git describe.

	* Makerules (%.xz): New pattern rule.

2009-10-28  Alan Modra  <amodra@bigpond.net.au>

	* elf/ifuncdep2.c: Include ifunc-sel.h.
	(global): Delete.
	(foo1_ifunc, foo2_ifunc, foo3_ifunc): Use ifunc_sel.
	* elf/ifuncmain1.c (global): Delete.
	* elf/ifuncmain1vis.c: Likewise.
	* elf/ifuncmain2.c: Likewise.
	* elf/ifuncmain5.c: Likewise.
	* elf/ifuncmod3.c: Likewise.
	* elf/ifuncmain6pie.c: Include ifunc-sel.h.
	(foo_ifunc): Use ifunc_one.
	* elf/ifuncmain7.c: Likewise.
	* elf/ifuncmod1.c: Include ifunc-sel.h.
	(global): Define protected var.
	(foo_ifunc, foo_hidden_ifunc, foo_protected_ifunc): Use ifunc_sel.
	* elf/ifuncmod5.c: Likewise.
	* sysdeps/generic/elf/ifunc-sel.h: New file.
	* sysdeps/powerpc/elf/ifunc-sel.h: New file.

2009-07-30  Alan Modra  <amodra@bigpond.net.au>

	* elf/elf.h (R_PPC_NUM, R_PPC64_NUM): Delete unused and incorrect.
	(R_PPC_REL16*): Correct comments.
	(R_PPC_IRELATIVE, R_PPC64_IRELATIVE, R_PPC64_JMP_IREL): Define.
	(R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI,
	 R_PPC64_REL16_HA): Define.
	* sysdeps/powerpc/powerpc32/dl-irel.h: New file.
	* sysdeps/powerpc/powerpc64/dl-irel.h: New file.
	* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_machine_fixup_plt):
	Delete unused "reloc" param.
	(__process_machine_rela): Handle R_PPC_IRELATIVE.
	* sysdeps/powerpc/powerpc32/dl-machine.h (__elf_machine_fixup_plt):
	Delete "reloc" param.
	(elf_machine_rela): Handle STT_GNU_IFUNC functions and
	R_PPC_IRELATIVE.
	* sysdeps/powerpc/powerpc64/dl-machine.h (resolve_ifunc): New function.
	(elf_machine_rela): Handle STT_GNU_IFUNC functions and new ifunc
	relocations.

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

	[BZ #10315]
	* sysdeps/gnu/netinet/udp.h: Define UDP_CORK, UDP_ENCAP,
	UDP_ENCAP_ESPINUDP_NON_IKE, UDP_ENCAP_ESPINUDP, and
	UDP_ENCAP_L2TPINUDP.

	[BZ #10349]
	* sysdeps/posix/tempname.c (__gen_tempname): Take new second
	parameter, specifying length of prefix.
	* stdio-common/tempname.c: Likewise.
	* include/stdio.h: Adjust prototypes.
	* libio/oldtmpfile.c: Adjust caller.
	* misc/mkdtemp.c: Likewise.
	* misc/mkostemp.c: Likewise.
	* misc/mkostemp64.c: Likewise.
	* misc/mkstemp.c:  Likewise.
	* misc/mkstemp64.c: Likewise.
	* misc/mktemp.c: Likewise.
	* stdio-common/tempnam.c: Likewise.
	* stdio-common/tmpfile.c: Likewise.
	* stdio-common/tmpnam.c: Likewise.
	* stdio-common/tmpnam_r.c: Likewise.
	* misc/mkstemps.c: New file.
	* misc/mkstemps64.c: New file.
	* stdlib/stdlib.h: Add prototypes.
	* misc/Makefile (routines): Add mkstemps and mkstemps64.
	* misc/Versions: Export mkstemps and mkstemps64 for GLIBC_2.11.

2009-10-29  Ulrich Drepper  <drepper@redhat.com>

	* locale/iso-639.def: Add sml entry.

	[BZ #10391]
	* resolv/res_send.c (send_dg): Initialize resplen.

	[BZ #10446]
	* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Match sigevent
	definition to the kernel's.
	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise.

2009-08-18  Anders Johansson  <ajohansson@novell.com>

	* nscd/aicache.c: Fix mixing up dataset and dataset->resp
	offsets and record sizes in assert()s and response sending.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.

2009-10-29  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10540]
	* nss/nss_files/files-hosts.c (_nss_files_gethostbyname4_r): If
	/etc/hosts does not exist set errnop and herrnop appropriately.
	Patch by Steve Langasek <vorlon@debian.org>.

	[BZ #10553]
	* malloc/malloc.c (malloc_info): Fix typos in format strings.
	Patch by John Sullivan <jsrhbz@kanargh.force9.co.uk>.

	[BZ #10564]
	* login/utmp_file.c (TIMEOUT): Increase to 10.

	[BZ #10609]
	* sysdeps/unix/sysv/linux/faccessat.c: Fix handling of empty parameters
	for file names in case the syscall is not available.
	* sysdeps/unix/sysv/linux/fchmodat.c: Likewise.
	* sysdeps/unix/sysv/linux/fchownat.c: Likewise.
	* sysdeps/unix/sysv/linux/futimesat.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstatat64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fchownat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstatat.c: Likewise.
	* sysdeps/unix/sysv/linux/linkat.c: Likewise.
	* sysdeps/unix/sysv/linux/mkdirat.c: Likewise.
	* sysdeps/unix/sysv/linux/openat.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/fchownat.c: Likewise.
	* sysdeps/unix/sysv/linux/readlinkat.c: Likewise.
	* sysdeps/unix/sysv/linux/renameat.c: Likewise.
	* sysdeps/unix/sysv/linux/symlinkat.c: Likewise.
	* sysdeps/unix/sysv/linux/unlinkat.c: Likewise.
	* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise.
	* sysdeps/unix/sysv/linux/xmknodat.c: Likewise.

	[BZ #10643]
	* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): If thread
	creation filed, remove the request from the 'requests' list and signal
	the caller that the request is finished.

	[BZ #10692]
	* nis/nss_nis/nis-grp.c (internal_nis_getgrent_r): Don't free buffer
	in error if batch_read.  Patch by Joe Landers <jlanders@vmware.com>.

	[BZ #10713]
	* nis/nss_nis/nis-grp.c (internal_nis_endgrent): Start freeing blocks
	from intern.start.  Patch by Joe Landers <jlanders@vmware.com>.

	[BZ #10780]
	* libio/ioputs.c (_IO_puts): Make sure to not return a number which
	overflows the int return type.

	[BZ #10717]
	* malloc/memusagestat.c (main): Fix repairing of trace files.  We also
	have to compute maxsize_total, we have to update the variables, and
	the also_total handling must happen after the repair.

	[BZ #10742]
	* nscd/dbg_log.c (dbg_log): Print timestamp before the message text.
	Based on patch by Jeffrey Bastian <jbastian@redhat.com>.

2009-10-27  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/unix/sysv/linux/getpt.c (__posix_openpt): Make sure
	errno is always set when returning unsuccessfully.

2009-10-29  Andreas Schwab  <schwab@redhat.com>

	* malloc/memusage.c (update_data): Fix index wraparound handling
	so that buffer_cnt is actually reset.

2009-10-29  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10784]
	* sysdeps/unix/sysv/linux/ttyname.c (getttyname): Always copy name
	of the directory we look at into the static buffer if there is one
	at the start of the loop.

	[BZ #10789]
	* sysdeps/generic/netinet/ip.h: Define IPTOS_ENC* and IPTOS_DSCP*
	macros.  Patch by Philip Prindeville <philipp@redfish-solutions.com>.

	[BZ #10840]
	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_F_GETOWN_EX.
	* sysdeps/unix/sysv/linux/fcntl.c: Implement F_GETOWN using F_GETOWN_EX
	if possible.
	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define F_OWNER_*
	and f_owner_ex.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

	[BZ #10847]
	* sysdeps/gnu/getutmp.c: Allow compatibility code to play around with
	getutmpx symbol.

	[BZ #10823]
	* resolv/res_send.c (__libc_res_nsend): Fix copying of IPv4 server
	addresses.  Patch by Petar Bogdanovic <petar@smokva.net>.

2009-10-24  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/ieee754/ldbl-128/w_expl.c: Add hidden_def (__expl).

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

	[BZ #10817]
	* math/w_coshl.c (__coshl): Use __finitel instead of __finite.
	Reported by Ray Chason.

2009-10-21  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	strend-sse4.
	* sysdeps/x86_64/multiarch/strchr.S: New file.
	* sysdeps/x86_64/multiarch/strend-sse4.S: New file.
	* sysdeps/x86_64/multiarch/strrchr.S: New file.

2009-10-21  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-sym.c (do_sym): Resolve STT_GNU_IFUNC symbols.

2009-10-19  Andreas Schwab  <schwab@redhat.com>

	* include/math.h: Add hidden protos for __exp/__expf/__expl.
	* sysdeps/ieee754/dbl-64/w_exp.c: Add hidden alias.
	* sysdeps/ieee754/flt-32/w_expf.c: Likewise.
	* sysdeps/ieee754/ldbl-96/w_expl.c: Likewise.
	* sysdeps/i386/fpu/s_expm1.S: Call __exp to handle overflow.
	* sysdeps/i386/fpu/s_expm1f.S: Call __expf to handle overflow.
	* sysdeps/i386/fpu/s_expm1l.S: Call __expl instead of
	__ieee751_expl to handle overflow.

2009-10-14  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: New file.

2009-10-13  Andreas Schwab  <schwab@redhat.com>

	* csu/elf-init.c (__libc_csu_init): Run preinit array even if
	!USE_MULTIARCH.

2009-10-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10730]
	* stdlib/random_r.c (__initstate_r): Remove duplicate __set-errno.
	Patch in part by Steve Ward <planet36@gmail.com>.

	[BZ #10731]
	* stdlib/rand_r.c: Fix typo.

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

2009-10-06  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-load.c (_dl_map_object_from_fd): Close fd before
	returning if RTLD_NOLOAD.

2009-10-06  Roland McGrath  <roland@redhat.com>

	* sysdeps/x86_64/multiarch/strstr-c.c
	[! SHARED]: Omit libc_hidden_builtin_def fiddling.

	* sysdeps/x86_64/multiarch/strcasestr-c.c: Remove
	libc_hidden_builtin_def fiddling, does not apply to strcasestr at all.

	* sysdeps/x86_64/multiarch/init-arch.h
	[NOT_IN_libc] (__get_cpu_features): Define it as a macro.
	(HAS_CPU_FEATURE): New macro.
	(HAS_SSE2, HAS_POPCOUNT, HAS_SSE4_2, HAS_FMA): Use it.
	* sysdeps/x86_64/multiarch/init-arch.c
	(__get_cpu_features): #undef it before definition.

2009-10-05  Andreas Schwab  <schwab@redhat.com>

	* locale/C-time.c: Revert week-1stday back to 19971130 and set
	first_weekday to 1 and first_workday to 2.

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

	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define F_SETOWN_EX and
	F_GETOWN_EX.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.

2009-09-28  Andreas Schwab  <schwab@redhat.com>

	* stdio-common/printf_fp.c: Check for and avoid integer overflows.
	* stdio-common/vfprintf.c: Likewise.

2009-09-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/mkdirat.c: Include <hurd/fd.h>.
	(mkdirat): Call __directory_name_split_at instead of
	__directory_name_split.

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

	* locale/programs/locale-spec.c (locale_special): If nothing matches
	fail with an appropriate message.

2009-09-10  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Exclude binutils 2.X.  Support binutils 2.100
	and XX.

2009-09-25  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-reloc.c (RESOLVE_MAP): Always pass
	DL_LOOKUP_ADD_DEPENDENCY to _dl_lookup_symbol_x.

2009-09-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* bits/termios.h [__USE_UNIX98] (IXANY): Define macro.

2009-09-20  Andreas Schwab  <schwab@linux-m68k.org>

	* iconvdata/iso646.c (gconv_init): Correctly initialize the
	character size elements in step data.

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

	* po/hu.po: Update from translation team.
	* po/vi.po: Likewise.

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

	* libio/wfileops.c (_IO_wfile_seekoff): Remove unused variables.

2009-09-15  Roland McGrath  <roland@redhat.com>

	* aclocal.m4 (GLIBC_PROVIDES): Add _AS_ECHO_PREPARE.
	* nptl/sysdeps/pthread/configure: Regenerated.
	* nptl/sysdeps/x86_64/configure: Regenerated.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
	* sysdeps/x86_64/elf/configure: Regenerated.

	* Makefile (autoconf-it): Set execute bit only on top-level configure.

	* configure.in: Let add-ons set $libc_add_on_config_subdirs to have
	the effect of AC_CONFIG_SUBDIRS relative to the add-on directory.
	* aclocal.m4 (GLIBC_PROVIDES): Add AC_CONFIG_SUBDIRS.
	* configure: Regenerated.

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

	* posix/getconf.c (main): Handle -- on command line.

2009-09-05  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Support binutils 2.100 and 3.0.

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

	* sysdeps/s390/s390-32/____longjmp_chk.c: Removed.
	* sysdeps/s390/s390-64/____longjmp_chk.c: Removed.
	* sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c: New file.

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

	* locale/programs/ld-collate.c (struct locale_collate_t): Add
	unnamed_section_defined field.
	(collate_read): Test and set unnamed_section_defined.

	* posix/getconf.c (vars): Handle POSIX2_LINE_MAX in addition to
	_POSIX2_LINE_MAX.

2009-09-04  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Support binutils 2.20.

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

	* sysdeps/i386/i686/multiarch/strstr-c.c (__strstr_sse42,
	__strstr_ia32): Add attribute_hidden.

2009-09-01  Andreas Schwab  <schwab@redhat.com>

	* hesiod/nss_hesiod/hesiod-grp.c (internal_gid_from_group): Fix
	parsing of group entry.

2009-09-02  Andreas Schwab  <schwab@redhat.com>

	* libio/wfileops.c (_IO_wfile_seekoff): Account for readahead in
	external buffer.  Always discard readahead in internal buffer.
	* libio/Makefile (tests): Add bug-wsetpos.
	* libio/bug-wsetpos.c: New file.

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

	* sysdeps/x86_64/multiarch/strstr-c.c (__strstr_sse42, __strstr_sse2):
	Add attribute_hidden.
	* sysdeps/x86_64/multiarch/strcasestr-c.c (__strcasestr_sse42,
	__strcasestr_sse2): Likewise.
	* sysdeps/x86_64/multiarch/s_fma.c (__fma_sse2): Add attribute_hidden.
	(__fma_fma): Make static.
	* sysdeps/x86_64/multiarch/s_fmaf.c (__fmaf_sse2): Add attribute_hidden.
	(__fmaf_fma): Make static.

2009-08-31  Andreas Schwab  <schwab@redhat.com>

	* libio/wfileops.c (_IO_wfile_seekoff): Remove dead code and
	reformulate in-buffer optimisation check to match code in
	_IO_new_file_seekoff.

2009-08-31  Joshua W. Boyer  <jwboyer@linux.vnet.ibm.com>

	* sysdeps/powerpc/powerpc32/power6/memcpy.S: Change srdi instruction
	to srwi in 32-bit memcpy for power6.

2009-09-01  Andreas Schwab  <schwab@redhat.com>

	* include/stdio.h: Declare hidden proto for fflush.
	* libio/iofflush.c: Add hidden weak alias for fflush.

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

	* sysdeps/x86_64/fpu/bits/mathinline.h: Include bits/wordsize.h.
	(__signbitf, __signbit): Only use SSE inline asm for 64-bit.

2009-08-31  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/x86_64/fpu/bits/mathinline.h: Use __asm instead of asm.

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

	[BZ #10560]
	* malloc/malloc.c: Add local assert definition to avoid problems with
	memory allocation in the real one.

2009-08-27  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/init-arch.c (ENABLE_SSSE3_ON_ATOM):
	Removed.
	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Don't
	turn off SSSE3 on Atom.

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

	* stdlib/tst-strtol.c (tests): More tests.
	* stdlib/tst-strtoll.c (tests): Likewise.

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

	* sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: New file.

	* sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: New file.

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

	* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: Add llround aliases.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c: New file.

	* sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: New file

	* sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: New file.

	* sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: New file.

2009-08-25  Joseph Myers  <joseph@codesourcery.com>

	* math/s_fdiml.c (__fdiml): Use fpclassify instead of fpclassifyl.

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

	* sysdeps/x86_64/fpu/s_scalbln.c: New file.
	* sysdeps/x86_64/fpu/s_scalbn.c: New file.

	* sysdeps/ieee754/dbl-64/wordsize-64/s_scalbn.c: New file.

	* sysdeps/x86_64/fpu/s_signbit.S: New file.
	* sysdeps/x86_64/fpu/s_signbitf.S: New file.

	* sysdeps/ieee754/dbl-64/wordsize-64/s_lround.c: New file.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_trunc.c: New file.

	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Remove
	leftover YMM_SIZE definition.

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

	* math/math_private.h (ieee_double_shape_type): Add uint64_t word to
	union.
	(EXTRACT_WORDS64, INSERT_WORDS64): Define.
	* sysdeps/x86_64/fpu/math_private.h (EXTRACT_WORDS64, INSERT_WORDS64):
	Redefine.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: New file.

	* sysdeps/x86_64/fpu/math_private.h: Add specialized GET_FLOAT_WORD
	and SET_FLOAT_WORD definitions.

2009-08-24  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/syscall-template.S: New file.
	* sysdeps/unix/make-syscalls.sh: Generate rules to use it.
	* sysdeps/unix/Makefile (omit-deps): Do not omit syscall stubs' deps.
	(compile-syscall): Pass mkdep and -g options as normal.
	(s-proto.d, s-proto-cancel.d): Don't "-include" these.
	(common-generated): Don't add them here.

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

	* math/s_fdim.c: In case of overflows set errno.
	* math/s_fdimf.c: Likewise.
	* math/s_fdiml.c: Likewise.

	* math/math.h: Define math_errhandling of __FAST_MATH__ is not defined.
	* sysdeps/i386/fpu/bits/mathinline.h: Undefine math_errhandling if we
	are using the inline optimizations.

	* sysdeps/x86_64/fpu/bits/mathinline.h (__signbit): Optimize.
	(__signbitf): Likewise.

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

	* posix/regcomp.c (parse_dup_op): Verify the expression is correctly
	terminated.
	* posix/Makefile (tests): Add bug-regex29.
	* posix/bug-regex29.c: New file.

	* posix/unistd.h: Define _POSIX_VERSION and _POSIX2_* correctly if
	older POSIX versions are selected.

	* stdio-common/printf_fp.c: ISO C expects to print the sign of NaN
	as well.
	* stdio-common/printf_fphex.c: Likewise.
	* stdio-common/tstdiomisc.c: Add more tests.

	* locale/locale.h: Include xlocale.h and the thread-local locale
	declarations for XPG7, not XPG6.

2009-08-21  Andreas Schwab  <schwab@redhat.com>

	* sysdeps/powerpc/powerpc32/____longjmp_chk.S: Removed.
	* sysdeps/powerpc/powerpc64/____longjmp_chk.S: Removed.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S: New file.
	* sysdeps/powerpc/powerpc32/__longjmp-common.S: Move CHECK_SP earlier.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.

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

	* sysdeps/generic/elf/backtracesyms.c (__backtrace_symbols):
	Use l_addr instead of l_map_start (dli_fbase).
	Print "FILE([+-]OFFSET) [ADDRESS]" with the file-relative
	address when there is no proximate symbol.
	* sysdeps/generic/elf/backtracesymsfd.c (__backtrace_symbols_fd):
	Likewise.

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

	* scripts/gen-as-const.awk: Fix test for 64-bit platform.

2009-08-14  Ulrich Drepper  <drepper@redhat.com>

	* test-skeleton.c (signal_handler): Renamed from timeout_handler.
	Also handle SIGINT.  In that case only do the cleanup and then
	re-raise the signal.
	(main): Install handler for SIGINT.

2009-08-10  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

	* stdlib/longlong.h [__sh__] (udiv_qrnnd, sub_ddmmss): Add "t" to
	clobber list.

2009-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/Makefile (distribute): Add tst-audit6.c tst-auditmod6a.c
	tst-auditmod6b.c tst-auditmod6c.c tst-audit7.c tst-auditmod7a.c
	tst-auditmod7b.c.
	(tests): Add tst-audit6 tst-audit7.
	(modules-names): Add st-auditmod6a tst-auditmod6b tst-auditmod6c
	tst-auditmod7a tst-auditmod7b.
	($(objpfx)tst-audit6): New.
	($(objpfx)tst-audit6.out): Likewise.
	($(objpfx)tst-audit7): Likewise.
	($(objpfx)tst-audit7.out): Likewise.
	(tst-audit6-ENV): Likewise.
	(tst-audit7-ENV): Likewise.
	(CFLAGS-tst-auditmod6b.c): Likewise.
	(CFLAGS-tst-auditmod6c.c): Likewise.
	(CFLAGS-tst-auditmod7b.c): Likewise.
	* elf/tst-audit6.c: New file.
	* elf/tst-audit7.c: New file.
	* elf/tst-auditmod6a.c: New file.
	* elf/tst-auditmod6b.c: New file.
	* elf/tst-auditmod6c.c: New file.
	* elf/tst-auditmod7a.c: New file.
	* elf/tst-auditmod7b.c: New file.
	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Move
	saving and restoring SSE/AVX registers to ...
	* sysdeps/x86_64/dl-trampoline.h: This.  New file.

2009-08-07  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/strcspn.S (STRCSPN): Use PIC
	only if SHARED is defined.
	* sysdeps/i386/i686/multiarch/strspn.S (strspn): Likewise.

2009-08-03  Jim Meyering  <meyering@redhat.com>

	* sysdeps/i386/configure.in: Use AC_HEADER_CHECK.

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

	* sysdeps/x86_64/multiarch/strlen.S: Move SSE4.2 version into the same
	section as the other functions for this architecture.
	* sysdeps/x86_64/multiarch/rawmemchr.S: Likewise.

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

	* sysdeps/x86_64/strcmp.S: Add support to compile with
	USE_SSSE3.  In this case palignr is used.
	* sysdeps/x86_64/multiarch/strcmp.S (strcmp): If SSE4.2 is not
	available but SSSE3 is, pick __str{,n}cmp_ssse3.
	* sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
	Add strcmp-ssse3 and strncmp-ssse3.
	* sysdeps/x86_64/multiarch/strcmp-ssse3.S: New file.
	* sysdeps/x86_64/multiarch/strncmp-ssse3.S: New file.

	* sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE42): Avoid
	warning through fake initialization.

2009-08-07  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/strlen.S (ENTRY): Add the missing "; \".

2009-08-07  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-lookup.c (do_lookup_x): Enter correct name into table of
	unique symbols.

2009-08-05  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Properly use
	EBX from EAX = 1.  Handle EAX = 11.

2009-08-07  Andreas Schwab  <schwab@redhat.com>

	* Makefile (TAGS): Use separate sed -e expressions to avoid \
	inside ''.

2009-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/multiarch/strcspn.S: Add comments for no
	hidden IFUNC functions.
	* sysdeps/i386/i686/multiarch/strspn.S: Likewise.

	* sysdeps/i386/i686/multiarch/strlen.S: New file.

	* sysdeps/i386/i686/multiarch/Makefile [subdir=string]
	(sysdep_routines): Add strcspn-c, strpbrk-c, strspn-c, strstr-c, and
	strcasestr-c.
	(CFLAGS-strcspn-c.c): Define.
	(CFLAGS-strpbrk-c.c): Define.
	(CFLAGS-strspn-c.c): Define.
	(CFLAGS-strstr.c): Define.
	(CFLAGS-strcasestr.c): Define.
	* sysdeps/i386/i686/multiarch/strcspn-c.c: New file.
	* sysdeps/i386/i686/multiarch/strcspn.S: New file.
	* sysdeps/i386/i686/multiarch/strpbrk-c.c: New file.
	* sysdeps/i386/i686/multiarch/strpbrk.S: New file.
	* sysdeps/i386/i686/multiarch/strspn-c.c: New file.
	* sysdeps/i386/i686/multiarch/strspn.S: New file.
	* sysdeps/i386/i686/multiarch/strstr-c.c: New file.
	* sysdeps/i386/i686/multiarch/strstr.c: New file.
	* sysdeps/i386/i686/multiarch/strcasestr-c.c: New file.
	* sysdeps/i386/i686/multiarch/strcasestr.c: New file.
	* sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE42): Use
	-16L instead of 0xfffffffffffffff0L.
	* sysdeps/x86_64/multiarch/strspn-c.c (__strspn_sse42): Likewise.

2009-08-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/configure.in: Add test for <cpuid.h>.

2009-07-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (longjmp_msg): Yet
	another rewrite.  Much smaller and faster.
	* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (longjmp_msg): Get
	ss_flags from the correct location.

2009-07-31  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/Makefile (sysdep_routines): Add cacheinfo.
	* sysdeps/i386/i686/cacheinfo.c: New file.
	* sysdeps/i386/i686/multiarch/Makefile: New file.
	* sysdeps/i386/i686/multiarch/ifunc-defines.sym: New file.
	* sysdeps/i386/i686/multiarch/init-arch.c: New file.
	* sysdeps/i386/i686/multiarch/init-arch.h: New file.
	* sysdeps/i386/i686/multiarch/sched_cpucount.c: New file.
	* sysdeps/unix/sysv/linux/i386/i686/sysconf.c: New file.
	* sysdeps/x86_64/cacheinfo.c: Include <cpuid.h>.
	(__cpuid_count): New. Provide the default.
	(__x86_64_prefetchw): Define only if DISABLE_PREFETCHW is not defined.
	(__x86_64_preferred_memory_instruction): Define only if
	DISABLE_PREFERRED_MEMORY_INSTRUCTION is not defined.
	(intel_check_word): Use __cpuid.
	(handle_intel): Likewise.
	(handle_amd): Likewise.
	(__cache_sysconf): Likewise.
	(init_cacheinfo): Updated.  Use __cpuid and __cpuid_count.
	(__cache_sysconf): Likewise.
	(init_cacheinfo): Updated.  Use __cpuid and __cpuid_count.
	* sysdeps/x86_64/multiarch/init-arch.c: Include <cpuid.h>.
	(get_common_indeces): Use __cpuid.
	(__init_cpu_features): Likewise.  Disable SSSE3 on Atom only
	if ENABLE_SSSE3_ON_ATOM is not defined.
	* sysdeps/x86_64/multiarch/init-arch.h (HAS_SSE2): Define.
	* sysdeps/x86_64/multiarch/sched_cpucount.c (POPCNT): Use
	popcnt instead of popcntq.

2009-07-31  Jakub Jelinek  <jakub@redhat.com>

	* malloc/Makefile (CFLAGS-obstack.c): Add $(uses-callbacks).

2009-07-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/____longjmp_chk.S: New file.
	* sysdeps/i386/____longjmp_chk.S: Remove all code.  This is now a file
	which always causes a compile error.

	* sysdeps/i386/__longjmp.S: Remove bound-checking pointer support.

	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S: New file.  Content
	comes from...
	* sysdeps/x86_64/____longjmp_chk.S: ...here.  This is now a file
	which always causes a compile error.

	* debug/Makefile (tests): Add tst-longjmp_chk2.
	* debug/tst-longjmp_chk2.c: New file.

	* sysdeps/x86_64/__longjmp.S: Remove CHECK_RSP handling.  Fix CFI.
	Remove incorrect use of BP_SYM.
	* sysdeps/x86_64/____longjmp_chk.S: Rewrite.  Complete implementation
	here now since it is more complex than just a simple check.

	* sysdeps/ia64/backtrace.c (backtrace_helper): Stop backtrace when
	we make no more progress.

2009-07-29  Ulrich Drepper  <drepper@redhat.com>

	* math/s_fma.c: Don't define alias if __fma is a macro.
	* math/s_fmaf.c: Likewise.
	* sysdeps/x86_64/multiarch/s_fma.c: New file.
	* sysdeps/x86_64/multiarch/s_fmaf.c: New file.
	Partially based on a patch by H.J. Lu <hongjiu.lu@intel.com>.

	* sysdeps/x86_64/multiarch/init-arch.h (__get_cpu_features): Declare.
	(HAS_POPCOUNT, HAS_SSE4_2): Add variants which work outside libc.
	New macro HAS_FMA.
	* sysdeps/x86_64/multiarch/init-arch.c (__get_cpu_features): New
	function.
	* include/libc-symbols.h (libm_ifunc): Define.
	* sysdeps/x86_64/multiarch/Versions: New file.

	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Improve CFI.

2009-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/dl-trampoline.S: Properly restore AVX registers.

2009-07-29  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-runtime.c (_dl_fixup): Indicate before _dl_lookup_symbol_x
	call that registers used in calling conventions need to be preserved.
	* elf/dl-lookup.c (do_lookup_x): Use RTLD_*_FOREIGN_CALL macros
	to preserve register content if necessary.
	* sysdeps/x86_64/dl-trampoline.S (_dl_x86_64_save_sse): New function.
	(_dl_x86_64_restore_sse): New function.
	* sysdeps/x86_64/tst-xmmymm.sh: There is now one more function that
	is allowed to modify xmm/ymm registers.

	* stdio-common/scanf15.c: Undefine _LIBC.  We want to test from an
	application's perspective.
	* stdio-common/scanf17.c: Likewise.

2009-07-28  Ulrich Drepper  <drepper@redhat.com>

	* csu/libc-tls.c (__libc_setup_tls) [TLS_TCB_AT_TP]: Don't add TCB
	size to memsz.
	(init_static_tls) [TLS_TCB_AT_TP]: Add it to GL(dl_tls_static_size)
	here.
	* elf/dl-reloc.c (_dl_try_allocate_static_tls): Compute freebytes in
	two steps to catch bugs.

2009-07-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tst-xmmymm.sh: Refine testing.  The script now
	determines which files are used in runtime lookups and only checks
	those for SSE use.
	* sysdeps/x86_64/rtld-memchr.c: Removed.  Not needed with refined
	testing.
	* sysdeps/x86_64/rtld-rawmemchr.c: Removed.
	* sysdeps/x86_64/multiarch/rtld-rawmemchr.c: Removed
	* sysdeps/x86_64/Makefile: Emit warning that tst-xmmymm.sh might
	take a while.

	* elf/dl-open.c: Move _dl_scope_free to...
	* elf/dl-scope.c: ...here.  New file.
	* elf/Makefile (dl-routines): Add scope.

	* resolv/resolv.h (RES_USE_DNSSEC): Define.
	* resolv/res_debug.c (p_option): Handle RES_USE_EDNS0 and
	RES_USE_DNSSEC.
	* resolv/res_mkquery.c (__res_nopt): Set flags for RES_USE_DNSSEC.
	* resolv/res_query.c (__libc_res_nquery): Handle RES_USE_DNSSEC in
	all the places we handled RES_USE_EDNS0 only before.
	Patch by Adam Tkac <atkac@redhat.com>.

2009-07-27  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (do_lookup_x): Fix check for table more than
	3/4 full.  Pass size + 1 rather than size to _dl_higher_prime_number.
	Update size when reallocating.

2009-07-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/tst-xmmymm.sh: New file.  Check whether any of the
	functions used in ld.so modify xmm/ymm registers.
	* sysdeps/x86_64/Makefile:  Hook new test up.
	* sysdeps/x86_64/rtld-memchr.c: New file.
	* sysdeps/x86_64/rtld-memcmp.c: New file.
	* sysdeps/x86_64/rtld-rawmemchr.c: New file.
	* sysdeps/x86_64/rtld-strchr.S: New file.
	* sysdeps/x86_64/rtld-strlen.S: New file.
	* sysdeps/x86_64/multiarch/rtld-rawmemchr.c: New file.
	* sysdeps/x86_64/multiarch/rtld-strlen.S: New file.

2009-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Remove
	strncmp-c.
	* sysdeps/x86_64/multiarch/strcmp.S (aftertail): Removed.
	(exit): Likewise.
	(Byte1): Likewise.
	(Byte2): Likewise.
	(Byte3): Likewise.
	(Byte4): Likewise.
	(Byte5): Likewise.
	(Byte6): Likewise.
	(next_8_bytes): Likewise.
	(Byte0): Remove commented out codes.
	(unaligned_table): Align jump table at 8 bytes.
	Add _sse4_2 to all labels.  Always include "../strcmp.S".
	* sysdeps/x86_64/multiarch/strncmp-c.c: Removed.
	* sysdeps/x86_64/strcmp.S: Add SSE2 support.
	* sysdeps/x86_64/strncmp.S: New file.

2009-07-26  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10422]
	* sysdeps/unix/sysv/linux/eventfd.c: Add compatibility for old
	kernels, dropped when eventfd2 support was added.
	* sysdeps/unix/sysv/linux/signalfd.c: Add compatibility for old
	kernels, dropped when signalfd4 support was added.
	* sysdeps/unix/sysv/linux/kernel-features.h: More CLOEXEC syscalls
	added, name them.

	[BZ #10452]
	* resolv/res_send.c (send_dg): Pass full SERVFAIL, NOTIMP, REFUSED
	replies up.

	* elf/elf.h: Define NT_GNU_GOLD_VERSION.

2009-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/strcmp.S: Some more optimizations for
	modern processor versions.  Patch by H.J. Lu <hongjiu.lu@intel.com>.

	[BZ #10448]
	* sysdeps/posix/getaddrinfo.c (gaih_inet): If NSS module contains no
	callback we must touch the status to avoid using stale value.

	* sysdeps/x86_64/multiarch/strcmp.S: Exclude unused code from being
	compiled in.

2009-07-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/configure.in: Don't automatically include
	/lib/modules/* headers anymore.  We have sane headers in the standard
	place now.

2009-06-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): "hpage",
	"etf3enh" and "highgprs" added.
	(_dl_s390_platforms): "z10" added.
	* sysdeps/s390/dl-procinfo.h (_DL_HWCAP_COUNT, _DL_PLATFORMS_COUNT):
	Increased for the new entries.
	(HWCAP enum): HWCAP_S390_HPAGE, HWCAP_S390_ETF3EH and
	HWCAP_S390_HIGH_GPRS added.

	* sysdeps/s390/s390-64/Makefile: Adjusted to build the new modules.
	* sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c: New file.
	* sysdeps/s390/s390-64/utf16-utf32-z9.c: New file.
	* sysdeps/s390/s390-64/utf8-utf16-z9.c: New file.
	* sysdeps/s390/s390-64/utf8-utf32-z9.c: New file.

2009-07-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/cacheinfo.c [USE_MULTIARCH]: Rearrange code to
	avoid additional cpuid instructions.  Most of the information is
	stored somewhere.

	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add more
	cache descriptors.
	* sysdeps/x86_64/cacheinfo.c (intel_02_known): Likewise.

	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Reset
	SSSE3 bit for Atoms.
	* sysdeps/x86_64/multiarch/strcpy.S: New need to perform Atom test
	here anymore.

	* posix/tst-rfc3484.c (do_test): Initialize entire sockaddr_in
	structure before copying it to avoid warning.
	* posix/tst-rfc3484-2.c (do_test): Likewise.
	* posix/tst-rfc3484-3.c (do_test): Likewise.

	[BZ #10416]
	* include/unistd.h: Make header file suitable for C++ test cases.
	Patch by Duncan Simpson <dps@simpson.demon.co.uk>.

	* sysdeps/unix/sysv/linux/i386/makecontext.S: Ensure we preserve the
	stack alignment in the exit code.

	* elf/dl-lookup.c (dl_lookup_x): The hashval for unique symbol can
	potentially be zero.

	* elf/tst-unique1.c: Extend test to check for unloading DSO with
	unique symbol definition.
	Patch by Jakub Jelinek.
	* elf/dl-lookup.c (do_lookup_x): When entering a new unique symbol,
	make sure the object with the definition cannot be unloaded.  Adjust
	a few types.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in
	the unique symbol hash table should not be const.

2009-07-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/strstr.c: Minor cleanups.  Remove
	unnecesary variables.  Comment fixes.

2009-07-20  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/strstr.c [USE_AS_STRCASESTR] (STRSTR_SSE42):
	Use NONASCII_CASE information provided by the locale to determine
	whether optimized string load function can be used.  Minor cleanups.

2009-07-20  H.J. Lu  <hongjiu.lu@intel.com>

	* string/strcasestr.c (STRCASESTR): New macro.
	(__strcasestr): Renamed to ..
	(STRCASESTR): ...this.
	* string/strstr.c (STRSTR): New macro.
	(strstr): Renamed to ..
	(STRSTR): ...this.
	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	strstr-c strcasestr-c
	(CFLAGS-strstr.c): New.
	(CFLAGS-strcasestr.c): Likewise.
	* sysdeps/x86_64/multiarch/strcasestr-c.c: New file.
	* sysdeps/x86_64/multiarch/strcasestr.c: New file.
	* sysdeps/x86_64/multiarch/strstr-c.c: New file.
	* sysdeps/x86_64/multiarch/strstr.c: New file.

2009-07-20  Ulrich Drepper  <drepper@redhat.com>

	* locale/localeinfo.h (LIMAGIC): Update value for LC_CTYPE.
	* locale/langinfo.h: Define _NL_CTYPE_NONASCII_CASE.
	* locale/C-ctype.c (_nl_C_LC_CTYPE): Add initializer for
	_NL_CTYPE_NONASCII_CASE.
	* locale/programs/ld-ctype.c (locale_ctype_t): Add nonascii_case
	field.
	(ctype_finish): Check whether there are any 8-bit characters outside
	the range ASCII has or whether the mapping isn't the same as for
	ASCII (±0x20).  Set nonascii_case appropriately.
	(ctype_output): Add output handler for nonascii_case.

2009-07-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/sysdep.h: Define cfi_personality, cfi_lsda,
	CFI_PERSONALITY, CFI_LSDA, and DW_EH_PE_* constants.

2009-07-16  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10360]
	* resolv/res-mkquery.c (__res_nopt): If anslen is > 0xffff store
	0xffff in the EDNS0 record.

2009-07-16  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c (cache_add): Use atomic_compare_and_exchange_bool_rel
	instead of atomic_compare_and_exchange_bool_acq to ensure pointer
	is written before the list head update.
	Patch by Andreas Schwab <aschwab@redhat.com>.

2009-07-16  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Make check for
	corruption thread-safe.

2009-07-13  Jakub Jelinek  <jakub@redhat.com>

	* include/atomic.h (catomic_compare_and_exchange_val_rel): If arch
	overrides atomic_compare_and_exchange_val_rel, define to
	atomic_compare_and_exchange_val_rel by default, otherwise default
	to catomic_compare_and_exchange_val_acq.
	(catomic_compare_and_exchange_bool_rel): If arch overrides
	atomic_compare_and_exchange_bool_rel, define to
	atomic_compare_and_exchange_bool_rel by default.
	* malloc/malloc.c (_int_free): Revert 2009-07-02 change.
	Use catomic_compare_and_exchange_val_rel instead of
	catomic_compare_and_exchange_val_acq.

2009-07-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Add prototype for
	_dl_higher_prime_number.
	* elf/dl-misc.c (_dl_higher_prime_number): Mark with internal_function.

	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Optimize
	restoring of ymm registers a bit.

2009-07-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/memcmp.S: New file.

2009-07-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86-64/dl-trampoline.h: Remove after integrating code into...
	* sysdeps/x86-64/dl-trampoline.S: ...here.  Rewrite to avoid function
	pointers in writable memory.

2009-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	* config.h.in: Add HAVE_AVX_SUPPORT entry.
	* config.make.in: Add config-cflags-avx entry.
	* configure.in: Substitute libc_cv_cc_avx.
	* elf/Makefile: Add rules to build and run tst-audit4 and tst-audit5.
	* elf/tst-audit4.c: New file.
	* elf/tst-audit5.c: New file.
	* elf/tst-auditmod4a.c: New file.
	* elf/tst-auditmod4b.c: New file.
	* elf/tst-auditmod5a.c: New file.
	* elf/tst-auditmod5b.c: New file.
	* sysdeps/x86_64/Makefile (gen-as-const-headers): Add
	link-defines.sym.
	* sysdeps/x86_64/bits/link.h (La_x86_64_ymm): New.
	(La_x86_64_vector): Likewise.
	(La_x86_64_regs): Append lr_vector.
	(La_x86_64_retval): Append lr_vector0/lrv_vector1.
	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Move
	saving and restoring SSE registers to ...
	* sysdeps/x86_64/dl-trampoline.h: This.  New file.
	* sysdeps/x86_64/dl-trampoline.S: Include <config.h> and
	<link-defines.h>.
	(_dl_runtime_profile): Use LR_SIZE to allocate space for
	La_x86_64_regs.  Allocate extra space and jump to memory at
	save_and_restore_vector if HAVE_AVX_SUPPORT is defined.
	(save_and_restore_vector_sse): New.
	(save_and_restore_vector_avx): Likewise.
	(check_avx): Likewise.
	(save_and_restore_vector): Likewise.
	* sysdeps/x86_64/elf/configure.in: Set libc_cv_cc_avx and
	HAVE_AVX_SUPPORT.
	* sysdeps/x86_64/link-defines.sym: New file.

2009-07-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/do-lookup.h: Removed after folding content into...
	* elf/dl-lookup.c: ...here.

	* sysdeps/unix/sysv/linux/sys/epoll.h: Fix comment.

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

	* configure.in: Check for gnu_unique_symbol symbol type.
	* config.h.in: Add HAVE_ASM_UNIQUE_OBJECT entry.
	* elf/do-lookup.h (do_lookup_x): Take new parameter with link map of
	the undefined symbol.  Handle STB_GNU_UNIQUE binding of found symbol.
	* elf/dl-lookup.c (_dl_lookup_symbol_x): Adjust callers for do_lookup_x
	change.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add definitions for
	unique symbol table.
	* elf/rtld.c (rtld_global): Initialize lock of unique symbol hash table
	for first namespace.
	* elf/dl-open.c (_dl_open): For new namespace, initialize lock for
	unique symbol hash table.
	* elf/Makefile: Add rules to build and run tst-unique1 and tst-unique2.
	* elf/tst-unique1.c: New file.
	* elf/tst-unique1mod1.c: New file.
	* elf/tst-unique1mod2.c: New file.
	* elf/tst-unique2.c: New file.
	* elf/tst-unique2mod1.c: New file.
	* elf/tst-unique2mod2.c: New file.

2009-07-07  Ulrich Drepper  <drepper@redhat.com>

	* elf/elf.h (STB_GNU_UNIQUE): Define.

	* elf/dl-misc.c (_dl_higher_prime_number): New function.  Moved here
	from...
	* include/inline-hashtab.h: ...here.
	(htab_expand): Adjust for renamed function.  Correct memory handling.

2009-07-06  Ulrich Drepper  <drepper@redhat.com>

	* elf/do-lookup.h (do_lookup_x): Optimize test for valid symbol types.

2009-07-03  Andreas Schwab  <aschwab@redhat.com>

	* sysdeps/powerpc/sysdep.h (PPC_FEATURE_ARCH_2_06): Fix value.
	(PPC_FEATURE_HAS_VSX): Likewise.

2009-07-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/strcspn-c.c: Minor cleanups.
	* sysdeps/x86_64/multiarch/strspn-c.c: Likewise.

	* sysdeps/x86_64/multiarch/strcmp.S: Make sure functions are all
	aligned to 16 byte boundaries.
	* sysdeps/x86_64/multiarch/strcpy.S: Likewise.
	* sysdeps/x86_64/multiarch/strlen.S: Likewise.
	* sysdeps/x86_64/multiarch/rawmemchr.S: Likewise.

2009-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config.h.in (HAVE_SSE4_SUPPORT): New macro.
	* config.make.in (config-cflags-sse4): New variable.
	* configure.in: Substitute libc_cv_cc_sse4.
	* sysdeps/i386/configure.in: Set libc_cv_cc_sse4 and
	HAVE_SSE4_SUPPORT.
	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	strcspn-c, strpbrk-c, strspn-c for string if gcc supports SSE4.
	* sysdeps/x86_64/multiarch/strcspn-c.c: New file.
	* sysdeps/x86_64/multiarch/strcspn.S: New file.
	* sysdeps/x86_64/multiarch/strpbrk-c.c: New file.
	* sysdeps/x86_64/multiarch/strpbrk.S: New file.
	* sysdeps/x86_64/multiarch/strspn-c.c: New file.
	* sysdeps/x86_64/multiarch/strspn.S: New file.

2009-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/Makefile (distribute): Remove tst-audit.sh.  Add
	tst-audit2.c, tst-audit3.c, tst-auditmod3a.c, tst-auditmod3b.c.
	(tests): Add tst-audit3 for x86_64.
	(modules-names): Add tst-auditmod3a, tst-auditmod3b.
	($(objpfx)tst-audit3): Define.
	($(objpfx)tst-audit3.out): Define.
	(tst-audit3-ENV): Define.
	* elf/tst-audit3.c: New file.
	* elf/tst-auditmod3a.c: New file.
	* elf/tst-auditmod3b.c: New file.
	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Save
	and restore xmm6.

	* string/stpncpy.c (STPNCPY): New.  Defined if not defined.
	(__stpncpy): Renamed to ...
	(STPNCPY): This.
	(stpncpy): Create alias only if STPNCPY is not defined.
	* string/strncpy.c (STRNCPY): New.  Defined to strncpy if not
	defined.
	(strncpy): Renamed to ...
	(STRNCPY): This.
	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	 stpncpy-c strncpy-c for string.
	* sysdeps/x86_64/multiarch/stpcpy.S: New file.
	* sysdeps/x86_64/multiarch/stpncpy-c.c: New file.
	* sysdeps/x86_64/multiarch/stpncpy.S: New file.
	* sysdeps/x86_64/multiarch/strcpy.S: New file.
	* sysdeps/x86_64/multiarch/strncpy-c.c: New file.
	* sysdeps/x86_64/multiarch/strncpy.S: New file.

2009-07-02  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Add full barrier when
	adding to fast bin list.

2009-07-01  Ulrich Drepper  <drepper@redhat.com>

	* nis/nss_nis/nis-network.c (_nss_nis_getnetbyaddr_r): Don't use
	inet_makeaddr.  This worked only with class-based networks.
	* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
	Likewise.

	* nss/nss_files/files-network.c (netbyaddr): If type is AF_UNSPEC,
	recognize all types.
	* nss/getent.c (networks_keys): Pass AF_UNSPEC instead of AF_UNIX
	to getnetbyaddr.  Fix network parameter to getnetbyaddr.  It must
	be in host byte order.

2009-06-26  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/multiarch/ifunc-defines.sym (FAMILIY_OFFSET): Define.
	(MODEL_OFFSET): Define.
	* sysdeps/x86_64/multiarch/init-arch.h (cpu_features): Add
	family and model.
	* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Break
	out common code into new function get_common_indeces. Determine
	extended family and model for Intel processors.

2009-06-26  Ulrich Drepper  <drepper@redhat.com>

	* resolv/resolv.h: Define RES_SNGLKUPREOP.
	* resolv/res_init.c (res_setoptions): Recognize single-request-reopen
	option.
	* resolv/res_send.c (reopen): New function.  Broken out of...
	(send_dg): ... here.  Recognize RES_SNGLKUPREOP.  Implement second
	fallback mechanism.  If single-request fails switch to
	single-request-reopen mode which opens a new socket for the second
	request.

2009-06-25  Andreas Schwab  <aschwab@redhat.com>

	* sysdeps/powerpc/powerpc32/____longjmp_chk.S (LOAD_ARG): Define.
	(CHECK_SP): Use it.

2009-06-24  Andreas Schwab  <aschwab@redhat.com>

	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Fix cfa offset
	for saved registers.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.

2009-06-23  Andreas Schwab  <aschwab@redhat.com>

	* time/tzfile.c (__tzfile_read): Don't use an empty TZ string.

2009-06-22  Ulrich Drepper  <drepper@redhat.com>

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

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

2009-06-22  H.J. Lu  <hongjiu.lu@intel.com>

	* string/strncmp.c (STRNCMP): New.  Defined to strncmp if not
	defined.
	(strncmp): Renamed to STRNCMP.
	* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
	strncmp-c for string.
	* sysdeps/x86_64/multiarch/init-arch.h (HAS_SSE4_2): Define.
	* sysdeps/x86_64/multiarch/strcmp.S: New file.
	* sysdeps/x86_64/multiarch/strncmp.S: New file.
	* sysdeps/x86_64/multiarch/strncmp-c.c: New file.

2009-06-19  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/Makefile (distribute): Add ifuncmain1staticpie.c,
	ifuncmain5.c, ifuncmain5pic.c, ifuncmain5picstatic.c,
	ifuncmain5pie.c, ifuncmain5static.c, ifuncmain5staticpic.c,
	ifuncdep5.c, ifuncdep5pic.c, ifuncmod5.c, ifuncmain7.c,
	ifuncmain7pic.c, ifuncmain7picstatic.c, ifuncmain7pie.c, and
	ifuncmain7static.c.
	(tests-static): Add ifuncmain5static, ifuncmain5picstatic,
	ifuncmain7static, and ifuncmain7picstatic.
	(tests): Also depend on $(objpfx)ifuncmain1staticpie.out,
	$(objpfx)ifuncmain5pie.out, $(objpfx)ifuncmain6pie.out, and
	$(objpfx)ifuncmain7pie.out.
	(modules-names): Add ifuncmod5 ifuncmod6
	(ifuncmod5.so-no-z-defs): Define.
	(ifuncmod6.so-no-z-defs): Define.
	(CFLAGS-ifuncmain5pic.c): Define.
	(CFLAGS-ifuncmain5picstatic.c): Define.
	(CFLAGS-ifuncmain5staticpic.c): Define.
	(CFLAGS-ifuncdep5pic.c): Define.
	(CFLAGS-ifuncmain7pic.c): Define.
	(CFLAGS-ifuncmain7picstatic.c): Define.
	(CFLAGS-ifuncmain1staticpie.c): Define.
	(CFLAGS-ifuncmain5pie.c): Define.
	(CFLAGS-ifuncmain6pie.c): Define.
	(CFLAGS-ifuncmain7pie.c): Define.
	($(objpfx)ifuncmain1staticpie.out): Define.
	($(objpfx)ifuncmain1staticpie): Define.
	($(objpfx)ifuncmain5pie.out): Define.
	($(objpfx)ifuncmain5pie): Define.
	($(objpfx)ifuncmain6pie.out): Define.
	($(objpfx)ifuncmain6pie): Define.
	($(objpfx)ifuncmain5): Define.
	($(objpfx)ifuncmain5pic): Define.
	($(objpfx)ifuncmain5static): Define.
	($(objpfx)ifuncmain5staticpic): Define.
	($(objpfx)ifuncmain5picstatic): Define.
	(generated): Add ifuncmain1staticpie, ifuncmain1staticpie.out,
	ifuncmain5pie, ifuncmain5pie.out, ifuncmain6pie, and
	ifuncmain6pie.out.
	* elf/b/elf/ifuncmain1staticpie.c: New file.
	* elf/ifuncdep5.c: New file.
	* elf/ifuncdep5pic.c: New file.
	* elf/ifuncmain5.c: New file.
	* elf/ifuncmain5pic.c: New file.
	* elf/ifuncmain5picstatic.c: New file.
	* elf/ifuncmain5pie.c: New file.
	* elf/ifuncmain5static.c: New file.
	* elf/ifuncmain5staticpic.c: New file.
	* elf/ifuncmain6pie.c: New file.
	* elf/ifuncmain7.c: New file.
	* elf/ifuncmain7pic.c: New file.
	* elf/ifuncmain7picstatic.c: New file.
	* elf/ifuncmain7pie.c: New file.
	* elf/ifuncmain7static.c: New file.
	* elf/ifuncmod5.c: New file.
	* elf/ifuncmod6.c: New file.

2009-06-20  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10085]
	* nis/nss_compat/compat-initgroups.c (nss_setgrent): New variable.
	(nss_endgrent): New variable.
	(struct ent_t): Add need_endgrent and skip_initgroups_dyn
	fields. Change type of files to bool and adjust all users.
	(init_nss_interface): Initialize nss_setgrent and nss_endgrent.
	(internal_endgrent): Call nss_endgrent if necessary.
	(add_group): New function.  Broken out of...
	(check_and_add_group): ...here.
	(getgrent_next_nss): Remove test that any callback is available.
	Use skip_initgroups_dyn to determine whether to use initgroups_dyn
	callback.  If there is no blacklist we can trust the results returned
	by the initgroups_dyn callback.  In case there is a callback and we
	find a group entry for the group ID but it doesn't contain the
	correct member, switch to the slow mode and use getgrent_r.
	(internal_getgrent_r): When we see a +: entry, determine whether
	there is any callback and which we can use the initgroups_dyn
	callback.

2009-06-18  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (_int_malloc): Add some consistency checks.
	(_int_free): Likewise.

	* sysdeps/unix/sysv/linux/bits/socket.h: Define PF_IEEE802154 and
	AF_IEEE802154.
	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/net/if_arp.h: Define ARPHRD_IEEE802154
	and ARPHRD_IEEE802154_PHY.

	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Add missing definitions
	relative to generic Linux version.

2009-06-17  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/Makefile ($(objpfx)ifuncmain1pie): Use $(+link-pie).
	($(objpfx)ifuncmain1vispie): Likewise.

2009-06-16  Ulrich Drepper  <drepper@redhat.com>

	* login/Makefile: Build pt_chown as PIE.

2009-06-15  Andreas Schwab  <aschwab@redhat.com>

	* debug/xtrace.sh (do_help): Don't treat bug reporting message as
	a format string.
	* elf/sln.c (usage): Likewise.
	* malloc/memusage.sh (do_help): Likewise.
	* nss/getent.c (more_help): Likewise.
	* posix/getconf.c (main): Likewise.
	* sunrpc/rpcinfo.c (usage): Likewise.
	* sysdeps/unix/sysv/linux/lddlibc4.c (main): Likewise.

2009-06-16  Ulrich Drepper  <drepper@redhat.com>

	* login/programs/pt_chown.c: Use libcap to drop privileges other than
	those needed.
	* login/Makefile: If necessary link pt_chown with -lcap.
	* sysdeps/generic/pty-private.h: Define FAIL_ENOMEM.
	* sysdeps/unix/grantpt.c: Handle FAIL_ENOMEM.

2009-06-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/x86_64/memchr.S (memchr): Use unsigned instead of signed
	comparisons.
	* string/test-memchr.c (do_random_tests): Test very large lengths
	as well.

2009-06-02  H.J. Lu  <hongjiu.lu@intel.com>

	* Makeconfig (+link-pie): Define.
	(+prectorS): Define.
	(+postctorS): Define.
	* elf/Makefile ($(objpfx)tst-pie1): Use $(+link-pie).
	* nscd/Makefile ($(objpfx)nscd): Likewise.

2009-04-22  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #10107]
	* sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Replace cmpldi
	with cmplwi.
	* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.

2009-06-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/grantpt.c: Remove file after folding changes
	into ...
	* sysdeps/unix/grantpt.c: ...here.

2009-06-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/grantpt.c (grantpt): Only call chown and
	chmod if it is necessary.

	[BZ #10166]
	* sysdeps/unix/sysv/linux/grantpt.c: Remove shortcut which was used
	when the slave device is in devpts or devfs.

	[BZ #10183]
	* posix/tst-cpucount.c: Don't try more than CPU_SETSIZE bits.

	[BZ #10195]
	* inet/netinet/icmp6.h (struct nd_opt_home_agent_info): Change type
	of nd_opt_home_agent_info_preference to uint16_t.
	Patch by Arnaud Ebalard <arno@natisbad.org>.

	[BZ #10207]
	* nss/getent.c: Add support for printing gshadow data.

	[BZ #10203]
	* nis/nss_nis/nis-pwd.c (internal_nis_endpwent): Free all buffers,
	not just the currently used one and those which follow.
	Patch by Joe Landers <jlanders@vmware.com>.

	[BZ #10196]
	* libio/tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name.
	* libio/Makefile: Run tst-fgetwc with necessary envvar.
	Patch by Bruce Dubbs <bdubbs@linuxfromscratch.org>.

	[BZ #10217]
	* stdlib/abort.c: Define variable __abort_msg.
	* stdlib/Versions: Export __abort_msg with GLIBC_PRIVATE version.
	* include/stdlib.h: Declare __abort_msg.
	* assert/assert-perr.c: Don't free buffer for message immediately.
	Store atomically in __abort_msg and free old buffer if necessary.
	* assert/assert.c: Likewise.
	* sysdeps/posix/libc_fatal.c: Allocate buffer for message, copy it,
	store pointer in __abort_msg, and possibly free old string.
	* sysdeps/unix/sysv/linux/libc_fatal.c: Likewise.

	* time/tzfile.c (__tzfile_read): Correct computation of tzspec_len.

	[BZ #10211]
	* time/tzfile.c (__tzfile_compute): If we use the envvar format still
	handle leap seconds if they are available.
	Patch by Akinori Hattori <hattya@gentoo.org>.

	* timezone/tzselect.ksh: Update from tzcode2009i.
	* timezone/zdump.c: Likewise.
	* timezone/zic.c: Likewise.

	* timezone/africa: Update from tzdata2009i.
	* timezone/antarctica: Likewise.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/etcetera: Likewise.
	* timezone/europe: Likewise.
	* timezone/factory: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/pacificnew: Likewise.
	* timezone/solar87: Likewise.
	* timezone/solar88: Likewise.
	* timezone/solar89: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/systemv: Likewise.
	* timezone/yearistype: Likewise.
	* timezone/zone.tab: Likewise.

2009-06-15  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-lookup.c (_dl_debug_bindings): When resolving to
	STT_GNU_IFUNC symbol or in 8 into type_class.

	* sysdeps/i386/dl-irel.h (elf_irel): Use Elf32_Addr type
	instead of Elf64_Addr.

2009-06-14  Ulrich Drepper  <drepper@redhat.com>

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

	[BZ #10229]
	* misc/sys/select.h (__NFDBITS): Expression should have type int.
	* sysdeps/x86_64/bits/select.h: Remove asm versions for __FD_SET,
	__FD_CLR, and __FD_ISSET.  gcc nowadays generates better code from
	the C version.

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

	* Versions.def: Add GLIBC_2.11 for libpthread.

2009-06-11  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_send.c (send_dg): Remember we switched to
	single-request mode.

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

	* dlfcn/dlfcn.h: Remove comma at end of enum.
	Patch by J.H.M. Dassen <rdassen@redhat.com>.

	* libio/fileops.c (_IO_new_file_fopen): Don't prematurely stop
	parsing mode string.

2009-06-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/rawmemchr.S: Minor optimization.

	* sysdeps/x86_64/multiarch/rawmemchr.S: New file.

	* sysdeps/x86_64/multiarch/strlen.S: New file.
	* sysdeps/x86_64/multiarch/ifunc-defines.sym: New file.
	* sysdeps/x86_64/multiarch/Makefile: Add rule to build ifunc-defines.h.
	* sysdeps/x86_64/multiarch/init-arch.h: Name structure with register
	content.

	* csu/elf-init.c: Only compile in IFUNC functionality if USE_MULTIARCH
	is defined.

2009-06-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/strlen.S: Minor optimizations.

2009-06-02  H.J. Lu  <hongjiu.lu@intel.com>

	* elf/Makefile (distribute): Add ifuncmain1.c, ifuncmain1pic.c,
	ifuncmain1vis.c, ifuncmain1vispic.c, ifuncmain1static.c,
	ifuncmain1staticpic.c, ifuncmain1picstatic.c, ifuncdep1.c,
	ifuncdep1pic.c, ifuncmod1.c, ifuncmain1pie.c, ifuncmain1vispie.c,
	ifuncmain2.c, ifuncmain2static.c, ifuncdep2.c,
	funcmain2pic.c, ifuncmain2picstatic.c, ifuncdep2pic.c,
	ifuncmain3.c, ifuncmod3.c,.
	ifuncmain4.c, ifuncmain4static.c, ifuncmain4picstatic.c.
	(tests-static): Add ifuncmain1static, ifuncmain1picstatic,
	ifuncmain2static, ifuncmain2picstatic, ifuncmain4static,
	ifuncmain4picstatic.
	(tests): Add ifuncmain1, ifuncmain1pic, ifuncmain1vis,
	ifuncmain1vispic, ifuncmain1staticpic, ifuncmain2, ifuncmain2pic,
	ifuncmain3, ifuncmain4.
	(tests): Depend on $(objpfx)ifuncmain1pie.out and
	$(objpfx)ifuncmain1vispie.out.
	(modules-names): Add ifuncmod1 ifuncmod3.
	(generated): Add ifuncmain1pie ifuncmain1pie.out
	ifuncmain1vispie ifuncmain1vispie.out.
	Define rules to build and run the tests.
	* elf/ifuncdep1.c: New file.
	* elf/ifuncdep1pic.c: New file.
	* elf/ifuncdep2.c: New file.
	* elf/ifuncdep2pic.c: New file.
	* elf/ifuncmain1.c: New file.
	* elf/ifuncmain1pic.c: New file.
	* elf/ifuncmain1picstatic.c: New file.
	* elf/ifuncmain1pie.c: New file.
	* elf/ifuncmain1static.c: New file.
	* elf/ifuncmain1staticpic.c: New file.
	* elf/ifuncmain1vis.c: New file..
	* elf/ifuncmain1vispic.c: New file..
	* elf/ifuncmain1vispie.c: New file.
	* elf/ifuncmain2.c: New file.
	* elf/ifuncmain2pic.c: New file.
	* elf/ifuncmain2picstatic.c: New file.
	* elf/ifuncmain2static.c: New file.
	* elf/ifuncmain3.c: New file.
	* elf/ifuncmain4.c: New file.
	* elf/ifuncmain4picstatic.c: New file.
	* elf/ifuncmain4static.c: New file.
	* elf/ifuncmod1.c: New file.
	* elf/ifuncmod3.c: New file.

2009-06-03  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-sysdep.c (_dl_show_auxv): Terminate correct string.

2009-06-02  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10221]
	* posix/Makefile (routines): Add execvpe.
	* posix/Versions: Export execvpe for GLIBC_2.11.
	* posix/execvp.c: Now only a wrapper.  Move code to...
	* posix/execvpe.c: ...here.  New file.
	* posix/unistd.h: Declare execvpe.

2009-06-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Reorder conditions
	for STT_GNU_IFUNC handling for efficiency.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.

	* sysdeps/i386/dl-irel.h (elf_irel): Use __libc_fatal instead of just
	_exit.
	* sysdeps/x86_64/dl-irel.h (elf_irela): Likewise.

2009-05-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/sched_cpucount.c: Also use optimized code
	for !SHARED.

2009-05-29  H.J. Lu  <hongjiu.lu@intel.com>

	* csu/elf-init.c: Include <link.h> and <dl-irel.h> if LIBC_NONSHARED
	is not defined.
	(__rela_iplt_start): New declaration.
	(__rela_iplt_end): Likewise.
	(__rel_iplt_start): Likewise.
	(__rel_iplt_end): Likewise.
	(__libc_csu_init): Process __rela_iplt_start and __rel_iplt_start.
	* elf/elf.h (R_386_IRELATIVE): New macro.
	(R_X86_64_IRELATIVE): New macro.
	(R_386_NUM): Updated.
	(R_X86_64_NUM): Likewise.
	* include/libc-symbols.h (libc_ifunc_hidden_def1): New macro.
	(libc_ifunc_hidden_def): New macro.
	* sysdeps/generic/dl-irel.h: New file.
	* sysdeps/i386/dl-irel.h: New file.
	* sysdeps/x86_64/dl-irel.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle R_386_IRELATIVE.
	(elf_machine_rela): Check SHN_UNDEF for STT_GNU_IFUNC symbol.
	Handle R_386_IRELATIVE.
	(elf_machine_lazy_rel): Handle R_386_IRELATIVE.
	(elf_machine_lazy_rela): Likewise.
	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Handle
	R_X86_64_IRELATIVE.
	(elf_machine_lazy_rel): Handle R_X86_64_IRELATIVE.

2009-05-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/multiarch/init-arch.h: Define COMMON_CPUID_INDEX_1
	instead of INTEL_CPUID_INDEX_1 and AMD_CPUID_INDEX_1.  So far there
	are no differences.  If an architecture has bits in CPUID index 1
	meaning different things the values for the COMMON_CPUID_INDEX_1
	index must not be set.
	(INTEL_HAS_POPCOUNT, AMD_HAS_POPCOUNT): Removed in favor of...
	(HAS_POPCOUNT): ...this.  New macro.
	* sysdeps/x86_64/multiarch/init-arch.c: Use COMMON_CPUID_INDEX_1
	instead of INTEL_CPUID_INDEX_1 and AMD_CPUID_INDEX_1.  Unify code
	to set the value for Intel and AMD architectures.
	* sysdeps/x86_64/cacheinfo.c: Use COMMON_CPUID_INDEX_1 instead of
	INTEL_CPUID_INDEX_1.
	* sysdeps/x86_64/multiarch/sched_cpucount.c: Adjust for HAS_POPCOUNT
	change.

2009-05-30  Andreas Schwab  <schwab@linux-m68k.org>

	* configure.in: Move AC_CANONICAL_HOST before first use of $host
	and $build.

2009-05-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Include <errno.h>.
	(__expm1l): Set errno to ERANGE on overflow.
	* sysdeps/ieee754/ldbl-128/s_tanl.c: Include <errno.h>.
	(__tanl): Set errno to EDOM for ±Inf.
	* sysdeps/ieee754/ldbl-128/s_cosl.c: Include <errno.h>.
	(__cosl): Set errno to EDOM for ±Inf.
	* sysdeps/ieee754/ldbl-128/s_sinl.c: Include <errno.h>.
	(__sinl): Set errno to EDOM for ±Inf.

	* sysdeps/s390/s390-32/__longjmp.c (__longjmp): If CHECK_SP is
	defined, use it.
	* sysdeps/s390/s390-64/__longjmp.c (__longjmp): Likewise.
	* sysdeps/s390/s390-32/____longjmp_chk.c: New file.
	* sysdeps/s390/s390-64/____longjmp_chk.c: New file.

2009-05-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/cacheinfo.c: Compact intel_02_known array.  Adjust
	code accessing it.
	* sysdeps/unix/sysv/linux/i386/sysconf.c: Likewise.

2009-05-22  Andreas Schwab  <schwab@linux-m68k.org>

	* sysdeps/ieee754/ldbl-128ibm/s_sinl.c: Set errno for ±Inf.
	* sysdeps/ieee754/ldbl-128ibm/s_cosl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_tanl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c: Set errno for overflow.

	* sysdeps/powerpc/powerpc32/____longjmp_chk.S: New file.
	* sysdeps/powerpc/powerpc64/____longjmp_chk.S: New file.
	* sysdeps/powerpc/powerpc32/__longjmp-common.S: Use CHECK_SP if
	defined.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.

2009-05-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/accept4.c: Include kernel-features.h.
	(accept4): If __NR_accept4 is not defined, but __NR_socketcall
	is, either do nothing at all if __ASSUME_ACCEPT4, or
	call __internal_accept4 and handle EINVAL -> ENOSYS translation.
	* sysdeps/unix/sysv/linux/internal_accept4.S: New file.
	* sysdeps/unix/sysv/linux/i386/accept4.S (SOCKOP_accept4): Don't
	define.
	* sysdeps/unix/sysv/linux/i386/internal_accept4.S: New file.
	* sysdeps/unix/sysv/linux/Makefile (sysdep-routines): Add
	internal_accept4 in socket directory.

2009-05-20  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/ia64/configure.in: New file.

2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #10162]
	* sysdeps/ia64/memchr.S: Use speculative load.

	* sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S: New file.
	* sysdeps/unix/sysv/linux/ia64/__longjmp.S: If CHECK_RSP is defined,
	use it.

	* sysdeps/i386/__longjmp.S: Add .text.
	* sysdeps/x86_64/__longjmp.S: Likewise.

2009-05-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Don't define
	__ASSUME_ACCEPT4 for IA-64.

2009-05-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/accept4.c (__NR_accept4): Don't define.

	* sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_paccept): Remove.
	(SOCKOP_accept4): Define.

2009-05-20  Ulrich Drepper  <drepper@redhat.com>

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

2009-05-18  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/____longjmp_chk.S: New file.
	* sysdeps/sh/sh3/__longjmp.S: If CHECK_SP is defined, use it.
	* sysdeps/sh/sh4/__longjmp.S: Likewise.

2009-05-18  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_helper.c (MINIMUM_HASHENTRY_SIZE): Define.
	(__nscd_cache_search): Assume each entry in the
	hash chain needs one hashentry and half of datahead.  Use
	MINIMUM_HASHENTRY_SIZE instead of sizeof(hashentry).

2009-05-16  Ulrich Drepper  <drepper@redhat.com>

	* posix/sys/wait.h: Fix typos.  Pretty printing.
	* stdlib/stdlib.h: Likewise.  Correct comments.

	[BZ #10159]
	* stdlib/stdlib.h (__WAIT_INT): Match the definition in <sys/wait.h>.

	* nscd/nscd_helper.c (__nscd_cache_search): Fix exit condition in last
	patch.

2009-05-15  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_helper.c (__nscd_cache_search): Introduce loop counter.
	Use it if we absolutely cannot reach any more correct list elements
	because that many do not fit into the currently mapped database.

2009-05-14  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_helper.c: Include stddef.h.
	(__nscd_cache_search): Add datalen argument.  Use atomic_forced_read
	in a couple of places.  Return NULL if trail is not less than
	datasize, don't consider dataheads with length smaller than
	offsetof (struct datahead, data) + datalen.
	* nscd/nscd_client.h (__nscd_cache_search): Adjust prototype.
	* nscd/nscd_gethst_r.c (nscd_gethst_r): Adjust callers.
	* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
	* nscd/nscd_getai.c (__nscd_getai): Likewise.
	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
	* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.

	* sysdeps/unix/sysv/linux/i386/fallocate64.c (__fallocate64_l64):
	Rename ...
	(fallocate64): ... to this.
	* sysdeps/unix/sysv/linux/fallocate64.c (__fallocate64_l64):
	Rename ...
	(fallocate64): ... to this.
	* sysdeps/unix/sysv/linux/Versions (libc): Remove fallocate64.
	* sysdeps/unix/sysv/linux/wordsize-64/Versions (libc): Add
	fallocate64@@GLIBC_2.10.
	* sysdeps/unix/sysv/linux/i386/Versions (libc): Add
	fallocate64@@GLIBC_2.11.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions (libc): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (libc): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Versions (libc): Likewise.
	* sysdeps/unix/sysv/linux/sh/Versions (libc): Likewise.

	* nscd/selinux.c (nscd_avc_destroy): Removed.
	* nscd/selinux.h (nscd_avc_destroy): Likewise.
	* nscd/nscd.c (termination_handler): Don't call
	nscd_avc_destroy.

2009-05-12  Jakub Jelinek  <jakub@redhat.com>

	* include/atomic.h: Formatting.
	(catomic_compare_and_exchange_val_acq): Don't define if already
	defined by bits/atomic.h.

2009-05-15  Ulrich Drepper  <drepper@redhat.com>

	* math/libm-test.inc (expm1_test): Add test for range error.

	* Versions.def: Add GLIBC_2.11 for libc.
	* debug/Makefile (routines): Add longjmp_chk.
	Add rules to build and run tst-longjmp_chk.
	* debug/Versions: Export __longjmp_chk for GLIBC_2.11.
	* debug/longjmp_chk.c: New file.
	* debug/tst-longjmp_chk.c: New file.
	* include/bits/setjmp2.: New file.
	* include/stdio.h: Mark __fortify_fail as internal_function.
	* setjmp/Makefile (headers): Add bits/setjmp2.h.
	* setjmp/bits/setjmp2.h: New file.
	* setjmp/longjmp.c: If __libc_siglongjmp is defined, don't define any
	of the aliases.
	* setjmp/setjmp.h: Include <bits/setjmp2.h> if _FORTIFY_SOURCE is
	defined.
	* sysdeps/i386/____longjmp_chk.S: New file.
	* sysdeps/x86_64/____longjmp_chk.S: New file.
	* sysdeps/i386/__longjmp.S: If CHECK_ESP is defined, use it.
	* sysdeps/x86_64/__longjmp.S: Likewise.

	* version.h: Bump for 2.11 development.

	* elf/check-execstack.c: New file.
	* elf/Makefile: Add rules to build and run check-execstack.

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

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

	* nss/getXXbyYY_r.c: If NO_COMPAT_NEEDED is defined don't define any
	compatibility functions.
	* nss/getXXent_r.c: Likewise.
	* gshadow/getsgent_r.c: Define NO_COMPAT_NEEDED.
	* gshadow/getsgnam_r.c: Likewise.
	* gshadow/Version: Remove duplicate entries.

	* sysdeps/x86_64/cacheinfo.c (intel_02_cache_info): Add missing entries
	for recent processor.
	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_cache_info):
	Likewise.

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

	* version.h (VERSION): Bump for 2.10 release.
	* include/features.h (__GLIBC_MINOR__): Bump to 10.

	* Makeconfig: Undo last change.  Add asflags-cpu to ASFLAGS in the
	same place we add ASFLAGS-config.

2009-05-05  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #10128]
	* resolv/res_query.c (__libc_res_nquery): If one query returns NOTIMP
	or FORMERR and the other NOERROR, don't raise an error.

2009-05-06  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #10118]
	* Makeconfig (+asflags): New variable based upon ASFLAG or
	asflags-cpu.
	(ASFLAGS): Add override to set ASFLAGS to +asflags.
	* config.make.in (asflags-cpu): Add variable based upon
	@libc_cv_cc_submachine@ to propagate -mcpu=CPU from --with-cpu=CPU to
	the assembler.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S:
	Remove unneeded file now that the assembler emits _ARCH_PWR6 and
	recognizes power6 instruction set due to passing -mcpu=power6 from
	--with-cpu=power6 when compiling .S files.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S:
	Likewise.

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

	* string/stratcliff.c (do_test): Test for zero length
	STRNLEN, MEMCHR, STRNCPY, STPNCPY, MEMCPY, MEMPCPY and memccpy
	at the end of the page.

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

	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_RANDOM.

	* sysdeps/x86_64/memchr.S: Handle invalid buffer pointers when
	count is zero.

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

2009-05-05  Jakub Jelinek  <jakub@redhat.com>

	* io/sys/stat.h (fstatat64): Guard prototype with __USE_LARGEFILE64,
	guard __extern_inline wrapper with __USE_ATFILE instead of __USE_GNU.

2009-05-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/personality.h: Add ADDR_COMPAT_LAYOUT
	and READ_IMPLIES_EXEC.

2009-05-04  Ulrich Drepper  <drepper@redhat.com>

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

2009-04-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ifaddrs.c: Revert unintended 2008-08-12
	comment change.

2009-04-27  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/locarchive.c (create_archive): Add MAP_PRIVATE
	to MAP_ANON in PROT_NONE mmap64 call.
	(open_archive): Likewise.
	(file_data_available_p): Use mmap64 instead of mremap.
	(enlarge_archive): Likewise.  Update head if ah->addr changed.
	Attempt to reserve address space after mmap64 region.

2009-04-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/ieee754/dbl-64/s_expm1.c: Set errno for overflow.
	* sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
	* sysdeps/x86_64/fpu/s_expm1l.S: Likewise.

	* sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors in
	atanh should set ERANGE.

	[BZ #10087]
	* elf/dl-runtime.c (_dl_fixup): Use DL_FIXUP_VALUE_ADDR to access
	result of lookup to make call to implement STT_GNU_IFUNC.
	(_dl_profile_fixup): Likewise.
	Patch by H.J. Lu <hjl.tools@gmail.com>.

	* nscd/connections.c (send_ro_fd): Define temporary variable to avoid
	warning.

	* sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Remove inline
	from definition.

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Don't define
	label if it is not used.

	* elf/dl-profile.c (_dl_start_profile): Define real-type variant
	of gmon_hist_hdr and gmon_hdr structures and use them.
	* elf/sprof.c: Likewise.

	* elf/dl-load.c (open_verify): Add temporary variable to avoid
	warning.

	* nscd/nscd_helper.c (get_mapping): Avoid casts to avoid warnings.

	* sunrpc/clnt_raw.c (clntraw_private_s): Use union in definition
	to avoid cast.

	* inet/rexec.c (rexec_af): Make sa2 a union to avoid warnings.
	* inet/rcmd.c (rcmd_af): Make from a union of the various needed types
	to avoid warnings.
	(iruserok_af): Use ss_family instead of casts.

	* gmon/gmon.c (write_hist): Define real-type variant of
	gmon_hist_hdr structure and use it.
	(write_gmon): Likewise for gmon_hdr.

	* sysdeps/unix/sysv/linux/readv.c: Avoid declaration of replacement
	function if we are not going to define it.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.

	* inet/inet6_option.c (option_alloc): Add temporary variable to
	avoid warning.

	* libio/strfile.h (struct _IO_streambuf): Use correct type and
	name of VTable element.
	* libio/iovsprintf.c: Avoid casts to avoid warnings.
	* libio/iovsscanf.c: Likewise.
	* libio/vasprintf.c: Likewise.
	* libio/vsnprintf.c: Likewise.
	* stdio-common/isoc99_vsscanf.c: Likewise.
	* stdlib/strfmon_l.c: Likewise.
	* debug/vasprintf_chk.c: Likewise.
	* debug/vsnprintf_chk.c: Likewise.
	* debug/vsprintf_chk.c: Likewise.

	* nss/nsswitch.c (__nss_lookup_function): En/Decrypt cached
	function pointers.

2009-04-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/dbl-64/s_tan.c (tan): Fix -Wsequence-point warnings.

2009-04-25  Ulrich Drepper  <drepper@redhat.com>

	* posix/bits/posix1_lim.h: Cleanup namespace a bit.

	* sysdeps/i386/fpu/s_tan.S: Set errno for ±Inf.
	* sysdeps/i386/fpu/s_tanf.S: Likewise.
	* sysdeps/i386/fpu/s_tanl.S: Likewise.
	* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
	* sysdeps/ieee754/flt-32/s_tanf.c: Likewise.
	* sysdeps/x86_64/fpu/s_tanl.S: Likewise.
	* math/libm-test.inc: Add tests for errno after tan calls with
	±Inf.

	* sysdeps/ieee754/k_standard.c (__kernel_standard): Use correct
	errno value vor pow(+-0,neg).
	* math/libm-test.inc (pow_test): Add tests for errno value for
	pole errors.

	* math/w_fmod.c: Also handle x=±Inf as error.
	* math/w_fmodf.c: Likewise.
	* math/w_fmodl.c: Likewise.
	* math/libm-test.inc (fmod_test): Add tests for errno after calls for
	x=±Inf or y=0.

	* sysdeps/i386/fpu/s_cos.S: Set errno for ±Inf.
	* sysdeps/i386/fpu/s_cosf.S: Likewise.
	* sysdeps/i386/fpu/s_cosl.S: Likewise.
	* sysdeps/i386/fpu/s_sin.S: Likewise.
	* sysdeps/i386/fpu/s_sinf.S: Likewise.
	* sysdeps/i386/fpu/s_sinl.S: Likewise.
	* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
	* sysdeps/ieee754/flt-32/s_cosf.c: Likewise.
	* sysdeps/ieee754/flt-32/s_sinf.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise.
	* sysdeps/x86_64/fpu/s_cosl.S: Likewise.
	* sysdeps/x86_64/fpu/s_sinl.S: Likewise.
	* math/libm-test.inc: Add tests for errno after sin/cos calls with
	±Inf.

	* stdlib/strtod_l.c (round_and_return): We have to set errno to
	ERANGE for underflows.
	* stdlib/tst-strtod.c (tests): Two tests should set errno to ERANGE.

	* stdio-common/stdio_lim.h.in (L_cuserid): Not part of POSIX since
	the 2001 revision.

	* libio/tst-widetext.input: Remove surrogates.

	* include/features.h: _POSIX_C_SOURCE >= 200112L implies C99.

	* sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors
	for lgamma should set errno to ERANGE, not EDOM.
	* math/libm-test.inc (lgamma_test): Check errno for pole errors.

2009-04-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10093]
	* iconv/gconv_simple.c (BODY for UTF-8 to INTERNAL): Don't accept
	UTF-16 surrogates.

	* locale/programs/locarchive.c (enlarge_archive): Conserve address
	space when temporarily mapping the whole content of the old file.

	[BZ #10100]
	* misc/hsearch_r.c (hsearch_r): Add back ensurance that hval is
	not zero.

2009-04-24  Jakub Jelinek  <jakub@redhat.com>

	* iconvdata/sjis.c (BODY): Don't advance inptr before
	STANDARD_FROM_LOOP_ERR_HANDLER (2) for 2 byte invalid input.
	Use STANDARD_FROM_LOOP_ERR_HANDLER with 2 instead of 1 for
	two byte chars.

2009-04-24  Ulrich Drepper  <drepper@redhat.com>

	* locale/locarchive.h (struct locarhandle): Rename len field to
	mmaped and add new reserved field.
	* locale/programs/locarchive.c (RESERVE_MMAP_SIZE): Define.
	(create_archive): Reserve address space and then map file into it.
	(open_archive): Likewise.
	(file_data_available_p): New function.
	(compare_from_file): New function.
	(close_archive): Adjust to member name changes.
	(add_locale): Before comparing locale data, check it is mapped.
	Otherwise fall back to reading from the file.

2009-04-23  H.J. Lu  <hongjiu.lu@intel.com>

	* stdio-common/psiginfo.c: Include <errno.h>.

2009-04-23  Ulrich Drepper  <drepper@redhat.com>

	[BZ #9920]
	* stdlib/random_r.c (__srandom_r): Change type of word to int32_t
	to get consistency between 32 and 64 bit architectures.

	[BZ #10052]
	* sysdeps/unix/make-syscalls.sh: Add rule to create target
	directory for dummy syscall rules.
	Patch by Chris Steinbroner <hesh@pobox.com>.

2009-04-23  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #10092]
	* sysdeps/unix/sysv/linux/sys/mount.h: Define MNT_DETACH and
	MNT_EXPIRE.

2009-04-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/preadv.c: The kernel API changed.  Adjust.
	* sysdeps/unix/sysv/linux/pwritev.c: Likewise.

2009-04-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/pwritev.c (PWRITEV): Fix up comment.  Copy
	data from vector to temporary buffer and call PWRITEV after it
	instead of vice versa.
	* sysdeps/posix/preadv.c: Fix up comment.
	* misc/preadv.c: Likewise.
	* misc/preadv64.c: Likewise.
	* misc/pwritev.c: Likewise.
	* misc/pwritev64.c: Likewise.
	* misc/sys/uio.h (preadv, pwritev, preadv64, pwritev64): Likewise.

2009-04-23  Ulrich Drepper  <drepper@redhat.com>

	* shadow/sgetspent_r.c (__sgetspent_r): Recognize too small buffers.

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

	[BZ #9955]
	* gshadow/Makefile: New file.
	* gshadow/Versions: New file.
	* gshadow/fgetsgent.c: New file.
	* gshadow/fgetsgent_r.c: New file.
	* gshadow/getsgent.c: New file.
	* gshadow/getsgent_r.c: New file.
	* gshadow/getsgnam.c: New file.
	* gshadow/getsgnam_r.c: New file.
	* gshadow/gshadow.h: New file.
	* gshadow/putsgent.c: New file.
	* gshadow/sgetsgent.c: New file.
	* gshadow/sgetsgent_r.c: New file.
	* gshadow/tst-gshadow.c: New file.
	* include/gshadow.h: New file.
	* Makeconfig (all-subdirs): Add gshadow.
	* Makefile (installed-headers): Add gshadow/gshadow.h.
	* nss/Makefile (databases): Add sgrp.
	* nss/Versions: Add gshadow functions as private exports.
	* nss/nsswitch.conf: Add gshadow entry.
	* nss/sgrp-lookup.c: New file.
	* nss/nss_files/files-parse.c: Add STRING_LIST macro.  Rewrite
	parse_list to handle STRING_LIST and TRAILING_LIST_PARSER.
	* nss/nss_files/files-sgrp.c: New file.
	* sysdeps/generic/paths.h: Add _PATH_GSHADOW.
	* sysdeps/unix/sysv/linux/paths.h: Likewise.

2009-04-22  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf.h: Add missing const to register_printf_modifier.
	* stdio-common/reg-modifier.c: Likewise.

2009-04-22  Andrew Stubbs  <ams@codesourcery.com>

	* sysdeps/sh/sh4/setjmp.S (__sigsetjmp): Adjust JB_SIZE when there
	is no FPU.

2009-04-20  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10086]
	* sysdeps/unix/sysv/linux/sys/timex.h: Add definitions from kernel
	headers up to 2.6.30.

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

2009-04-19  Ulrich Drepper  <drepper@redhat.com>

	[BZ #10069]
	* elf/dl-open.c (dl_open_worker): We cannot guarantee that we can load
	an object that uses static TLS if the TLS modid is higher than the
	reserve we always allocate.  At least for multi-threaded code.

2009-04-18  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/strfmon_l.c (__vstrfmon_l): Don't wrap when computing width.
	Numerically stable check for valid width.

	* locale/programs/locarchive.c (open_archive): Map the entire file
	and not just the administrative data.
	(add_locale): When we find a hash sum match compare the content
	to be sure.

	* malloc/malloc.c (malloc_info): Output address space information.

2009-04-17  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (malloc_info): Also output system memory information.

	* sysdeps/unix/sysv/linux/kernel-features.h: All supported
	architectures have preadv/pwritev in 2.6.30.

	* sysdeps/posix/preadv.c: Reading of zero bytes is no error.
	* sysdeps/posix/readv.c: Likewise.
	Reported by Markus Armbruster <armbru@redhat.com>.

	* malloc/hooks.c (top_check): Force hook value into register.

2009-04-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* elf/rtld.c (dl_main): Really call _dl_sysdep_start_cleanup after all
	calls to _dl_relocate_object.

2009-04-16  Ulrich Drepper  <drepper@redhat.com>

	[BZ #9957]
	* malloc/malloc.c (force_reg): Define.
	(sYSMALLOc): Load hook variable into variable
	before test and force into register.
	(sYSTRIm): Likewise.
	(public_mALLOc): Force hook value into register.
	(public_fREe): Likewise.
	(public_rEALLOc): Likewise.
	(public_mEMALIGn): Likewise.
	(public_vALLOc): Likewise.
	(public_pVALLOc): Likewise.
	(public_cALLOc): Likewise.
	(__posix_memalign): Likewise.
	* malloc/arena.c (ptmalloc_init): Load hook variable into variable
	before test and force into register.
	* malloc/hooks.c (top_check): Likewise.
	(public_sET_STATe): Pretty printing.

	* resolv/res_send.c (send_dg): Don't just ignore the result we got
	in case we only receive one reply in single-request mode.

2009-04-16  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-open.c (_dl_open): Bump GL(dl_nns) to 1 if no libraries
	are dlopened in statically linked program even for __LM_ID_CALLER.

2009-04-16  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_send.c (send_dg): Don't switch into single-request
	mode if we already are in it.

2009-04-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Make sure there
	are always at least 4 bytes in the returned line.

2009-04-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Check
	__libc_use_alloca (8192), if the stack is too small use 512 bytes
	instead of 8K.  Stop searching in /proc/stat after hitting first
	line not starting with cpu.
	(next_line): Truncate too long
	lines at buffer size * 3/4 instead of pretending there were line
	breaks inside of large lines.

2009-04-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/mp_clz_tab.c: New file.

2009-03-17  Ryan S. Arnold  <rsa@us.ibm.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fallocate.c: Handle old kernel headers.
	* sysdeps/unix/sysv/linux/fallocate64.c: Likewise.
	* sysdeps/unix/sysv/linux/wordsize-64/fallocate.c: Likewise.

2009-03-25  Andrew Stubbs  <ams@codesourcery.com>

	* sysdeps/sh/libc-tls.c: New file.

	* sysdeps/sh/bits/setjmp.h (__jmp_buf): Give name to structure type.

2009-04-14  Roland McGrath  <roland@redhat.com>

	* elf/elf.h: Add various missing ARM constants, to match binutils.

2009-04-14  Ulrich Drepper  <drepper@redhat.com>

	Optimizations from GMP.
	* sysdeps/x86_64/add_n.S: New file.
	* sysdeps/x86_64/addmul_1.S: New file.
	* sysdeps/x86_64/lshift.S: New file.
	* sysdeps/x86_64/mul_1.S: New file.
	* sysdeps/x86_64/rshift.S: New file.
	* sysdeps/x86_64/sub_n.S: New file.
	* sysdeps/x86_64/submul_1.S: New file.

2009-04-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/powerpc32/elf/start.S: Ensure .data is non-empty.
	* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
	* sysdeps/sparc/sparc32/elf/start.S: Likewise.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.

2009-04-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: SH also has
	preadv/pwritev.

2009-04-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86-64/strrchr.S: New file.

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

	* stdio-common/printf.h (struct printf_info): Add user element.
	New types printf_arginfo_size_function, printf_va_arg_function.
	Declare register_printf_specifier, register_printf_modifier,
	register_printf_type.
	* stdio-common/printf-parse.h (struct printf_spec): Add size element.
	(union printf_arg): Add pa_user element.
	Adjust __printf_arginfo_table type.
	Add __printf_va_arg_table, __printf_modifier_table,
	__handle_registered_modifier_mb, and __handle_registered_modifier_wc
	declarations.
	* stdio-common/printf-parsemb.c: Recognize registered modifiers.
	If registered arginfo call failed try normal specifier.
	* stdio-common/printf-prs.c: Pass additional parameter to arginfo
	function.
	* stdio-common/Makefile (routines): Add reg-modifier and reg-type.
	* stdio-common/Versions: Export register_printf_modifier,
	register_printf_type, and register_printf_specifier for GLIBC_2.10.
	* stdio-common/reg-modifier.c: New file.
	* stdio-common/reg-type.c: New file.
	* stdio-common/reg-printf.c (__register_printf_specifier): New
	function.  Mostly the old __register_printf_function function but
	uses locking and type of third parameter changed.
	(__register_printf_function): Implement using
	__register_printf_specifier.
	* stdio-common/vfprintf.c (vfprintf): Collect argument sizes in
	calls to arginfo functions.  Allocate enough memory for user-defined
	types.  Call new va_arg functions to get user-defined types.
	Try installed handlers even for existing format specifiers first.

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

	* sysdeps/x86_64/rawmemchr.S: New file.

	* stdio-common/vfprintf.c (vfprintf): Slightly more compact code.
	Simplified code and possible copy problem fixed.

	* sysdeps/unix/sysv/linux/preadv.c: Avoid prototype for static
	function if it is not defined.  Add some necessary casts.
	* sysdeps/unix/sysv/linux/pwritev.c: Likewise.

	* sysdeps/unix/sysv/linux/kernel-features.h: SPARC and IA64 also
	have preadv/pwritev in 2.6.30.

2009-04-08  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (malloc_info): New function.
	* malloc/malloc.h: Declare it.
	* malloc/Versions: Export malloc_info for GLIBC_2.10.

	* sysdeps/unix/sysv/linux/preadv64.c (PREAD): Use __libc_pread64
	to avoid PLT slot.

	* malloc/malloc.c (_int_realloc): Add parameter with old block
	size.  Remove duplicated test.  Don't handle mmap'ed blocks here.
	Adjust all callers.
	* malloc/hooks.c (realloc_check): Adjust _int_realloc call.

2009-04-07  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/strchrnul.S: New file.

	* crypt/Makefile (LDLIBS-crypt.so): Use this variable instead of
	depending libcrypt on -lfreebl3.

	* sysdeps/unix/sysv/linux/kernel-features.h: Power also has
	preadv/pwritev in 2.6.30.

	* resolv/nss_dns/dns-host.c (getanswer_r): Use strcasecmp
	instead of __strcasecmp.

	* string/stratcliff.c (do_test): Add memchr tests..
	* wcsmbs/wcsatcliff.c (MEMCHR): Define.
	* sysdeps/x86_64/memchr.S: Fix handling of end of buffer after
	first read quad word.

2009-04-06  Ulrich Drepper  <drepper@redhat.com>

	* string/strverscmp.c (__strverscmp): Fix last cleanups.
	* string/tst-svc.input: Add new test case.
	* string/tst-svc.expect: Adjust.
	* string/Makefile: Don't ignore tst-svc error.

	* sysdeps/x86_64/memchr.S: New file.

	* resolv/resolv.h (RES_SNGLKUP): Define.
	* resolv/res_init.c (res_setoptions): Recognize single-request option.
	* resolv/res_send.c (send_dg): If we sent two requests at once and
	only get one reply before timeout switch to mode where we send the
	second request only after the first answer has been received.

2009-04-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/strlen.S: Optimize by using SSE2 instructions.
	* sysdeps/x86_64/strchr.S: Likewise.

2009-04-03  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: We need to test for the compiler earlier.

	* misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64.
	* misc/Versions: Export preadv, preadv64, pwritev, pwritev64 for
	GLIBC_2.10.
	* misc/sys/uio.h: Declare preadv, preadv64, pwritev, pwritev64.
	* sysdeps/unix/sysv/linux/kernel-features.h: Add entries for preadv
	and pwritev.
	* misc/preadv.c: New file.
	* misc/preadv64.c: New file.
	* misc/pwritev.c: New file.
	* misc/pwritev64.c: New file.
	* sysdeps/posx/preadv.c: New file.
	* sysdeps/posx/preadv64.c: New file.
	* sysdeps/posx/pwritev.c: New file.
	* sysdeps/posx/pwritev64.c: New file.
	* sysdeps/unix/sysv/linux/preadv.c: New file.
	* sysdeps/unix/sysv/linux/preadv64.c: New file.
	* sysdeps/unix/sysv/linux/pwritev.c: New file.
	* sysdeps/unix/sysv/linux/pwritev64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/preadv64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/pwritev64.c: New file.

	* sysdeps/unix/sysv/linux/readv.c (__libc_readv): Fix calling of
	compatibility code.
	* sysdeps/unix/sysv/linux/writev.c (__libc_writev): Likewise.

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_COMPLETE_READV_WRITEV.
	* sysdeps/unix/sysv/linux/readv.c: No need for userlevel fallback
	with modern kernels.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.

	* sysdeps/posix/readv.c: Since read is a cancellation point we have
	to free a possible malloced buffer in case of cancellation.
	* sysdeps/posix/writev.c: Likewise for write.

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

	* sysdeps/unix/sysv/linux/bits/socket.h: Add missing protocol numbers.

	* configure.in: Recognize --enable-nss-crypt.
	* config.make.in: Add nss-crypt entry.
	* crypt/Makefile: If nss-crypt==yes, don't build md5.c, sha256.c,
	sha512.c.  Don't run md5test, sha256test, sha512test.  Pass -DUSE_NSS
	and include path for NSS directory to compiler for md5-crypt,
	sha256-crypt, sha512-crypt.  Link libcrypt.so with -lfreebl3.
	* crypt/md5-crypt.c: If USE_NSS is defined, don't use local hash
	function implementation, use NSS.  Introduce wrappers around the
	hash function calls.  Little code size optimization.
	* crypt/sha256-crypt.c: Likewise.
	* crypt/sha512-crypt.c: Likewise.
	* scripts/check-local-headers.sh: Ignore nss3 directory.

	* configure.in: Rename pic_default to libc_cv_pic_default.
	* config.make.in: Likewise.

2009-04-01  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (R_SPARC_GLOB_JMP): New macro.
	(R_SPARC_GOTDATA_HIX22, R_SPARC_GOTDATA_LOX10): New macros.
	(R_SPARC_GOTDATA_OP_HIX22, R_SPARC_GOTDATA_OP_LOX10): Likewise.
	(R_SPARC_GOTDATA_OP, R_SPARC_H34): Likewise.
	(R_SPARC_SIZE32, R_SPARC_SIZE64): Likewise.
	(R_SPARC_GNU_VTINHERIT, R_SPARC_GNU_VTENTRY, R_SPARC_REV32): Likewise.
	(R_SPARC_NUM): Update.
	From Dave Miller <davem@davemloft.net>.

2009-04-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sys/eventfd.h (EFD_SEMAPHORE): Define.

2009-03-31  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c: Keep track of used name spaces and only iterate over
	those which are used.
	* elf/dl-addr.c: Likewise.
	* elf/dl-caller.c: Likewise.
	* elf/dl-fini.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-libc.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.

	* elf/dl-load.c: Remove support for systems without MAP_ANON.
	* elf/dl-minimal.c: Likewise.
	* elf/dl-misc.c: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.

2009-03-30  Ulrich Drepper  <drepper@redhat.com>

	* elf/do-lookup.h (do_lookup_x): Minor optimization and cleanup.
	Avoid reuse of complex expression.

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

2009-03-16  Ulrich Drepper  <drepper@redhat.com>

	* include/dirent.h: Yet more changes to match sort function type
	change.
	* sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/olddirent.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.

2009-03-16  Thomas Schwinge  <tschwinge@gnu.org>

	* dirent/scandir64.c (scandir64): Adjust declaration to type change.

2009-03-16  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (restart): Try to preserve the process name
	by reading the /proc/self/exe symlink and using the return name.
	Patch by Jeff Bastian <jbastian@redhat.com>.

2009-03-15  Ulrich Drepper  <drepper@redhat.com>

	[BZ #9733]
	* elf/dl-load.c (_dl_map_object_from_fd): Only call audit hooks
	if we are not loading a new audit library.
	* elf/dl-reloc (_dl_relocate_object): Third parameter is now a bitmask.
	Only use profiling trampoline for auditing if we are not relocating
	an audit library.
	* elf/dl-open.c (dl_open_worker): Adjust _dl_relocate_object call.
	* elf/rtld.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Adjust _dl_relocate_object prototype.

	* elf/rtld.c (dl_main): Extend help message for --audit option.

	[BZ #9759]
	* dirent/dirent.h: Adjust prototypes of scandir, scandir64, alphasort,
	alphasort64, versionsort, and versionsort64 to POSIX 2008.
	* dirent/alphasort.c: Adjust implementation to type change.
	* dirent/alphasort64.c: Likewise.
	* dirent/scandir.c: Likewise.
	* dirent/versionsort.c: Likewise.
	* dirent/versionsort64.c: Likewise.
	* sysdeps/wordsize-64/alphasort.c: Add hack to hide alphasort64
	declaration.
	* sysdeps/wordsize-64/versionsort.c: Add hack to hide versionsort64
	declaration.

	[BZ #9880]
	* inet/inet6_rth.c (inet6_rth_reverse): Compute number of segments
	correctly.  Set segleft member in output as required.
	Patch partly by Yang Hongyang <yanghy@cn.fujitsu.com>.
	* inet/tst-inet6_rth.c (do_test): Add tests for inet6_rth_reverse.

	[BZ #9881]
	* inet/inet6_rth.c (inet6_rth_add): Add some error checking.
	Patch mostly by Yang Hongyang <yanghy@cn.fujitsu.com>.
	* inet/Makefile (tests): Add tst-inet6_rth.
	* inet/tst-inet6_rth.c: New file.

	[BZ #5807]
	* string/strlen.c (strlen): Fix omission in the expression to test
	for NUL bytes.

2009-03-14  Ulrich Drepper  <drepper@redhat.com>

	* crypt/sha256test.c (main): Perform 100,000 'a' test in a second way.

	* elf/dl-runtime.c (reloc_offset): Define.
	(reloc_index): Define.
	(_dl_fixup): Rename reloc_offset parameter to reloc_arg.
	(_dl_fixup_profile): Likewise.  Use reloc_index instead of
	computing index from reloc_offset.
	(_dl_call_pltexit): Likewise.
	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_resolve): Just pass
	the relocation index to _dl_fixup.
	(_dl_runtime_profile): Likewise for _dl_fixup_profile and
	_dl_call_pltexit.
	* sysdeps/x86_64/dl-runtime.c: New file.

	[BZ #9893]
	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix
	alignment of La_x86_64_regs.  Store xmm parameters.
	Patch mostly by Jiri Olsa <olsajiri@gmail.com>.

	[BZ #9913]
	* string/strverscmp.c (__strverscmp): Fix case of different digits
	in fractional part of string.
	Patch by Jingyu Liu <jyliu@fortinet.com>.
	* string/Makefile (tests): Add tst-svc2.
	* string/tst-svc2.c: New file.

	* string/strverscmp.c (__strverscmp): Optimize size of tables.

	* locale/iso-639.def: Add Min Nan.

2009-03-11  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>

	[BZ #9948]
	* elf/dl-sysdep.c (_dl_show_auxv): Add support for AT_BASE_PLATFORM.

2009-03-14  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-sysdep.c (auxvars): Compress data structure.

	* sysdeps/i386/dl-machine.h (elf_machine_rel): Implement
	STT_GNU_IFUNC handling.
	(elf_machine_rela): Likewise.

2009-03-13  Ulrich Drepper  <drepper@redhat.com>

	* config.h.in (USE_MULTIARCH): Define.
	* configure.in: Handle --enable-multi-arch.
	* elf/dl-runtime.c (_dl_fixup): Handle STT_GNU_IFUNC.
	(_dl_fixup_profile): Likewise.
	* elf/do-lookup.c (dl_lookup_x): Likewise.
	* sysdeps/x86_64/dl-machine.h: Handle STT_GNU_IFUNC.
	* elf/elf.h (STT_GNU_IFUNC): Define.
	* include/libc-symbols.h (libc_ifunc): Define.
	* sysdeps/x86_64/cacheinfo.c: If USE_MULTIARCH is defined, use the
	framework in init-arch.h to get CPUID values.
	* sysdeps/x86_64/multiarch/Makefile: New file.
	* sysdeps/x86_64/multiarch/init-arch.c: New file.
	* sysdeps/x86_64/multiarch/init-arch.h: New file.
	* sysdeps/x86_64/multiarch/sched_cpucount.c: New file.

	* config.make.in (experimental-malloc): Define.
	* configure.in: Handle --enable-experimental-malloc.
	* malloc/Makefile: Handle experimental-malloc flag.
	* malloc/malloc.c: Implement PER_THREAD and ATOMIC_FASTBINS features.
	* malloc/arena.c: Likewise.
	* malloc/hooks.c: Likewise.
	* malloc/malloc.h: Define M_ARENA_TEST and M_ARENA_MAX.

2009-03-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Add branch
	prediction.  A few size optimizations.

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

	* time/tzset.c: Optimize a bit for size.

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

	* include/stdio.h (fmemopen): Add libc_hidden_proto.
	* libio/fmemopen.c (fmemopen): Add libc_hidden_def.

	* elf/sprof.c: Avoid warning about multi-line comment.

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

	* time/tzset.c (__tzset_parse_tz): Use correct string when parsing
	DST name.
	* time/tst-posixtz.c: Add tests for quoted timezone names.

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

	* posix/unistd.h (_POSIX_VERSION, _POSIX2_VERSION, _POSIX2_C_BIND,
	_POSIX2_C_DEV, _POSIX2_SW_DEV, _POSIX2_LOCALEDEF): Define to
	200809L instead of 200112L.
	(_XOPEN_VERSION): For __USE_XOPEN2K8 define to 700.
	* posix/tst-sysconf.c (STDVER): Define to 200809L instead of 200112L.

	* stdlib/quick_exit.c (quick_exit): Pass &__quick_exit_funcs
	instead of __quick_exit_funcs to __run_exit_handlers.
	* stdlib/at_quick_exit.c (at_quick_exit): Add attribute_hidden.
	* stdlib/exit.h (__run_exit_handlers): Add noreturn attribute.
	(__cxa_at_quick_exit): Remove attribute_hidden.
	* stdlib/exit.c (exit): Pass &__exit_funcs instead of __exit_funcs
	to __run_exit_handlers.
	* stdlib/cxa_at_quick_exit.c (__cxa_at_quick_exit): Remove
	attribute_hidden.

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

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

2009-02-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Use
	.machine push; .machine "power6" and .machine pop around mtfsf
	insns outside of _ARCH_PWR6 define.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
	Likewise.
	* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_SET_DI_FPSCR): Likewise.
	* sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_register,
	relax_fenv_state): Likewise.

2009-03-08  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/Makefile (routines): Add quick_exit, at_quick_exit, and
	cxa_at_quick_exit.
	(static-only-routines): Add at_quick_exit.
	* stdlib/Versions: Export quick_exit and __cxa_at_quick_exit for
	GLIBC_2.10.
	* stdlib/quick_exit.c: New file.
	* stdlib/at_quick_exit.c: New file.
	* stdlib/cxa_at_quick_exit.c: New file.
	* stdlib/cxa_atexit.c (__cxa_atexit): Move body to new function.  Call
	it appropriately.
	(__internal_atexit): New function.
	(__new_exitfn): Now takes parameter to point to the list to use.
	* stdlib/cxa_finalize.c: Remove quick_exit handlers, don't call them.
	* stdlib/exit.c (__run_exit_handlers): New function.  Split from...
	(exit): ...here.  Just call __run_exit_handlers appropriately.
	* stdlib/exit.h: Declare __quick_exit_funcs, __run_exit_handlers,
	__internal_atexit, __cxa_at_quick_exit.  Adjust __new_exitfn.
	* stdlib/on_exit.c: Adjust call to __new_exitfn.
	* stdlib/stdlib.h: Declare at_quick_exit and quick_exit.

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

2009-03-07  Ulrich Drepper  <drepper@redhat.com>

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

2009-03-04  Ulrich Drepper  <drepper@redhat.com>

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

2009-03-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Declare fallocate{,64}.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.

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

2009-03-02  Ulrich Drepper  <drepper@redhat.com>

	[BZ #7083]
	* sysdeps/unix/sysv/linux/fallocate.c: New file.
	* sysdeps/unix/sysv/linux/fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/fallocate.c: New file.
	* sysdeps/unix/sysv/linux/i386/fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/i386/fallocate.c: New file.
	* sysdeps/unix/sysv/linux/Versions: Export fallocate and fallocate64
	for GLIBC_2.10.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add fallocate and fallocate64.

	* io/fcntl.h: Pretty printing.

2009-03-02  Richard Guenther  <rguenther@suse.de>

	* misc/sys/cdefs.h (__extern_always_inline): Add __artificial__
	attribute also for non-C99 inline semantics variant.

2009-02-12  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>

	* sysdeps/powerpc/powerpc32/power7/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc32/power7/Implies: Likewise.
	* sysdeps/powerpc/powerpc64/power7/fpu/Implies: Likewise.
	* sysdeps/powerpc/powerpc64/power7/Implies: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies:
	Likewise.

2009-03-02  Ulrich Drepper  <drepper@redhat.com>

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

2009-02-28  Ulrich Drepper  <drepper@redhat.com>

	* po/bg.po: Update from translation team.
	* po/sv.po: Likewise.
	* po/fi.po: Likewise.
	* po/vi.po: Likewise.

2009-02-27  Roland McGrath  <roland@redhat.com>

	* Makeconfig (%.v.i): Depend on Makeconfig.
	Exclude % lines from initial #-comment removal.

2009-02-27  Ulrich Drepper  <drepper@redhat.com>

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

2009-02-26  Roland McGrath  <roland@redhat.com>

	* shadow/lckpwdf.c (__lckpwdf): Move FLAGS inside block using it,
	avoids unused warning.

2009-02-26  Andrew Stubbs  <ams@codesourcery.com>
	    SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

	* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Don't include signal.h,
	sys/ucontext.h and asm/elf.h.  Include sys/user.h.
	* sysdeps/unix/sysv/linux/sh/sys/user.h: Don't include features.h
	and asm/user.h.  Include asm/ptrace.h.
	(PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS,
	PTRACE_SETFPREGS, PTRACE_GETFDPIC, PTRACE_GETFDPIC_EXEC,
	PTRACE_GETFDPIC_INTERP, PTRACE_GETDSPREGS, PTRACE_SETDSPREGS):
	Undefine.
	(start_thread): Don't undefine.
	(elf_greg_t, ELF_NGREG, elf_fpregset_t, user_fpu_struct, user):
	Define.

2009-02-26  Ulrich Drepper  <drepper@redhat.com>

	* wctype/wctype.h: The *_l functions are in POSIX 2008.
	* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
	wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
	wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
	* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
	200112L to 200809L.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
	* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT entries.
	* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT.
	* posix/unistd.h: fexecve is in POSIX 2008.
	* time/time.h: strftime_l is in POSIX 2008.
	* io/sys/stat.h: futimens is in POSIX 2008.
	* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
	* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
	strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
	* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
	* libio/stdio.h: dprintf, fmemopen, getdelim, getline,
	open_memstream, and vdprintf are in POSIX 2008.

2009-02-25  Ulrich Drepper  <drepper@redhat.com>

	* include/features.h: Define macros for XPG7/POSIX 2008.
	* ctype/ctype.h: The *_l functions are in POSIX 2008.
	* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
	POSIX 2008.
	* locale/langinfo.h: nl_langinfo_l is in POSIX 2008.
	* locale/xlocale.h: Define locale_t type.
	* locale/locale.h: duplocale, freelocale, newlocale, uselocale are
	in POSIX 2008.  Don't define locale_t here.
	* stdlib/monetary.h: strfmon_l is in POSIX 2008.
	* sysdeps/unix/sysv/linux/bits/stat.h: Protect UTIME_NOW and
	UTIME_OMIT only with __USE_ATFILE.
	* signal/signal.h: Declare psignal and psiginfo for POSIX 2008.
	* stdio-common/psiginfo.c: New file.
	* stdio-common/psiginfo-data.h: New file.
	* stdio-common/psiginfo-define.h: New file.
	* stdio-common/Makefile (routines): Add psiginfo.
	* stdio-common/Versions: Export psiginfo for GLIBC_2.10.
	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
	* io/sys/stat.h: Move mknodat definition into same conditional as
	mknod.
	* time/sys/time.h: futimesat is not among the functions accepted
	into the POSIX standard.

	* include/features.h: If no feature selection given and we select
	by default a POSIX mode, also define __USE_POSIX_IMPLICITLY.
	* posix/Versions: Export __posix_getopt.
	* posix/getopt.c (_getopt_initialize): Take additional parameter.
	Use it to alternatively initialize __posixly_correct.
	(_getopt_internal_r): Take addition parameter.  Pass on to
	_getopt_initialize.
	(_getopt_internal): Take addition parameter.  Pass on to
	_getopt_internal_r.
	(getopt): Pass additional zero to _getopt_internal.
	(__posix_getopt): New function.
	* posix/getopt.h: Add redirection for getopt.
	* posix/getopt1.c (getopt_long): Pass additional zero to
	_getopt_internal.
	(getopt_long_only): Likewise.
	(_getopt_long_r): Pass additional zero to _getopt_internal_r.
	(_getopt_long_only_r): Likewise.
	* posix/getopt_int.h: Adjust declarations of _getopt_internal and
	_getopt_internal_r.

2009-02-24  Ulrich Drepper  <drepper@redhat.com>

	* bits/confname.h: Define _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX,
	_SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS.
	* sysdeps/posix/sysconf.c (__sysconf): Handle
	_SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX,
	_SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS.

2009-02-24  Roland McGrath  <roland@redhat.com>

	[BZ #9895]
	* README.template: Reworded not to use substituted version number.
	Renamed to ...
	* README: ... here (no longer generated).
	* Makefile (README): Target removed.

2009-02-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf):
	/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
	instead.

	* io/sys/stat.h: The lstat functions have been mandatory since 2001.

	* time/tzset.c (tzset_internal): Correct parsing of TZ envvar.

2009-02-22  Ulrich Drepper  <drepper@redhat.com>

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

2009-02-16  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/monetary.h: Uglify function parameter names.
	* sunrpc/rpc/pmap_clnt.h: Likewise.
	* sunrpc/rpc/svc.h: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.
	* sunrpc/rpc/clnt.h: Likewise.
	* resolv/netdb.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.
	* resolv/resolv.h: Likewise.
	* argp/argp.h: Likewise.
	* locale/langinfo.h: Likewise.
	* io/sys/stat.h: Likewise.
	* posix/spawn.h: Likewise.
	* nis/rpcsvc/nislib.h: Likewise.
	* malloc/obstack.h: Likewise.
	* sysdeps/ia64/bits/link.h: Likewise.
	* sysdeps/i386/bits/link.h: Likewise.
	* sysdeps/s390/bits/link.h: Likewise.
	* sysdeps/powerpc/bits/link.h: Likewise.
	* sysdeps/x86_64/bits/link.h: Likewise.
	* sysdeps/sparc/bits/link.h: Likewise.
	* sysdeps/sh/bits/link.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.

2008-12-01  Fredrik Unger  <fred@tree.se>

	* soft-fp/double.h [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_D,
	FP_UNPACK_SEMIRAW_DP): Use _FP_UNPACK_RAW_1 instead of
	_FP_UNPACK_RAW_2, fix up first argument.

2009-02-15  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (next_line): New function.
	(GET_NPROCS_PARSER): Change parameters and use next_line.
	(__get_nprocs): Rewrite to not use stdio routines.
	* sysdeps/unix/sysv/linux/sparc/getsysstats.c (GET_NPROCS_PARSER):
	Change parameters and use next_line.

2009-02-13  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5381]
	* nscd/nscd.h: Remove definitions and declarations for mem_in_flight.
	Change mempool_alloc prototype.
	* nscd/mem.c (gc): Don't handle mem_in_flight.
	(mempool_alloc): Third parameter now only indicates whether this is the
	first call (to allocate data) or not.  If it is, get db rdlock.
	Release it on error.  Don't handle mem_in_flight.
	* nscd/aicache.c (addhstaiX): Mark he parameter as const.
	Adjust third parameter of mempool_alloc calls.
	Nothing to do here in case mempool_alloc fails.
	Avoid local variable shadowing parameter.  No need to get db rdlock
	before calling cache_add.
	* nscd/cache.c (cache_add): Adjust call to mempool_alloc.  There is
	no mem_in_flight array anymore.
	* nscd/connections.c: Remove definition and handling of mem_in_flight.
	* nscd/grpcache.c (cache_addgr): Adjust third parameter of
	mempool_alloc calls.  Mark he parameter as const.  Nothing to do here
	in case mempool_alloc fails. No need to get db rdlock before calling
	cache_add.
	* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.  Remove some debugging code.

2009-02-11  Ulrich Drepper  <drepper@redhat.com>

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

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

	* elf/dl-load.c (open_verify): In case VALID_ELF_HEADER is
	defined, allow additional data to be added using the optional
	MORE_ELF_HEADER_DATA macro.
	* sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_HEADER,
	VALID_ELF_OSABI, VALID_ELF_ABIVERSION, MORE_ELF_HEADER_DATA): Define.

2009-02-08  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h: Define catomic_and if not already defined.
	* sysdeps/x86_64/bits/atomic.h: Define catomic_and.
	* sysdeps/i386/i486/bits/atomic.h: Likewise.

2009-02-07  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (_int_free): Second argument is now mchunkptr.
	Change all callers.
	(_int_realloc): Likewise.  Third argument is now padded size
	All _int_* functions are now static.

	* malloc/hooks.c: Change all callers to _int_free and _int_realloc.
	* malloc/arena.c: Likewise.
	* include/malloc.h: Remove now unnecessary declarations of the _int_*
	functions.

	* sunrpc/rpc_common.c: We cannot move _null_auth into .rodata that
	easily.

	* malloc/malloc.c: Add branch prediction for use of the hooks.

	* grp/compat-initgroups.c [NOT_IN_libc] (__libc_use_alloca): Define.

2009-02-06  Ulrich Drepper  <drepper@redhat.com>

	[BZ #7095]
	* bits/confname.h: Add SUSv7 macros for getconf environments.
	* bits/environments.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/environments.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/environments.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/environments.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/environments.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/environments.h: Likewise.
	* posix/confstr.c: Handle SUSv5 and SUSv7 environments.
	* posix/getconf.c: Likewise.
	* posix/sysconf.c: Likewise.
	* sysdeps/posix/sysconf.c: Likewise.
	* posix/Makefile (getconf.speclist): Also collect SUSv5 and SUSv7
	environments.

2009-01-16  Petr Baudis  <pasky@suse.cz>

	[BZ #9753]
	* resolv/res_libc.c (__res_maybe_init): Call __res_vinit()
	even if we currently have zero nscount.

2009-02-06  Ulrich Drepper  <drepper@redhat.com>

	[BZ #9781]
	* grp/compat-initgroups.c (compat_call): Switch to use malloc when
	the input line is too long.

	* po/Makefile (libc.pot): Add f_print as function taking c-format
	parameter.

	* debug/xtrace.sh: Unify translatable messages.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* nss/getent.c: Likewise.

2009-02-06  Joseph Myers  <joseph@codesourcery.com>

	* debug/pcprofiledump.c (print_version,
	argp_program_version_hook): New function.
	* elf/ldconfig.c (more_help): New function.
	(argp): Use it.
	* elf/sln.c (usage): New function.
	(main): Support --help and --version.
	* malloc/memusagestat.c (print_version): New function.
	(argp_program_version_hook): New variable.
	* nscd/nscd.c (more_help): New function.
	(argp): Use it.
	* posix/getconf.c (main): Send --version output to stdout.
	Support --help.
	* sunrpc/rpc_main.c (usage, options_usage): Take STREAM and STATUS
	arguments.  All callers changed.
	(print_version): New function.
	(parseargs): Support --help and --version.
	* sunrpc/rpcinfo.c (usage): Take STREAM argument.  All callers
	changed.
	(print_version): New function.
	(main): Use getopt_long.  Support --help and --version.
	* sysdeps/unix/sysv/linux/lddlibc4.c (main): Support --help and
	--version.

2009-02-06  Ulrich Drepper  <drepper@redhat.com>

	* malloc/memusage.c (DEFAULT_BUFFER_SIZE): Change to 32768.
	(update_data): Fix handling of wrapping back
	to the beginning of the buffer.

	[BZ #9823]
	* stdio-common/psignal.c (psignal): Fix test for empty string.

2009-02-05  Ulrich Drepper  <drepper@redhat.com>

	* include/rpc/auth.h: Use libc_hidden_proto for _null_auth.
	* sunrpc/rpc_common.c: Add libc_hidden_def for _null_auth.  Also
	move _null_auth to .rodata.

	* time/tzset.c (__tzset_parse_tz): DST offset must also allow hour
	value of 24.

	* intl/dcigettext.c (DCIGETTEXT): Avoid some code duplication.

	* sysdeps/unix/opendir.c (__alloc_dir): We have a lot more memory
	today than when the original code was written.  Use larger
	buffers.  This also makes it unnecessary to have stat information,
	if this causes extra efforts.
	(__opendir): In case O_DIRECTORY works, don't call fstat just for
	__alloc_dir.

2009-02-03  Andrew Stubbs  <ams@codesourcery.com>

	* sysdeps/sh/sh4/dl-trampoline.S: Only set HAVE_FPU if __SH_FPU_ANY__
	is set.
	* sysdeps/sh/sh4/setjmp.S: Support SH4-NOFPU.
	* sysdeps/sh/sh4/__longjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sh4/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sh4/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Likewise.

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

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

2008-11-17  Nathan Sidwell  <nathan@codesourcery.com>

	* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h (struct sigevent):
	Add _tid slot to maintain consistency with kernel.

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

	* libio/wfileops.c (_IO_wfile_underflow): Fix handling of
	incomplete characters at end of input buffer.
	* libio/Makefile (tests): Add tst-fgetwc.
	* libio/tst-fgetwc.c: New file.
	* libio/tst-fgetwc.input: New file.

2009-02-02  Andrew Stubbs  <ams@codesourcery.com>

	* sysdeps/unix/sysv/linux/sh/Makefile (libm.so-no-z-defs): Define.

2009-02-02  Ulrich Drepper  <drepper@redhat.com>

	[BZ #9793]
	* iconv/gconv_trans.c (__gconv_transliterate): Don't change
	*OUTBUFSTART unless the whole output fit into the buffer.
	* iconv/Makefile (tests): Add tst-iconv4.
	* iconv/tst-iconv4.c: New file.

2009-02-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/cacheinfo.c (intel_02_known): Add new descriptors.
	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.

2009-01-29  Andrew Stubbs  <ams@codesourcery.com>

	* elf/Makefile (ld.so): Adjust the sed script to insert _begin in to
	newer linker scripts.

2009-01-30  Ulrich Drepper  <drepper@redhat.com>

	[BZ #7040]
	* sysdeps/unix/sysv/linux/sys/inotify.h: Second parameter of
	inotify_rm_watch should have type int.

2009-01-06  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp):
	Make aligned_restore_vmx a local symbol.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S (__longjmp):
	Likewise.

2009-01-30  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/bits/shm.h (SHM_EXEC): Define.
	* sysdeps/unix/sysv/linux/ia64/bits/shm.h (SHM_EXEC): Define.
	* sysdeps/unix/sysv/linux/powerpc/bits/shm.h (SHM_EXEC): Define.
	* sysdeps/unix/sysv/linux/s390/bits/shm.h (SHM_EXEC): Define.
	* sysdeps/unix/sysv/linux/sh/bits/shm.h (SHM_EXEC): Define.
	* sysdeps/unix/sysv/linux/sparc/bits/shm.h (SHM_EXEC): Define.
	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h (SHM_EXEC): Define.

2009-01-11  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #9726]
	* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_SET_DI_FPSCR,
	_SET_SI_FPSCR): Clobber fp0 to prevent erroneous test-case passes.

2009-01-08  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #9726]
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
	(__CONTEXT_FUNC_NAME): Fix mtfsf to use fp31 instead of fp0.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
	(__CONTEXT_FUNC_NAME): Fix mtfsf to use fp31 instead of fp0.

2009-01-11  Thomas Schwinge  <tschwinge@gnu.org>

	* sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Use
	memcpy instead of memcmp.
	(_dl_setup_pointer_guard): Likewise.

2009-01-30  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (sYSMALLOc): Don't use assert when detecting
	manipulated brk, use malloc_printerr.
	* misc/sbrk.c (__sbrk): Better error handling for nonsense
	requests.

2009-01-30  Jakub Jelinek  <jakub@redhat.com>

	* string/string.h (memchr, strchr, strrchr, strpbrk, strstr, index,
	rindex): For C++ add inlines so that they can be recognized as
	builtins.
	* string/strings.h: Define correct C++ prototypes for gcc 4.4.

2009-01-29  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* string/string.h: Define correct C++ prototypes for gcc 4.4.
	* wcsmbs/wchar.h: Likewise.

2009-01-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/stackinfo.h (stackinfo_get_sp): Define.
	(stackinfo_sub_sp): Define.

2009-01-28  Ulrich Drepper  <drepper@redhat.com>

	[BZ #9750]
	* nscd/mem.c (gc): Use alloca_count to get the real stack usage.
	* include/alloca.h (alloca_account): Define.
	* sysdeps/x86_64/stackinfo.h (stackinfo_get_sp): Define.
	(stackinfo_sub_sp): Define.

	* nscd/connections.c (nscd_init): If database file access fails
	check whether this is due to permission problems and bail in that
	case.

	[BZ #9741]
	* nscd/mem.c (gc): Fix assignment of he_data in case malloc is used.
	Reported by Jun'ichi Nomura <j-nomura@ce.jp.nec.com>.

2009-01-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL):
	Add "t" to clobber list.
	(INTERNAL_SYSCALL_NCS): Likewise.

2009-01-28  Ulrich Drepper  <drepper@redhat.com>

	* nss/getent.c (print_networks): Don't print comma between aliases.

2009-01-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/tst-clone.c (do_test): Avoid warning.

	* misc/hsearch_r.c (hcreate_r): We need at least three elements in
	the hash table.
	* misc/Makefile (tests): Add bug-hsearch1.
	* misc/bug-hsearch1.c: New file.

2009-01-22  Roland McGrath  <roland@redhat.com>

	* Makeconfig (%.v.i): Strip trailing # comments,
	not only whole-line comments.

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

	* sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Take
	one parameter.  If non-NULL use it to initialize return value.
	(_dl_setup_pointer_guard): New function.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/generic/ldsodefs.h: Declare _dl_random.
	* elf/rtld.c (security_init): Pass _dl_random to
	_dl_setup_stack_chk_guard.  Call _dl_setup_pointer_guard to initialize
	pointer_chk_guard.
	* elf/dl-sysdep.c (_dl_random): New variable.
	(_dl_sysdep_start): Handle AT_RANDOM.
	(_dl_show_auxv): Likewise.
	* elf/dl-support.c (_dl_random): New variable.
	(_dl_aux_init): Handle AT_RANDOM.
	* csu/libc-start.c [!SHARED] (libc_start_main): Pass _dl_random
	to _dl_setup_stack_chk_guard.

	* elf/elf.h (AT_RANDOM): Define AT_BASE_PLATFORM and AT_RANDOM.

2009-01-10  Roland McGrath  <roland@redhat.com>

	* nscd/nscd.c (parse_opt): Use argp_error for bad -i argument.

2009-01-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/fpu/libm-test-ulps: Adjust expm1 errors.

	[BZ #9706]
	* nss/nss_files/files-parse.c (strtou32): New function.
	(INT_FIELD): Use strotu32 instead of strtoul to unify behavior
	across 32-bit and 64-bit platforms.
	(INT_FIELD_MAYBE_NULL): Likewise.

2009-01-08  Jakub Jelinek  <jakub@redhat.com>

	[BZ #9720]
	* sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who): Avoid
	comma after RUSAGE_CHILDREN if not -D_GNU_SOURCE.
	* sysdeps/unix/sysv/linux/sparc/bits/resource.h (enum __rusage_who):
	Likewise.

2009-01-05  Paolo Bonzini  <bonzini@gnu.org>

	[BZ #697]
	* posix/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
	being NULL also if there are no backreferences.
	* posix/rxspencer/tests: Add testcases.

2009-01-04  Paolo Bonzini  <bonzini@gnu.org>

	[BZ #9697]
	* posix/bug-regex17.c: Add testcases.
	* posix/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
	handling.

2009-01-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/bits/libc-vdso.h: New file.
	* sysdeps/unix/sysv/linux/s390/gettimeofday.c: New file.
	* sysdeps/unix/sysv/linux/s390/init-first.c: New file.
	* sysdeps/unix/sysv/linux/s390/Makefile (sysdep_routines): Add dl-vdso
	for elf subdir.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INLINE_VSYSCALL,
	INTERNAL_VSYSCALL, INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK,
	INTERNAL_SYSCALL_NCS, HAVE_CLOCK_GETRES_VSYSCALL and
	HAVE_CLOCK_GETTIME_VSYSCALL: Define.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/Versions: New file.

2008-12-31  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
	* posix/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
	re_string_skip_chars, re_string_reconstruct): Likewise.
	* posix/regex_internal.h [!_LIBC] (__mbrtowc): New #define.

2008-12-31  Rafael Avila de Espindola  <espindola@google.com>

	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Check and
	adjust the buffer alignment.

2009-01-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/Makefile (sysdep_headers) [subdir=socket]:
	Add net/ethernet.h net/if_arp.h net/if_ether.h net/if_ppp.h
	net/route.h.

	* hurd/report-wait.c (describe_number): Use __stpcpy to prepend
	flavor to description only when flavor is not NULL.

	* hurd/hurdsig.c (signal_allowed): Unlock _hurd_dtable_lock
	mutex after SIGIO/SIGURG lookup loop.

2009-01-03  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* bits/resource.h (PRIO_PROCESS, PRIO_PGRP, PRIO_USER): Add macros.

2009-01-03  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument
	handling.

2009-01-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_FUTEX_CLOCK_REALTIME): Define.

	* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Create temporary state object
	if no output is written.

	* version.h: Bump to 2.10 development.

	* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.

2008-12-29  Mike Frysinger  <vapier@gentoo.org>

	* iconvdata/Makefile (iconv-rules): Use LC_ALL=C when running awk
	script.

2008-12-29  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): When the
	gethostbyname4_r function call succeeded, just leave the loop.

	[BZ #9694]
	* wcsmbs/wchar.h: Move undefs for local __need_* constants to the
	very end.
	* wctype/wctype.h: Get wint_t definition directly from <stddef.h>.
	* wctype/Makefile (tests): Add bug-wctypeh.
	* wctype/bug-wctypeh.c: New file.

	* nscd/nscd_gethst_r.c (nscd_gethst_r): Don't use nscd if
	LOCALDOMAIN is defined.
	* nscd/nscd_getai.c (__nscd_getai): Likewise.

	* sysdeps/x86_64/bits/select.h: New file.

	* resolv/res_init.c (__res_vinit): Count all servers in	statp->nscount.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	[BZ #9677]
	* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Create temporary state object
	if no output is written.

2008-12-13  Klaus Dittrich  <kladit@arcor.de>

	* login/utmp_file.c (pututline_file): Replace call to dup2 with
	libc internal symbol __dup2 to avoid access through the PLT.

2008-12-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6545]
	* sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make
	available only for __USE_GNU.

	* inet/Makefile (tests): Add tst-getni2.
	* inet/tst-getni2.c: New file.

	[BZ #7080]
	* inet/getnameinfo.c (getnameinfo): Check for output buffers being
	NULL when NI_NAMEREQD is set.
	Patch mostly by Yang Hongyang <yanghy@cn.fujitsu.com>.
	* inet/Makefile (tests): Add tst-getni1.
	* inet/tst-getni1.c: New file.

2008-12-03  Petr Baudis  <pasky@suse.cz>

	[BZ #7067]
	* nscd/connections.c (invalidate_cache): Use prune_run_lock
	instead of prune_lock.
	(nscd_run_prune): Before calling prune_cache, take prune_run_lock.
	* nscd/nscd.h (database_dyn): Add prune_run_cache.

2008-12-07  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_send.c (send_dg): Use correct guards for SOCK_CLOEXEC
	use.

	* sysdeps/unix/sysv/linux/kernel-features.h: Fix typo in accept4
	handling.

	* resolv/res_init.c (__res_vinit): Always assign to statp->nscount
	after reading name server list.

	[BZ #7058]
	* nis/nss_nis/nis-hosts.c (_nss_nis_gethostbyname4_r): Fix memory
	handling for host name aliases.

2008-11-24  Arkadiusz Miśkiewicz  <arekm@maven.pl>

	* sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG
	instead of doing things manually.

2008-11-26  Chris Steel  <chris.steel.lnx@googlemail.com>

	* posix/regex_internal.h (build_wcs_upper_buffer):
	Return type is reg_error_t.

2008-12-05  Ulrich Drepper  <drepper@redhat.com>

	* posix/globtest.sh: Use mktemp to create temporary file and
	directory.

	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S): Handle large
	sets correctly.
	(__CPU_CLR_S): Likewise.
	(__CPU_ISSET_S): Likewise.

2008-12-05  Joseph Myers  <joseph@codesourcery.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* scripts/firstversion.awk: Use custom comparison function to compare
	version numbers.
	* scripts/versions.awk: Use sort invocation which can handle
	multi-digit sub-version numbers.

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

	* locale/programs/ld-address.c (DEFINE_LANGUAGE_CODE2): Define.
	* locale/iso-639.def: Add Chhattisgarhi entry.

2008-12-02  Ulrich Drepper  <drepper@redhat.com>

	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Recognize
	ESRCH return value.
	(_nss_dns_gethostbyname4_r): Likewise.
	* resolv/res_init.c (__res_vinit): Initialize nscount to zero.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use
	gethostbyname4_r, we don't have a separate IPv6 status, so copy
	the no_data variable.

	* resolv/res_init.c (__res_vinit): Fill in IPv4 name server
	information at the correct index.

	* socket/sys/socket.h: Declare accept4.
	* socket/accept4.c: New file.
	* sysdeps/unix/sysv/linux/accept4.c: New file.
	* sysdeps/unix/sysv/linux/i386/accept4.S: New file.
	* socket/Makefile (routines): Add accept4.
	* socket/Versions: Export accept4 with version GLIBC_2.10.
	* socket/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/i386/paccept.S: Removed.
	* Versions.def: Define GLIBC_2.10 for libc.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_ACCEPT4.

	* nscd/connections.c: Use accept4.

	* sysdeps/unix/sysv/linux/i386/socket.S: Fix comment.

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

	* resolv/res_send.c (send_dg): Create sockets with non-blocking
	flag already set.

	* stdlib/setenv.c (unsetenv): Don't search environment if it does
	not exist.
	* stdlib/Makefile (tests): Add tst-unsetenv1.
	* stdlib/tst-unsetenv1.c: New file.

2008-11-29  Ulrich Drepper  <drepper@redhat.com>

	* login/utmp_file.c (file_writable): New variable.
	(setutent_file): Don't try to open file for writing.
	(pututline_file): Before writing, make descriptor writable if
	necessary.

2008-11-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Only restrict search
	to IPv4 or IPv6 if an interface has been found.

2008-11-26  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Renamed to ...
	* sysdeps/unix/sysv/linux/powerpc/ipc_priv.h: ... here.

	* sysdeps/unix/sysv/linux/alpha/wordexp.c: Renamed to ...
	* sysdeps/unix/sysv/linux/ia64/wordexp.c: ... here.
	* sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c: Change #include.

	* elf/elf.h (NT_386_IOPERM): New macro.
	(NT_PPC_VSX): New macro.

2008-11-25  Roland McGrath  <roland@redhat.com>

	* sysdeps/alpha, sysdeps/unix/bsd/osf/alpha,
	sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha,
	sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha,
	sysdeps/mach/alpha, sysdeps/mach/hurd/alpha:
	Subdirectories moved to ports repository.
	* configure.in (base_machine): Remove alpha case.

2008-11-25  Thomas Schwinge  <tschwinge@gnu.org>

	* sysdeps/mach/strerror_l.c: New file.

2008-11-13  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #6411]
	* sysdeps/powerpc/fpu/Makefile: Added test case tst-setcontext-fpscr.
	* sysdeps/powerpc/fpu/feholdexcpt.c (_FPU_MASK_ALL): Define to replace
	magic numbers.
	* sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_register): Dynamically
	choose mtfsf insn based on PPC_FEATURE_HAS_DFP.
	(relax_fenv_state): Same as above.
	(FPSCR_29): Reserve bit in ISA 2.05.
	(FPSCR_NI): Provide define for compat.
	* sysdeps/powerpc/fpu/fesetenv.c (_FPU_MASK_ALL): Define to replace
	magic numbers.
	* sysdeps/powerpc/fpu/feupdateenv.c (_FPU_MASK_ALL): Define to replace
	magic numbers.
	* sysdeps/powerpc/fpu/tst-setcontext-fpscr.c: New file.  Test case to
	test setcontext and swapcontext with dynamic 64-bit FPSCR detection.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp): Adjust
	access to hwcap to account for hwcap size increase to uint64_t.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (__sigsetjmp ):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
	(*setcontext): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
	(*setcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP. Adjust access to hwcap to account for hwcap size
	increase to uint64_t.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
	(*swapcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP.  Adjust access to hwcap to account for hwcap size
	increase to uint64_t.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
	(*setcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
	(*swapcontext): dynamically select mtfsf insn based on
	PPC_FEATURE_HAS_DFP.

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

	* version.h: Bump for 2.9 release.
	* include/features.h (__GLIBC_MINOR__): Bump to 9.

	[BZ #7029]
	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ALLOC_SIZE):
	Multiply with sizeof of __cpu_mask, not 8 unconditionally after
	all the rounding.

2008-11-11  Ulrich Drepper  <drepper@redhat.com>

	[BZ #7009]
	* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Don't abort for
	unknown request types for now.

2008-11-11  Roland McGrath  <roland@redhat.com>

	* sysdeps/x86_64/configure: New file.

	* configure.in: Add AC_SUBST(libc_cv_cpp_asm_debuginfo).
	* configure: Regenerated.

2008-11-03  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-64/dl-trampoline.S (_dl_runtime_profile): Use the
	correct instruction to remove the stack frame.

2008-11-03  Michael Matz  <matz@suse.de>

	* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq,
	__arch_compare_and_exchange_val_64_acq): Add "memory" clobber.

2008-11-07  Jakub Jelinek  <jakub@redhat.com>

	* include/stdio.h (__builtin_fwrite, __builtin_fwrite_unlocked):
	Remove.

	* bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address,
	__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type
	of the thread variable instead of void *.
	* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define,
	__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise.
	* include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
	__libc_tsd_define arguments.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust
	__libc_tsd_address arguments.  Remove union hack.
	* include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments.
	* sunrpc/rpc_thread.c (RPC_VARS): Likewise.
	(__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables):
	Adjust __libc_tsd_{set,get} arguments.
	* ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
	__libc_tsd_define arguments.
	* locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get}
	arguments.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
	* locale/global-locale.c (__libc_tsd_LOCALE): Adjust type.
	(LOCALE): Adjust __libc_tsd_define arguments.
	* locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get
	arguments.
	(LOCALE): Adjust __libc_tsd_define arguments.
	* sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define
	arguments.
	(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
	arguments.

2008-11-02  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (public_rEALLOc): When new arena is used, copy
	really all bytes.  Patch by Denys Vlasenko <dvlasenk@redhat.com>.

2008-11-01  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6966]
	* misc/hsearch_r.c (hsearch_r): Fix secondary hash function.

2008-10-24  Joseph Myers  <joseph@codesourcery.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* math/tgmath.h (__floating_type): Use __builtin_classify_type in
	definition for GCC 3.1 and later.

2008-10-31  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo
	refetch dtv, as it might have changed.
	* elf/Makefile: Add rules to build and run tst-tls18.
	* elf/tst-tls18.c: New test.
	* elf/tst-tlsmod18a.c: New file.

2008-09-09  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #6875]
	* iconvdata/gconv-modules: Add LATIN9 as an alias to ISO-8859-15.

2008-10-31  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6867]
	* sysdeps/powerpc/elf/rtld-global-offsets.sym: Fix typo.

	[BZ #6919]
	* posix/spawnattr_getschedparam.c (posix_spawnattr_getschedparam):
	Fix length of copy operation.

2008-10-02  Pierre Habouzit <madcoder@debian.org>

	* sysdeps/unix/sysv/linux/eventfd.c (eventfd): Use the eventfd2 syscall
	and fix its calling convention.

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

	[BZ #6942]
	* resolv/res_send.c (send_vc): Fix last change.
	(send_dg): Align here as well.

2008-10-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle UL_GETFSIZE
	return value in case rlimit is RLIM_INFINITY.

	[BZ #6947]
	* sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Fix return value
	for UL_SETFSIZE.
	* resource/Makefile (tests): Add bug-ulimit1.
	* resource/bug-ulimit1.c: New file.

	[BZ #6974]
	* sunrpc/rpc_main.c (mkfile_output): Properly handle filename
	without dot.  Properly terminate the string with a null byte.
	Based on a patch by Aurelien Jarno <aurelien@aurel32.net>.

	[BZ #6980]
	* debug/getgroups_chk.c (__getgroups_chk): Return EINVAL error for
	negative sizees.
	* posix/bits/unistd.h (getgroups): Call __getgroups_chk for
	negative __size.

	[BZ #6995]
	* sysdeps/powerpc/powerpc32/dl-machine.c: Fix typo in message.

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

	* grp/initgroups.c (internal_getgrouplist): Don't prematurely
	abort if there is no initgroups_dyn function.

	* resolv/res_send.c (send_dg): On timeout, only return nonzero
	result if any of the queries really provided an answer.

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

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

2008-10-26  Ulrich Drepper  <drepper@redhat.com>

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

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

	* resolv/res_query.c (__libc_res_nquery): Add a few casts.
	Fix tests for existence of second reply.

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

	* po/id.po: New file.
	Contributed by the Indonesian translation team.

2008-10-22  Dmitry V. Levin  <ldv@altlinux.org>

	* misc/syslog.c (openlog_internal): Fix __have_sock_cloexec
	initialization.

2008-10-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run tst-tls17.
	* elf/tst-tls17.c: New test.
	* elf/tst-tlsmod17a.c: New file.
	* elf/tst-tlsmod17b.c: Likewise.

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

	* stdlib/divmod_1.c: Use correct type for dummy variable.
	* stdlib/mod_1.c: Likewise.

2008-10-16  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-tls.c (_dl_update_slotinfo): Copy all of the initial DTV.

2008-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sys/signalfd.h (signalfd): Fix __THROW vs.
	__nonnull order for C++.
	* sysdeps/unix/sysv/linux/alpha/sys/signalfd.h (signalfd): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/signalfd.h (signalfd): Likewise.

2008-10-01  Daniel Jacobowitz  <dan@codesourcery.com>

	* stdlib/longlong.h: Update from GCC.

2008-10-09  Jakub Jelinek <jakub@redhat.com>
	    David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR,
	make sure any registers used with 64-bit 'branch-on-register'
	instructions have their top 32-bits clear.
	* sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Likewise.

2008-09-18  Andreas Schwab  <schwab@suse.de>

	[BZ #6942]
	* resolv/res_send.c (send_vc): Fix use of unaligned address.
	Properly handle partial reads.

2008-10-01  Mark Shinwell  <shinwell@codesourcery.com>

	* elf/elf.h (STO_MIPS_PLT): New.
	(R_MIPS_COPY): New.
	(R_MIPS_JUMP_SLOT): New.
	(R_MIPS_NUM): Redefine to 128.
	(DT_MIPS_PLTGOT): New.
	(DT_MIPS_RWPLT): New.
	(DT_MIPS_NUM): Redefine to 0x35.

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

	* timezone/africa: Update from tzdata2008f.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/europe: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

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

	* nscd/connections.c: Disable use of paccept for now.

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

	* socket/Versions: Remove paccept export for GLIBC_2.9.
	* socket/Makefile (routines): Remove paccept.
	* socket/sys/socket.h: Remove paccept declaration.

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

2008-09-22  Deborah S. Townsend  <dstownse@us.ibm.com>

	* sysdeps/s390/s390-64/s390x-mcount.S: Replace ahi with aghi.
	* sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.

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

	* dlfcn/dlopen.c (dlopen_doit): Allow __RTLD_SPROF flag.
	Patch by Olivier Fourdan <ofourdan@redhat.com>.

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

	* sunrpc/rpc/svc.h: Declare svcfd_create.
	Patch by Michael Solberg <msolberg@redhat.com>.

2008-09-12  Flavio Leitner  <fleitner@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (public_vALLOc): Try other arenas in case
	_int_valloc fails.
	(public_pVALLOc): Likewise.

2008-09-02  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: Fix last
	commit.

2008-08-26  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #6860]
	* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Fix a typo.

2008-07-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile (check-data): Check data directory in add-ons.
	* elf/Makefile (check-data): Likewise.

2008-08-18  Roland McGrath  <roland@redhat.com>

	* configure.in (--with-cpu): Check compiler support for -march/-mcpu.
	* configure: Regenerated.
	* config.make.in (cflags-cpu): New substituted variable.
	(with-cpu): Variable removed.
	* Makeconfig (+cflags): Use $(cflags-cpu), not $(with-cpu).

2008-08-14  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #6845]
	* sysdeps/powerpc/fpu/bits/mathinline.h (__signbitl): Copy new
	__signbitl definition and __LONG_DOUBLE_128__ guard from:
	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: Remove as
	redundant.  Functions which call floating point assembler operations
	should go into a sysdeps powerpc/fpu directory.

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

	* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.
	* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.

2008-08-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/memset.S: Reduce size of tables for PIC.

	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Undo all
	change related to AT_EXECFN.  We cannot use that string.
	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove
	_dl_execfn member.
	* elf/dl-support.c: Remove _dl_execfn variable.
	(_dl_aux_init): Remove handling of AT_EXECFN.
	* elf/dl-sysdep.c (_dl_sysdep_start): Remove handling of AT_EXECFN.
	* elf/rtld.c (process_envvars): Remove use of __ASSUME_AT_EXECFN.

2008-08-13  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6544]
	* libio/fmemopen.c: Implement binary mode.  In this mode no NUL
	byte gets added to writes and seeks from the end use the length of
	the buffer and not the currently terminating NUL byte.

	[BZ #6634]
	* login/utmp_file.c (getutent_r_file): Take additional parameter.
	Set to true if locking failed.
	(getutid_r_file): Adjust caller.
	(pututline_file): Likewise.  Return NULL in this case.
	Patch mostly by halesh.s@gmail.com.

2008-08-12  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6589]
	* sysdeps/unix/sysv/linux/ifaddrs.c (struct sockaddr_ll_max):
	Define.
	(struct ifaddrs_storage): Use it instead of sockaddr_ll.

2008-08-12  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #6839]
	* sysdeps/powerpc/powerpc32/dl-machine.c (CHECK_STATIC_TLS): Remove
	macro since it is now available in elf/dynamic-link.h.

2008-08-12  Roland McGrath  <roland@frob.com>

	* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Avoid -Wparenthesis triggers,
	in case used outside of libc.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>

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

	* resolv/res_mkquery.c (res_nmkquery): Call ns_name_compress
	directly instead of going through dn_comp.

2008-08-11  Aurelien Jarno  <aurel32@debian.org>

	* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock):
	Fix asm constraints.

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

	[BZ #6790]
	* sysdeps/unix/sysv/linux/bits/in.h (IP_PMTUDISC_PROBE): Define.
	(IPV6_PMTUDISC_PROBE): Likewise.

2008-08-07  Pete Eberlein  <eberlein@us.ibm.com>

	[BZ #6791]
	* sysdeps/unix/sysv/linux/powerpc/bits/mman.h (PROT_SAO): Define.

2008-08-01  Steven Munroe  <sjmunroe@us.ibm.com>
	    Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>

	[BZ #6817]
	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags):
	Added the members 'vsx' and 'arch_2_06'.
	(_dl_powerpc_platforms): Add the member 'power7'.
	* sysdeps/powerpc/dl-procinfo.h: Modify _DL_HWCAP_FIRST
	to reflect the changes required by VSX and ISA 2.06.
	Modify _DL_PLATFORMS_COUNT to reflect the addition of
	'power7'.
	Defined PPC_PLATFORM_POWER7.
	(_dl_string_platform): Add support for POWER7.
	* sysdeps/powerpc/sysdep.h: Define bit masks for VSX
	capability and ISA 2.06.

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

	[BZ #6824]
	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: Use correct
	macro to detect use of 128 bit long double.
	Patch by Ryan S. Arnold <rsa@us.ibm.com>.

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

	* scripts/gen-as-const.awk: Use 32-bit values on 32-bit platforms.

	[BZ #5794]
	* sysdeps/i386/fpu/s_expm1l.S: Simply use exp implementation for large
	parameters.
	* sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
	Patch by Denys Vlasenko <dvlasenk@redhat.com>.

2008-08-03  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (main_loop_poll): Pass a buffer which is
	guaranteed to be large enough to read inotify event.  Ignore
	EAGAIN error.  Better error message.  Add branch predicition.
	(main_loop_epoll): Likewise.

2008-08-02  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock):
	Add memory clobbers.

2008-08-02  Ulrich Drepper  <drepper@redhat.com>

	* manual/arith.texi: Avoid @strong{Note:}.
	* manual/creature.texi: Likewise.
	* manual/filesys.texi: Likewise.
	* manual/math.texi: Likewise.
	* manual/memory.texi: Likewise.
	* manual/resource.texi: Likewise.
	* manual/syslog.texi: Likewise.
	* manual/time.texi: Likewise.

	* sysdeps/posix/clock_getres.c (hp_timing_getres): Remove inline
	to prevent warning.

2008-08-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Versions: Fix changes due to old patch for
	new epoll_create1 interface.
	* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sys/epoll.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise.

	* include/arpa/nameser.h (NS_GET16): Use const pointer.
	(NS_GET32): Likewise.

	* sysdeps/unix/sysv/linux/kernel-features.h: s390 has the new
	syscalls, too.

	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): We cannot
	use the AT_EXECFN value if it is no absolute path.
	* sysdeps/unix/sysv/linux/kernel-features.h: Never define
	__ASSUME_AT_EXECFN.

	* Versions.def: Add GLIBC_2.9 to libresolv.
	* include/resolv.h: Remove hidden proto declarations for __ns_*
	functions.  Add them for __dn_count_labels and __p_secstodate.
	* include/arpa/nameser.h: Add a number of hidden proto declarations.
	Define ns_msg_getflags macro here.
	* resolv/res_debug.c: Add hidden definition for __dn_count_labels
	and __p_secstodate.
	* resolv/Versions: Export functions from <arpa/nameser.h> from
	libresolv in version GLIBC_2.9.
	* resolv/ns_name.c: Integrate changes from bind 9.5.0.  Add necessary
	hidden definitions.
	* resolv/ns_netint.c: Likewise.
	* resolv/ns_parse.c: Likewise.
	* resolv/ns_print.c: Likewise.
	* resolv/ns_samedomain.c: Likewise.
	* resolv/ns_ttl.c: Likewise.
	* resolv/arpa/nameser_compat.h: Likewise.
	* resolv/arpa/nameser.h: Likewise.  Remove macros which redirect
	function calls.
	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Use __ns_get16
	instead of ns_get16.
	* resolv/nss_dns/dns-host.c (getanswer_r): Use __ns_get16 and
	__ns_get32 instead of ns_get16 and ns_get32 respectively.
	(gaih_getanswer_slice): Likewise.
	* resolv/Makefile (libresolv-routines): Add ns_date.
	* resolv/ns_date.c: New file.

	* elf/Makefile (check-localplt.out): Also check libresolv and
	libcrypt.

2008-07-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_O_CLOEXEC.

2008-07-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Raise size of initial
	buffer passed to NSS functions.

	* nscd/connections.c (nscd_init): Typo in preprocessor directive.

	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PACCEPT):
	Define.

	* misc/syslog.c (openlog_internal): Fix compile problem.

2008-07-28  Roland McGrath  <roland@redhat.com>

	* elf/dl-sysdep.c (_dl_show_auxv): Add AT_EXECFN to the table.

2008-07-28  Ulrich Drepper  <drepper@redhat.com>

	* io/ftw.c (add_object): Remove inline to avoid warning.

	* sysdeps/unix/sysv/linux/paccept.c: Fix compile problem.

	* resolv/res_send.c (__libc_res_nsend): Take additional parameter.
	Use it instead of locally defined resplen2 variable.
	(res_nsend): Adjust for __libc_res_nsend interface change.
	(send_vc): Initialize *resplen2 if necessary.  Read length of
	package into an appropriately aligned variable.  Store converted length
	in new variable and use it appropriately.
	Add branch prediction help.
	* resolv/res_query.c (__libc_res_nquery): Take additional parameter
	and pass it on to __libc_res_nsend.  Adjust all callers.
	(__libc_res_nsearch): Likewise.
	(__libc_res_nqeurydomain): Likewise.
	* resolv/nss_dns/dns-host.c: Adjust for __libc_res_nsearch interface
	change.
	(_nss_dns_gethostbyname4): Don't unconditionally allocate tmp array.
	Define resplen2 variable and pass it to __libc_res_nsearch and then
	to gaih_getanswer.
	(getanswer_r): In case of incorrect DNS data don't overread buffer.
	Add branch prediction.
	(gaih_getanswer_slice): Likewise.  Check for invalid data types.
	(gaih_getanswer): Don't decode second slice if first one failed due
	to a too small buffer.  Don't let not found status of second
	decoder shadow results of the first.
	* resolv/gethnamaddr.c (gethostbyname2): Adjust for __libc_res_nsearch
	and __libc_res_nquery interface changes
	(gethostbyaddr): Adjust for __libc_res_nquery interface change.
	* include/resolv.h: Adjust prototypes for __libc_res_nquery,
	__libc_res_nsearch, and __libc_res_nsend.
	* resolv/nss_dns/dns-canon.c: Adjust for __libc_res_nquery interface
	change.
	* resolv/nss_dns/dns-network.c: Adjust for __libc_res_nquery and
	__libc_res_nsearch interface changes.

2008-07-27  Ulrich Drepper  <drepper@redhat.com>

	* libio/iopopen.c (_IO_new_proc_open): Remove unnecessary volatile.

	* posix/wordexp.c (exec_comm): Use pipe2 if possible to create
	file descriptors with close-on-exec set.
	(exec_comm_child): Fix the case where the write end of the pipe is
	STDOUT_FILENO already.  In case it is, clear close-on-exec.

	* sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias.
	* io/pipe2.c: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PIPE2
	instead of __ASSUME_PACCEPT.
	* include/unistd.h: Declare __have_pipe2.
	* libio/iopopen.c: Implement "e" flag.
	* libio/Makefile (tests): Add tst-popen1.
	* libio/tst-popen1.c: New file.

	* sysdeps/unix/sysv/linux/bits/socket.h: Define PF_ISDN and AF_ISDN.
	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.

2008-07-26  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6771]
	* libio/fileops.c (_IO_new_file_attach): Preserve errno around
	success call of _IO_SEEKOFF or calls which failed because the
	descriptor is for a pipe.

	* sunrpc/key_call.c (getkeyserv_handle): Use FD_CLOEXEC instead of
	magic number.

	* misc/syslog.c (openlog_internal): Use SOCK_CLOEXEC if possible.

	* malloc/mtrace.c (mtrace): Use 'e' flag in fopen call.  Drop
	F_SETFD use if we know fopen set the flag.

	* login/utmp_file.c (setutent_file): Minor optimization in case
	O_CLOEXEC is available.

2008-07-24  Tom "spot" Callaway  <tcallawa@redhat.com>

	* Makeconfig: Define pie-ccflag and PIE-ccflag variables.
	* elf/Makefile: Use pie-ccflag variable.
	* nscd/Makefile: Likewise.
	* sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.

2008-07-21  Andreas Krebbel  <krebbel1@de.ibm.com>

	[BZ #6724]
	* Versions.def: Add GLIBC_2.9 version tag for libutil.
	* sysdeps/unix/sysv/linux/s390/bits/utmp.h: Copy of
	gnu/bits/utmp.h.  Check for __WORDSIZE_COMPAT32 removed.
	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h: Copy of
	gnu/bits/utmpx.h.  Check for __WORDSIZE_COMPAT32 removed.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Add new files
	utmp32, utmpx32 and login32.
	* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Add 2.9
	versions of struct utmp functions to libc and libutil.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutent.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutid.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutline.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/login.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/login32.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c: New file.
	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: New file.

2008-07-26  Ulrich Drepper  <drepper@redhat.com>

	* scripts/gen-as-const.awk: Generate more widely usable code by
	using 64-bit arithmetic.

	* stdio-common/printf_fp.c (___printf_fp): Give wide outout code
	the same treatment as narrow output code in last patch.

	* sunrpc/clnt_udp.c (__libc_clntudp_bufcreate): Namespace cleanup.

	[BZ #6763]
	* elf/dl-load.c (local_strdup): Remove inline.
	(_dl_map_object_from_fd): Don't allocate l_symbolic_searchlist.r_list.
	* elf/dl-object.c (_dl_new_object): Allocate symbolic searchlist as
	part of the object.

	* sysdeps/unix/sysv/linux/dl-origin.c: Add const to avoid warning.

2008-07-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: IA-64 and SPARC have
	the new syscalls, too.

	* sysdeps/i386/i686/memcmp.S: Fix unwind information.
	Reported by Paul Pluzhnikov <ppluzhnikov@google.com>.

	[BZ #6698]
	* stdio-common/_i18n_number.h (_i18n_number_rewrite): Take additional
	parameter for end of buffer.  If temporary copy is too large use
	malloc.
	* stdio-common/vfprintf.c: Adjust for _i18n_number_rewrite
	interface change.
	* stdio-common/printf_fp.c (__printf_fp): Likewise..  Account for
	string rewrite when allocating buffer.

	* sysdeps/unix/sysv/linux/kernel-features.h: PPC has the new
	syscalls, too.

	* nscd/connections.c (nscd_init): Clean up fcntl call.

	* nscd/nscd_helper.c (open_socket): Use SOCK_CLOEXEC and
	SOCK_NONBLOCK if possible.

	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Use
	SOCK_CLOEXEC if available.

	* include/rpc/clnt.h: Declare __libc_clntudp_bufcreate and
	__libc_clntudp_bufcreate_internal.
	* include/sys/socket.h: Declare __have_sock_cloexec.
	* socket/Makefile (aux): Add have_sock_cloexec.
	* socket/have_sock_cloexec.c: New file.
	* sunrpc/clnt_udp.h (clntudp_bufcreate): Now a wrapper around
	__libc_clntudp_bufcreate.
	(__libc_clntudp_bufcreate): Former implementation of clntudp_bufcreate
	which takes an additional parameter.  Create socket with non-blocking
	mode and close-on-exec flag set, if wanted.
	* sunrpc/Versions: Export __libc_clntudp_bufcreate@GLIBC_PRIVATE.
	* nis/ypclnt.c (yp_bind_client_create): Use __libc_clntpudp_bufcreate
	instead of clntudp_create.  The socket has already the close-on-exec
	flag set if SOCK_CLOEXEC is defined.

2008-07-24  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_PACCEPT, __ASSUME_IN_NONBLOCK, and __ASSUME_PACCEPT if
	appropriate.
	* nscd/connections.c: Avoid fcntl calls to set close-on-exec flag and
	non-blocking mode by using socket, paccept, and inotify_init1.

	* Versions.def (glibc): Add GLIBC_2.9.
	* io/Makefile (routines): Add dup3 and pipe2.
	* io/Versions [glibc] (GLIBC_2.9): Add dup3 and pipe2.
	* io/dup3.c: New file.
	* io/pipe2.c: New file.
	* posix/unistd.h: Declare dup3 and pipe2.
	* socket/Makefile (routines): Add paccept.
	* socket/Versions [glibc] (GLIBC_2.9): Add paccept.
	* socket/paccept.c: New file.
	* socket/sys/socket.h: Declare paccept.
	* sysdeps/unix/syscalls.list: Add entry for dup3.
	* sysdeps/unix/sysv/linux/Versions [glibc] (GLIBC_2.9): Add
	epoll_create2 and inotify_init1.
	* sysdeps/unix/sysv/linux/eventfd.c: Use eventfd1 syscall if possible.
	* sysdeps/unix/sysv/linux/paccept.c: New file.
	* sysdeps/unix/sysv/linux/signalfd.c: Use signalfd4 syscall if
	possible.
	* sysdeps/unix/sysv/linux/socketcall.h: Add SOCKOP_paccept.
	* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create2,
	inotify_init1, and pipe2 entries.
	* sysdeps/unix/sysv/linux/alpha/sys/epoll.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/inotify.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/alpha/sys/timerfd.h: New file.
	* sysdeps/unix/sysv/linux/bits/socket.h: Define SOCK_CLOEXEC and
	SOCK_NONBLOCK.
	* sysdeps/unix/sysv/linux/i386/paccept.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/epoll.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/inotify.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sys/timerfd.h: New file.
	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: New file.
	* sysdeps/unix/sysv/linux/sys/epoll.h: Define EPOLL_CLOEXEC and
	EPOLL_NONBLOCK.  Declare epoll_create2.
	* sysdeps/unix/sysv/linux/sys/eventfd.h: Define EFD_CLOEXEC and
	EFD_NONBLOCK.
	* sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOEXEC and
	IN_NONBLOCK.  Declare inotify_init1.
	* sysdeps/unix/sysv/linux/sys/signalfd.h: Define SFD_CLOEXEC and
	SFD_NONBLOCK.
	* sysdeps/unix/sysv/linux/sys/timerfd.h: Define TFD_CLOEXEC and
	TFD_NONBLOCK.

	* elf/elf.h: Define AT_EXECFN.
	* elf/rtld.c [!__ASSUME_AT_EXECFN] (process_envvars): Don't handle
	LD_ORIGIN_PATH.
	* elf/dl-sysdep.c (_dl_sysdep_start): Handle AT_EXECFN.
	* elf/dl-support.c: Define _dl_execfn.  Don't define _dl_origin_path
	if __ASSUME_AT_EXECFN is defined.
	(_dl_aux_init): Handle AT_EXECFN.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_EXECFN
	for 2.6.27 and up.
	* sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_execfn.
	Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined.
	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use
	_dl_execfn if available and avoid compatibility code if
	__ASSUME_AT_EXECFN is defined.

	* sysdeps/unix/sysv/linux/dl-sysdep.h: Don't declare
	_dl_discover_osversion only for older kernels.

2008-07-22  Roland McGrath  <roland@frob.com>

	* hurd/fd-read.c (_hurd_fd_read): Fix last change.

2008-07-21  Roland McGrath  <roland@frob.com>

	* hurd/fd-read.c (_hurd_fd_read): Return EGRATUITOUS if the server
	returned too much data out of line.

2008-07-20  Ulrich Drepper  <drepper@redhat.com>

	* locale/setlocale.c (setname): Remove inline to avoid compiler
	warning.

	[BZ #6712]
	* locale/setlocale.c (setlocale): Take the setlocale lock earlier.

2008-07-15  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (_IO_helper_overflow): In case _IO_sputn
	doesn't manage to write anything, fail.

	* malloc/hooks.c (__malloc_check_init): Remove printf.

2008-07-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/bits/fcntl.h: Include <sys/types.h>.

2008-07-12  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (main_loop_poll): Fix handling of read errors
	from inotify.
	(main_loop_epoll): Likewise.

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

	* resolv/res_send.c: Remove unnecessary res_pquery prototype.

	* resolv/res_query.c (__libc_res_nquery): Issue debug message only
	if DEBUG is defined.

	* resolv/res_query.c (__libc_res_nquery): Align buffer for T_AAAA
	query.  Adjust buffer size computation for padding.

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

	* stdio-common/Makefile: Add rules to build and run tst-setvbuf1.
	* stdio-common/tst-setvbuf1.c: New file.
	* stdio-common/tst-setvbuf1.expect: New file.

	[BZ #6719]
	* libio/iosetvbuf.c (_IO_setvbuf): Correctly clear buffering flags
	when selecting fully-buffered stream.
	Patch by Wang Xin <wxinee@gmail.com>.

2008-07-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/open.c: Include <stdio.h>.
	(__open_2): New function.
	(__open64_2): New alias to __open_2.
	* sysdeps/mach/hurd/openat.c: Include <stdio.h>.
	(__openat_2): New function.
	(__openat64_2): New alias to __openat_2.

2008-07-06  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6723]
	* time/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.

2008-07-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Define MSG_NOSIGNAL.
	* hurd/hurd/fd.h (__hurd_sockfail): Add extern inline function.
	* sysdeps/mach/hurd/recv.c (__recv): Use __hurd_sockfail instead of
	__hurd_dfail.
	* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
	* sysdeps/mach/hurd/send.c (__send): Likewise.
	* sysdeps/mach/hurd/sendto.c (__sendfrom): Likewise.
	* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Likewise.

2008-03-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/recv.c (__recv): Initialize NPORTS.
	* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
	* hurd/fd-read.c (_hurd_fd_read): Initialize NREAD.
	* hurd/get-host.c (_hurd_get_host_config): Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read): Likewise.

2008-06-27  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6657]
	* time/strptime_l.c: Don't clear s.era_cnt after successful match
	of %EY.
	Patch by Petr Baudis.

2008-06-26  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_debug.c (__p_type_syms): Add ns_t_dname entry.
	Patch by Peter Jones <pjones@redhat.com>.

2008-06-25  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6654]
	* stdlib/canonicalize.c (__realpath): readlink can write too much
	into the buffer on platforms without PATH_MAX.

2008-06-17  Carlos O'Donell  <carlos@codesourcery.com>

	[BZ #6653]
	* posix/tst-regex.c (main): Rename to...
	(do_test): ... this. Remove cmdline option processing.
	(TIMEOUT): Define.
	(TEST_FUNCTION): Define.
	(CMDLINE_OPTIONS): Define.

2008-06-25  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5210]
	* configure.in: Add -Werror to -fstack-protector test to catch
	unsupported architectures.
	Patch by Gilles Esponasse <g.esp@free.fr>.

2008-06-17  Joseph Myers  <joseph@codesourcery.com>

	* stdlib/tst-setcontext.c: Set back_in_main before exit if
	getcontext returns ENOSYS.

2008-06-18  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (main_loop_poll): Fix test for read error.
	(main_loop_epoll): Likewise.

2008-06-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c: Move _res_hconf_init call to a
	better place so it is not called when nscd is used.

	* nscd/connections.c: Also recognize and handle changes to the
	resolver configuration file.

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

	* time/strftime.c: Pass reference to tzset_called around to handle
	recursive calls.

	[BZ #6612]
	* time/strftime.c (__strftime_internal): Call tzset() only
	when printing timezone-dependent values.
	Based on a patch by Petr Baudis <pasky@suse.cz>.

	* resolv/nss_dns/dns-host.c (gaih_getanswer): Don't
	unconditionally use second gaih_getanswer_slice result.

	* sysdeps/posix/getaddrinfo.c (gai_inet): Remove unnecessary test.
	(getaddrinfo): RES must always be non-NULL.

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

	* sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Avoid using
	cr[34] registers.
	* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
	Likewise.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Avoid using cr3
	register.

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

	* nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache
	fields.
	* nscd/connections.c (inotify_fd): New variable.
	(nscd_init): Try to open an inotify descriptor.
	If successful, watch files for databases using inotify instead of
	having prune threads stat the files.
	(nscd_run_prune): Recognize clear_cache flag being set and call
	prune_cache appropriately.
	(main_loop_poll): Add inotify descriptor to wait set and handle the
	reported changes.
	(main_loop_epoll): Likewise.
	* nscd/cache.c (prune_cache): Don't stat files for databases if
	inotify is used.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
	(CFLAGS-connections.c): Add -DHAVE_INOTIFY.

	* nscd/grpcache.c (cache_addgr): Correctly compute size of
	fixed-size portion of the record.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.

2008-06-11  Ulrich Drepper  <drepper@redhat.com>

	* nscd/mem.c (gc): Initialize obstack earlier so that if we jump
	out we don't use uninitialized memory.

	* nscd/hstcache.c (cache_addhst): Send correct number of bytes to
	the client.

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

	* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Also log and
	ignore T_DNAME messages.
	* resolv/arpa/nameser_compat.h (T_DNAME): Define.

2008-06-05  Jakub Jelinek  <jakub@redhat.com>

	* misc/regexp.h (compile): Use __REPB_PREFIX macro.
	Avoid segfault if first GETC returns eof/'\0'/'\n'.

2008-06-03  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_getserv_r.c (__nscd_getservbyport_r): Pass cp
	instead of portstr to nscd_getserv_r.  Patch by
	Roman Kagan <rkagan@mail.ru>.

2008-05-26  Jim Meyering  <meyering@redhat.com>

	Remove more useless "if" tests before "free".
	* include/inline-hashtab.h (htab_delete): Likewise.
	* libio/freopen.c (freopen): Likewise.
	* libio/freopen64.c (freopen64): Likewise.
	* locale/programs/ld-collate.c (collate_read): Likewise.
	* misc/fstab.c (libc_freeres_fn): Likewise.
	* posix/glob.c (globfree): Likewise.

2008-05-24  Ulrich Drepper  <drepper@redhat.com>

	* string/Makefile (strop-tests): Add memmem.
	* string/test-memmem.c: New file.
	* string/test-string.h (BUF1PAGES): Define to 1 if undefined.
	(test_init): Size buf1 according to BUF1PAGES.

2008-05-24  Jakub Jelinek  <jakub@redhat.com>

	* libio/stdio.h (vscanf): Fix -std=c99 redirect.
	* stdio-common/Makefile (tests): Add scanf16 and scanf17.
	(CFLAGS-scanf17.c): New.
	* stdio-common/scanf14.c (main): Add fscanf and scanf tests.
	* stdio-common/scanf15.c (main): Likewise.
	* stdio-common/scanf16.c: New file.
	* stdio-common/scanf17.c: New file.

2008-05-24  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_send.c (send_dg): If we already have one of two
	answers and the server reports SERVFAIL, NOTIMP, or REFUSED, then
	use the one answer insted of failing.

2008-02-20  Ryan S. Arnold  <rsa@us.ibm.com>

	* math/libm-test.inc (exp_test): Exclude expl(1000.0L) from
	being executed on PowerPC as the expected result exceeds IBM
	long double 128 __LDBL_MAX__.

2008-05-21  Roland McGrath  <roland@redhat.com>

	* shlib-versions (sparc.*-.*-.*, sparc64.*-.*-.*): Add ABI lines.

	* Makefile (check-data): Use $(abi-name) before other guesses.
	Look in $(add-ons) dirs before scripts/data/.
	* elf/Makefile (check-data): Likewise.

	* scripts/soversions.awk: Grok ABI line.
	* Makeconfig ($(common-objpfx)soversions.mk): Likewise.
	Emit definition for abi-name variable.

2008-05-21  Ulrich Drepper  <drepper@redhat.com>

	* string/endian.h: Define new fixed-size hto* and *toh macros only
	if [__USE_BSD].

	* iconvdata/Depend: Add localedata.

2008-05-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* bits/termios.h (ONLCR): Define under [__USE_XOPEN] too.

2008-05-08  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use
	HIDDEN_JUMPTARGET.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(__SYSCALL_CLOBBERS): Remove %g* registers.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(__SYSCALL_CLOBBERS): Likewise.
	* scripts/data/localplt-sparc-linux-gnu.data: New file.
	* scripts/data/localplt-sparc64-linux-gnu.data: New file.

2008-05-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(CALL_ERRNO_LOCATION): Define.
	(__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
	(CALL_ERRNO_LOCATION): Define.
	(__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it.
	* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S (__brk): Use
	HIDDEN_JUMPTARGET for __errno_location call in libc.so.

2008-05-20  Ulrich Drepper  <drepper@redhat.com>

	* include/inline-hashtab.h (higher_prime_number): Fix type of mid
	variable.

2008-05-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
	(FIRST_FRAME_POINTER): Define.

2008-05-09  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc64/backtrace.c: New file.

2008-05-14  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/machine-gmon.h: New file.
	* sysdeps/sparc/sparc-mcount.S: Likewise.
	* sysdeps/sparc/Makefile: Add sparc-mcount target to
	sysdep_routines in gmon directory.

2008-05-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/soinit.c (__EH_FRAME_BEGIN__): Remove.

2008-05-19  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_query.c (__libc_res_nquery): In case one of two
	answer was too short don't try to read that answer's header.

	* resolv/res_send.c (send_dg): In case of timeout and there are
	two queries and one has been answered, return value indicating
	success.

2008-05-18  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c (cache_add): Take additional parameter specifying
	whether this is in response of a cache refill.  Check alignment
	of package data.  Revamp waking of pruning thread.
	(prune_cache): Small optimization.
	* nscd/nscd.h: Adjust cache_add prototypes.
	* nscd/aicache.c: Adjust cache_add calls.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/connections.c (restart): Really disable cache use before
	exec attempt.  If it fails, reenable cache.
	(nscd_run_prune): Initialize wakeup_time.  After wakeup, set wakeup
	time to max to be able to notice concurrent cache additions.  Unlock
	prune_lock while performing gc.  Afterwards compute wakeup time with
	current wakeup_time value in mind.

2008-05-17  Ulrich Drepper  <drepper@redhat.com>

	* nscd/mem.c (gc): Avoid stack overflow when allocating move list.

	* nscd/mem.c (gc): Correctly determine highest used array element
	in mark.

	* nscd/mem.c (markrange): Add assert to check entries are all
	aligned.  Small cleanup in bitmap use.

	* nscd/nscd.h (mem_in_flight): Replace blockaddr field with
	blockoff of type nscd_ssize_t.
	* nscd/mem.c (gc): Simplify markrange call for on-flight blocks.
	(mempoll_alloc): Record block offset and not address.

	* nscd/mem.c (gc): Fix test for stack overuse.

	* nscd/aicache.c (addhstaiX): Fix a few small problems, cleanups,
	more asserts.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): If nscd reports no
	entry is available, believe it.

	* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): If there are
	no answers return NSS_STATUS_NOTFOUND.
	(gaih_getanswer): Don't call gaih_getanswer_slice if the answer
	buffer does not have any content.

2008-05-16  Ulrich Drepper  <drepper@redhat.com>

	* string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp.

	* sysdeps/posix/getaddrinfo.c (gaih_inet): After gethostbyname4_r
	lookup, don't assign canon unconditionally.

2008-05-14  Ulrich Drepper  <drepper@redhat.com>

	* string/Makefile (distribute): Add str-two-way.h.

2008-03-29  Eric Blake	<ebb9@byu.net>

	Rewrite string searches to O(n) rather than O(n^2).
	* string/str-two-way.h: New file.  For linear fixed-allocation
	string searching.
	* string/memmem.c: New implementation.
	* string/strstr.c: New implementation.
	* string/strcasestr.c: New implementation.

2008-04-11  Paolo Bonzini  <bonzini@gnu.org>

	* posix/regcomp.c (optimize_utf8): Add a note on why we test
	opr.ctx_type.
	(calc_first): Initialize constraint field.
	(duplicate_node_closure): Use it instead of special casing ANCHORS.
	Use search_duplicated_node to avoid loops.  Fix grammar.
	(duplicate_node): Merge constraint field for all node types.
	(calc_eclosure_iter): Look at constraint field for all node types.
	* posix/regex_internal.c (create_cd_newstate): Don't look at
	create_cd_newstate.

2008-05-14  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6428]
	* configure.in: Don't use $CFLAGS when assembling, use $ASFLAGS.

	[BZ #6442]
	* string/endian.h: Add macros for fixed-size endian conversion.
	* bits/byteswap.h: Allow inclusion from <endian.h>.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/ia64/bits/byteswap.h: Likewise.
	* sysdeps/s390/bits/byteswap.h: Likewise.
	* sysdeps/x86_64/bits/byteswap.h: Likewise.
	* string/Makefile (tests): Add tst-endian.
	* string/tst-endian.c: New file.

	* iconvdata/run-iconv-test.sh: Use = instead of == in test.
	Patch by Reuben Thomas.

2008-05-14  Joseph Myers  <joseph@codesourcery.com>

	* iconvdata/Makefile (bug-iconv6-ENV, tst-iconv7-ENV): Define.

2008-05-14  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/bug-iconv6.c (do_test): Use de_DE.UTF-8 locale.

	[BZ #6461]
	* iconv/gconv_simple.c (BODY for __gconv_transform_ascii_internal):
	Add missing braces.
	(BODY for __gconv_transform_internal_ascii): Likewise.

	[BZ #6472]
	* sysdeps/posix/getaddrinfo.c (get_scope): Loopback addresses have
	to be treated like link-local addresses.
	(match_prefix): Don't treat IPv4 loopback address special when
	converting to v4 mapped addressed.

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Call _res_hconf_init
	if necessary.
	* posix/tst-rfc3484.c: Add dummy definition of _res_hconf_init.
	* posix/tst-rfc3484-2.c: Likewise.
	* posix/tst-rfc3484-3.c: Likewise.

	* sysdeps/posix/getaddrinfo.c: Implement handling of DCCP, UDPlite,
	and SCTP.

	* nss/getent.c (ahosts_keys_int): Handle all known socket types.

	* inet/netinet/in.h (IPPIPPROTO_DCCP, IPPROTO_UDPLITE): Define.

	* sysdeps/unix/sysv/linux/bits/socket.h (SOCK_DCCP): Define.

2008-05-13  Ulrich Drepper  <drepper@redhat.com>

	* po/lt.po: New file.  From Lituanian translation team.

2008-01-30  Alexandre Oliva  <aoliva@redhat.com>

	Introduce TLS descriptors for i386 and x86_64.
	* include/inline-hashtab.h: New file, copied from 2005's
	libiberty, with fix for memory leak imported afterwards by
	Glauber de Oliveira Costa.
	* elf/tlsdeschtab.h: New file.
	* elf/dl-reloc.c (_dl_try_allocate_static_tls): Extract from...
	(_dl_allocate_static_tls): ... here.  Rearrange failure path.
	(CHECK_STATIC_TLS): Move to...
	* elf/dynamic-link.h: ... this file.
	(TRY_STATIC_TLS): New macro.
	* elf/dl-conflict.c (CHECK_STATIC_TLS, TRY_STATIC_TLS): Override.
	* elf/elf.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL,
	R_386_TLS_DESC): Define.
	(R_X86_64_PC64, R_X86_GOTOFF64, R_X86_64_GOTPC32): Merge from
	binutils.
	(R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL,
	R_X86_64_TLSDESC): Define.
	(R_386_NUM, R_X86_64_NUM): Adjust.
	* sysdeps/i386/Makefile (sysdep-dl-routines, sysdep_routines,
	sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	(gen-as-const-headers): Add tlsdesc.sym to csu subdir.
	* sysdeps/i386/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
	release tlsdesc_table.
	* sysdeps/i386/dl-machine.h: Include dl-tlsdesc.h.
	(elf_machine_type_class): Mark R_386_TLS_DESC as PLT class.
	(elf_machine_rel): Handle R_386_TLS_DESC.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	(elf_machine_lazy_rela): Likewise.
	* sysdeps/i386/dl-tls.h (struct dl_tls_index): Name it.
	* sysdeps/i386/dl-tlsdesc.S: New file.
	* sysdeps/i386/dl-tlsdesc.h: New file.
	* sysdeps/i386/tlsdesc.c: New file.
	* sysdeps/i386/tlsdesc.sym: New file.
	* sysdeps/i386/bits/linkmap.h (struct link_map_machine): Add
	tlsdesc_table.
	* sysdeps/x86_64/Makefile (sysdep-dl-routines, sysdep_routines,
	sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	(gen-as-const-headers): Add tlsdesc.sym to csu subdir.
	* sysdeps/x86_64/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
	release tlsdesc_table.
	* sysdeps/x86_64/dl-machine.h: Include dl-tlsdesc.h.
	(elf_machine_runtime_setup): Set up lazy TLSDESC GOT entry.
	(elf_machine_type_class): Mark R_X86_64_TLSDESC as PLT class.
	(elf_machine_rel): Handle R_X86_64_TLSDESC.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/x86_64/dl-tls.h (struct dl_tls_index): Name it.
	(__tls_get_addr): Do not declare for non-shared compiles.
	* sysdeps/x86_64/dl-tlsdesc.S: New file.
	* sysdeps/x86_64/dl-tlsdesc.h: New file.
	* sysdeps/x86_64/tlsdesc.c: New file.
	* sysdeps/x86_64/tlsdesc.sym: New file.
	* sysdeps/x86_64/bits/linkmap.h (struct link_map_machine): Add
	tlsdesc_table for both 32- and 64-bit structs.

2008-05-11  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-tls.c (__tls_get_addr): Optimize by moving slow path in
	its own function.  This reduces the frame setup costs and more.

2008-02-11  Joseph Myers  <joseph@codesourcery.com>

	[BZ #3406]
	* sysdeps/ieee754/flt-32/w_expf.c (o_threshold): Correct value.
	* math/libm-test.inc (exp_test): Test 88.72269439697265625.

2008-05-11  Ulrich Drepper  <drepper@redhat.com>

	* io/openat.c (__openat_2): Also pass fd to __openat.
	* io/openat64.c (__openat64_2): Also pass fd to __openat64.
	Patch by Kristian Van Der Vliet <vanders@liqwyd.com>.

	* string/tester.c (test_memcmp): Add a few more tests.
	Patch by Mats Erik Andersson <ynglingatal@comhem.se>.

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

	* nscd/cache.c (cache_add): Before returning with failure and this
	is the first use of the record, mark it as unusable.
	* nscd/aicache.c: Don't touch the dataset after cache_add returns
	reporting a failure.
	* nscd/grpcache.c: Likewise
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.

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

	[BZ #6505]
	* sysdeps/unix/sysv/linux/sys/user.h: Replace with #error stub.

2008-05-08  David S. Miller  <davem@davemloft.net>

	* misc/truncate64.c (truncate64): Use __truncate not truncate.

	* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee751_j0l): Use __finitel.
	(__ieee754_y0l): Likewise.
	* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise.
	(__ieee754_y1l): Likewise.
	* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use __ldexpl.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Kill bogus prototypes for
	frexpl and ldexpl.  math_private.h provides them and the latter
	is not even used.
	(__log1pl): Use __frexpl.

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

	* include/resolv.h: Adjust __libc_res_nquery and __libc_res_nsend
	prototypes.
	* include/arpa/nameser_compat.h: Define T_UNSPEC.
	* nis/Versions (libnss_nis): Export _nss_nis_gethostbyname4_r.
	(libnss_nisplus): Export _nss_nisplus_gethostbyname4_r.
	* nis/nss_nis/nis-hosts.c (LINE_PARSER): Change to also handle
	af==AF_UNSPEC.
	(_nss_nis_gethostbyname4_r): New function.
	* nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
	Change to also handle af==AF_UNSPEC.
	(get_tablename): New function.  Use it to avoid duplication.
	(_nss_nisplus_gethostbyname4_r): New function.
	* nscd/aicache.c (addhstaiX): Use gethostbyname4_r function is
	available.
	* nss/Versions (libnss_files): Export _nss_files_gethostbyname4_r.
	* nss/nss.h: Define struct gaih_addrtuple.
	* nss/nss_files/files-hosts.c (LINE_PARSER): Change to also handle
	af==AF_UNSPEC.
	(_nss_files_gethostbyname4_r): New function.
	* resolv/Versions (libnss_dns): Export _nss_dns_gethostbyname4_r.
	* resolv/gethnmaddr.c: Adjust __libc_res_nsearch and __libc_res_nquery
	calls.
	* resolv/res_query.c (__libc_res_nquery): Take two additional
	parameters for second answer buffer.  Handle type=T_UNSPEC to mean
	look up IPv4 and IPv6.
	Change all callers.
	* resolv/res_send.c (__libc_res_nsend): Take five aditional parameters
	for an additional query and answer buffer.  Pass to send_vc and
	send_dg.
	(send_vc): Send possibly two requests and receive two answers.
	(send_dg): Likewise.
	* resolv/nss_dns/dns-host.c: Adjust calls to __libc_res_nsearch and
	__libc_res_nquery.
	(_nss_dns_gethostbyname4_r): New function.
	(gaih_getanswer_slice): Likewise.
	(gaih_getanswer): Likewise.
	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Adjust
	__libc_res_nquery call.
	* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
	(_nss_dns_getnetbyname_r): Adjust __libc_res_nsearch call.
	* sysdeps/posix/getaddrinfo.c: Use gethostbyname4_r function is
	available.

2008-05-05  David S. Miller  <davem@davemloft.net>

	* sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build.
	* sysdeps/sparc/sparc64/Makefile: Use -mcpu=v9 for initfini.s build.

2007-09-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix termios bit macros.
	Move *DLY definitions where they belong, in termios.h.
	Add *[0-3] definitions.
	Fixes confusion between VT and FF.
	* sysdeps/mach/hurd/bits/ioctls.h (NL0, NL1, TAB0, TAB1, TAB2, CR0,
	CR1, CR2, CR3, FF0, FF1, BS0, BS1): Undefine these at start if they
	are already defined to avoid collision with termios.h.
	(NLDLY, TABDLY, TAB3, CRDLY, VTDLY, BSDLY): Remove macros.
	* bits/termios.h [__USE_MISC || __USE_XOPEN] (NL0, NL1, TAB0,
	TAB1, TAB2, CR0, CR1, CR2, CR3, FF0, FF1, BS0, BS1): Likewise.
	[__USE_BSD || __USE_XOPEN] (OCRNL, ONOCR, ONLRET): New macros.
	[__USE_MISC || __USE_XOPEN] (NLDLY, NL0, NL1, TABDLY, TAB0, TAB1, TAB2,
	TAB3, CRDLY, CR0, CR1, CR2, CR3, FFDLY, FF0, FF1, BSDLY, BS0, BS1,
	VTDLY, VT0, VT1): New macros.
	[__USE_GNU] (OLCUC): Change value of macro.
	[__USE_XOPEN] (OFILL): New macro.
	[__USE_BSD] (CRTSCTS): Change value.
	(CRTS_IFLOW, CCTS_OFLOW): Change into compatibility macros.
	[__USE_BSD] (CDTRCTS, CHWFLOW): New macros.
	(B7200, B14400, B28800, B76800): New macros.

2008-05-01  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile [$(subdir) = stdlib]:
	(gen-as-const-headers): Add it.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S: Likewise.

	* sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Add support for
	six system call parameters.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.

2008-04-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/resource.h: Define RUSAGE_THREAD and
	RUSAGE_LWP.
	* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.

2008-04-30  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/tst-setcontext.c: Include unistd.h.

2008-04-25  David S. Miller  <davem@davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c (semctl):
	Pass "union semun" properly in to sys_ipc, it must be passed
	by value, not by reference.

2008-04-22  Jakub Jelinek  <jakub@redhat.com>

	* nscd/Makefile (nscd-cflags): Set back to -fpie.
	* nscd/nscd.h (mem_in_flight): Add attribute_tls_model_ie.
	* nscd/connections.c (mem_in_flight): Likewise.

	* nscd/nscd.h (dbs): Make hidden.

	* sysdeps/unix/sysv/linux/times.c (__times): Fix check for EFAULT.
	Avoid returning -1, return 0 instead.

2008-04-19  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_mkquery.c (__res_nopt): Use NS_PUT16 instead of ns_put16.

2008-04-15  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5209]
	* sysdeps/unix/sysv/linux/times.c: New file.

	[BZ #5381]
	* nscd/nscd.h: Define enum in_flight, mem_in_flight, and
	mem_in_flight_list variables.  Add new parameter to mempool_alloc
	prototype.
	* nscd/mem.c (mempool_alloc): Take additional parameter.  Initialize
	appropriate mem_in_flight element.
	(gc): Take allocations which have not yet been committed to the
	database into account.
	* nscd/cache.c (cache_add): Add new parameter to mempool_alloc call.
	Reset mem_in_flight before returning.
	* nscd/connections.c (nscd_run_worker): Initialize mem_in_flight and
	cue it up in mem_in_flight_list.
	* nscd/aicache.c: Adjust mempool_alloc call.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/Makefile (nscd-flags): Until ld is fixed, use -fpic instead
	of -fpie.

	* nscd/connections.c (handle_request): Provide better error message
	in case SELinux forbids the service.

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

2008-04-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/dl-osinfo.h: Include fcntl.h.

2008-04-11  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h (__signbitl):
	Also use for 32-bit.
	* sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c (__nearbyintl): Use
	__nextafter instead of nextafter to avoid local PLT.
	* sysdeps/powerpc/fpu/e_sqrt.c: Avoid call to fetestexcept.
	* sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.

	* scripts/data/localplt-powerpc64-linux-gnu.data: New file.

	* sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto for
	__fe_nomask_env.
	* sysdeps/powerpc/fpu/fe_nomask.c: Add libm_hidden_def.  Include
	<fenv_libc.h> instead of <fenv.h>.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise.

	* sysdeps/powerpc/bits/fenv.h: Make safe for C++.

	* sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: New file.
	* sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Rename
	function from fegetexcept and make old name weak alias.
	* include/fenv.h: Declare __fegetexcept.
	* sysdeps/powerpc/fpu/fedisblxcpt.c: Use __fegetexcept instead of
	fegetexcept.
	* sysdeps/powerpc/fpu/feenablxcpt.c: Likewise.
	* sysdeps/powerpc/fpu/fraiseexcpt.c (__feraiseexcept): Avoid call
	to fetestexcept.
	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Use __frexpl
	instead of frexpl to avoid local PLT.
	* math/s_significandl.c (__significandl): Use __ilogbl instead of
	ilogbl to avoid local PLT.
	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Use __ldexpl
	instead of ldexpl to avoid local PLT.
	* sysdeps/ieee754/ldbl-128ibm/e_expl.c (__ieee754_expl): Use
	__roundl not roundl to avoid local PLT.
	* sysdeps/ieee754/ldbl-128/e_j0l.c: Use function names which avoid
	local PLTs.  Use __sincosl instead of separate sinl and cosl
	calls.
	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.

	* sysdeps/unix/sysv/linux/configure.in: Bump minimal kernel
	version for ppc64 to 2.4.21 since without it makecontext will fail.

	* elf/tls-macros.h [__powerpc64__] (__TLS_GET_ADDR): Define according
	to the ABI in use.
	[__powerpc64__] (TLS_LD): Use __TLS_GET_ADDR instead of
	.__tls_get_addr.
	[__powerpc64__] (TLS_GD): Likewise.

2007-11-20  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #4997]
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Fixed erroneous
	result when x is +/-nextafter(+/-0.5,-/+1) i.e. all 1's in the
	mantissa.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
	Likewise.  Also account for when x is an odd number between 2^52
	and 2^53-1.
	* sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise.
	* math/libm-test.inc (lround_test, llround_test): Added test cases to
	detect aforementioned erroneous conditions.

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

	* configure.in: Check for -fno-section-anchors in addition to
	-fno-toplevel-reorder.

2008-04-11  Ulrich Drepper  <drepper@redhat.com>

	* include/features.h (__GLIBC_MINOR__): Bump to 8.

	* sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: Remove duplicate comment.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: Likewise.
	* sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_lround.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: Likewise.

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

	[BZ #5443]
	* time/era.c: Transform __libc_setlocale_lock into rwlock.
	* time/alt_digit.c: Likewise.
	* wcsmbs/wcsmbsload.c: Likewise.

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

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

	* timzeone/asia: Update from tzdata2008b.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/zone.tab: Likewise.
	* timezone/private.h: Update from tzcode2008a.
	* timezone/zdump.c: Likewise.
	* timezone/zic.c: Likewise.

2008-01-24  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #5741]
	* sysdeps/powerpc/powerpc64/dl-machine.h (PPC_DCBT, PPC_DCBF):
	Define additonal Data Cache Block instruction macros.
	(elf_machine_fixup_plt): Add dcbt for opd and plt entries.
	Replace dcbst with dcbf and sync with sync/isync.

2008-02-21  Alan Modra  <amodra@bigpond.net.au>

	* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_type_class):
	Always set ELF_RTYPE_CLASS_PLT.
	(elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p): Delete.

2008-04-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power4/hp-timing.c: New file.
	* sysdeps/powerpc/powerpc32/power4/hp-timing.h: New file.
	* sysdeps/powerpc/powerpc64/hp-timing.h [_ARCH_PWR4] (HP_TIMING_NOW):
	For ISA 2.01 and later replace mftb with mfspr 268.

2008-02-19  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #5768]
	* sysdeps/powerpc/fpu/Makefile (libm-tests): Add test-powerpc-snan.
	* sysdeps/powerpc/fpu/test-powerpc-snan.c: New file.

2008-02-18  Steven Munroe  <sjmunroe@us.ibm.com>

	[BZ #5768]
	* sysdeps/powerpc/powerpc32/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc32/fpu/s_isnan.c: Removed.
	* sysdeps/powerpc/powerpc64/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/fpu/s_isnan.c: Removed.

2008-04-10  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/tst-makecontext.c (othervar): New variable.
	(cf): Test sign extending the argument to long.

2008-03-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: New file.
	* sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: New file.
	* sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: New file.
	* sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: New file.

2008-02-22  Alan Modra  <amodra@bigpond.net.au>

	* elf/Makefile (tests): Substitute tests-vis-yes here.
	(tests-vis-yes): Delete.
	(modules-name, modules-vis-yes): Similarly.

2008-02-12  Pete Eberlein  <eberlein@us.ibm.com>

	[BZ #4407]
	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
	Preserve sign in signgamp when x is zero.

2007-10-26  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: New File.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.c: Removed.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: New File.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.c: Removed.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: New File.
	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: New File.

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

	[BZ #4314]
	* sysdeps/i386/i686/memcpy.S: Optimize copying of equally aligned
	buffers.

	[BZ #5209]
	* sysdeps/unix/sysv/syscalls.list: The times syscall doesn't have
	a reserved error value.

	* stdlib/tst-makecontext.c: Change parameter to cf to negative
	value to check for correct sign extension.

	[BZ #5436]
	* sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
	Copy 64-bit parameter values even though this is not required in
	the standard.

	* sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Record return
	PC save.

2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>

	* sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Record return
	PC save.

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

	* nss_files/files-XXX.c (_nss_files_getXXent_r): Restore saved errno.

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

	[BZ #5998]
	* libio/iofwrite.c (_IO_fwrite): Return correct count if flushing
	in line-buffered stream failed.
	* libio/iofwrite_u.c (fwrite_unlocked): Likewise.

2008-04-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6024]
	* scripts/abi-versions.awk: If the version specified by
	--enable-oldest-abi is older than the first version for this
	architecture, use the default version.

	* locale/programs/ld-collate.c (collate_read): Ignore script lines
	as well when ignoring the whole category.

2008-04-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6042]
	* sysdeps/unix/sysv/linux/net/ethernet.h: Add a few more
	ETHERTYPE_* definitions.
	Patch partly by Aurelien Jarno <aurelien@aurel32.net>.

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

	* stdlib/mbtowc.c (__no_r_state): Remove.
	(mbtowc): New static state variable.  Use it instead of
	__no_r_state.
	* stdlib/wctomb.c (__no_r_state): Remove extern decl.
	(__wctomb_state): New hidden variable.
	(wctomb): Use __wctomb_state instead of __no_r_state.
	* debug/wctomb_chk.c (__no_r_state): Remove extern decl.
	(__wctomb_state): New extern decl.
	(__wctomb_chk): Use __wctomb_state instead of __no_r_state.

2008-04-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5475]
	* resolv/res_init.c: Handle scope IDs in resolv.conf.

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

	* malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.

2008-04-06  Ulrich Drepper  <drepper@redhat.com>

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

2008-03-31  Ulrich Drepper  <drepper@redhat.com>

	[BZ #6007]
	* string/strfry.c: Handle empty strings again.

2008-03-30  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5443]
	* intl/dcigettext.c (__dcigettext): Get reader lock for locale data
	before looking for translation.
	* locale/duplocale.c: Transform __libc_setlocale_lock into rwlock.
	* locale/freelocale.c: Likewise.
	* locale/newlocale.c: Likewise.
	* locale/setlocale.c: Likewise.
	Based partially on a patch by ryo@np.css.fujitsu.com.

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

	* intl/dcigettext.c (_nl_find_msg): Reread nconversions after
	acquiring wrlock.  Do conv_tab allocation while holding lock.
	* intl/Makefile: Add rules to build and run tst-gettext6.
	* intl/tst-gettext6.c: New test.
	* intl/tst-gettext6.sh: New file.

2008-03-30  Ulrich Drepper  <drepper@redhat.com>

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

	* sysdeps/unix/opendir.c (__alloc_dir): If allocation fails for size
	provided through st_blksize, try the default size before giving up.

2008-03-29  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (vfprintf): Correct overflow test.

	[BZ #5939]
	* sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection.

	* posix/getopt.c (_getopt_internal_r): Remove old POSIX-demanded
	error message.  POSIX today does not require the messages to be in
	a specific form.  Suggested by Jim Meyering <jim@meyering.net>.

	[BZ #5979]
	* sunrpc/auth_unix.c: Unify printed strings.
	* sunrpc/clnt_tcp.c: Likewise.
	* sunrpc/clnt_udp.c: Likewise.
	* sunrpc/clnt_unix.c: Likewise.
	* sunrpc/svc_tcp.c: Likewise.
	* sunrpc/svc_udp.c: Likewise.
	* sunrpc/svc_unix.c: Likewise.
	* sunrpc/xdr.c: Likewise.
	* sunrpc/xdr_array.c: Likewise.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_ref.c: Likewise.
	* locale/programs/ld-time.c (time_finish): Unify messages.
	* locale/programs/locfile.c (handle_copy): Fix typo.
	* nscd/nscd.c (options): Fix typo.

	[BZ #5995]
	* stdlib/strtod_l.c: Use correct sign for result in one more
	underflow case.
	Patch by Eric Blake <ebb9@byu.net>.

2008-03-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open
	and creat system calls.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove open system
	call.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove open and creat
	system calls.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.

2008-03-27  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
	<linux/limits.h> has defined it.
	* sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy
	ARG_MAX value and prevent ARG_MAX from being defined by the kernel
	headers.
	* sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use
	it instead of ARG_MAX.

2008-03-25  Jakub Jelinek  <jakub@redhat.com>

	* posix/gai.conf: Fix comment for scope nullbits.
	* sysdeps/posix/getaddrinfo.c (gaiconf_init): If /bits is not present,
	default to 128 bits for v4 mapped addresses.

2008-03-07  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
	ptrace call to get the ieee_instruction_pointer from the kernel.
	* sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER
	ptrace call to set the ieee_instructtion_pointer.
	* sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct):
	Add comment that ieee_instruction_pointer is always 0.

2008-03-09  Andreas Jaeger  <aj@suse.de>

	[BZ #5857]
	* sysdeps/ieee754/dbl-64/s_rint.c (__rint): Handle j0==18.
	* sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Likewise.
	Patch by Mark Elliott <mark.h.elliott@lmco.com>.

	* math/libm-test.inc (nearbyint_test): Add new test cases from #5857.
	(rint_test): Likewise.

2008-03-24  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (nis_server_cache_search): Save errno around stat
	call.
	(__nisfind_server): Similar for open readColdStartFile call.
	Patch partially by Jim Meyering.
	* nss/nss_files/files-XXX.c (_nss_files_getXXent_r): Save errno
	around internal_setent call.

	* po/vi.po: New Vietnamese translation.

	* sysdeps/unix/sysv/linux/adjtime.c: Correctly use
	ADJ_OFFSET_SS_READ.

	* sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags,
	remove CLONE_STOPPED.

2008-02-10  Jim Meyering  <meyering@redhat.com>

	Remove useless "if" before "free":
	* elf/ldconfig.c (parse_conf_include): Likewise.
	* gmon/gmon.c (weak_alias): Likewise.
	* iconv/gconv_conf.c (__gconv_get_path): Likewise.
	* inet/rcmd.c (__validuser2_sa): Likewise.
	* intl/bindtextdom.c (set_binding_values): Likewise.
	* intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Likewise.
	* libio/genops.c (save_for_backup): Likewise.
	* libio/wgenops.c (save_for_wbackup): Likewise.
	* locale/programs/ld-collate.c (collate_read): Likewise.
	* locale/programs/linereader.c (get_string): Likewise.
	* nis/nss_compat/compat-pwd.c (give_pwd_free): Likewise.
	* nis/nss_compat/compat-spwd.c (give_spwd_free): Likewise.
	* resolv/res_debug.c (do_section): Likewise.
	* sunrpc/xdr_sizeof.c (x_inline, xdr_sizeof): Likewise.
	* sysdeps/mach/hurd/if_index.c (libc_hidden_def): Likewise.
	* sysdeps/posix/sprofil.c (__sprofil): Likewise.
	* time/lc-time-cleanup.c (_nl_cleanup_time): Likewise.
	* time/tzset.c (tzset_internal): Likewise.

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

	* sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
	of ASSEMBLER.

2008-03-11  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5903]
	* iconv/iconv_charmap.c (charmap_conversion): Pass name of output file
	not stream for output file.  Open output file here.
	* iconv/iconv_prog.c (process_lock): Take pointer to output stream
	and output file name.
	(process_fd): Likewise.
	(process_file): Likewise.
	(main): Adjust callers of changed functions.
	* iconv/iconv_prog.h: Adjust prototype.

2008-03-09  Andreas Jaeger  <aj@suse.de>

	[BZ #5753]
	* sysdeps/ia64/ieee754.h: Use protected namespace
	__BIG_ENDIAN/__LITTLE_ENDIAN.
	* sysdeps/ieee754/ieee754.h: Likewise.
	Patch by Aurelien Jarno <aurelien@aurel32.net>.

2008-03-08  Roland McGrath  <roland@frob.com>

	* hurd/hurdsig.c (_hurd_internal_post_signal): When normal rules would
	ignore a signal that came from a machine exception, treat it as a
	fatal core-dump signal instead.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.

	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
	Clear DF bit in thread state's eflags.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.

2008-03-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5774]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Consume closing brace
	of NAN(...) sequence.
	* stdlib/Makefile (tests): Add tst-strtod6.
	* stdlib/tst-strtod6.c: New file.

	* inet/inet6_opt.c (inet6_opt_init): Check extlen for overflow.

	[BZ #5762]
	* posix/getopt.c (_getopt_internal_r): Clarify error message by
	putting offending option character in quotes.  Clean up error
	messages.
	* po/be.po: Adjust msgstr in translation file.
	* po/bg.po: Likewise.
	* po/ca.po: Likewise.
	* po/cs.po: Likewise.
	* po/da.po: Likewise.
	* po/de.po: Likewise.
	* po/es.po: Likewise.
	* po/fr.po: Likewise.
	* po/hr.po: Likewise.
	* po/ko.po: Likewise.
	* po/nl.po: Likewise.
	* po/rw.po: Likewise.
	* po/sk.po: Likewise.
	* po/sv.po: Likewise.
	* po/tr.po: Likewise.
	* po/zh_CN.po: Likewise.
	* po/zh_TW.po: Likewise.

	[BZ #5760]
	* inet/inet6_opt.c (inet6_opt_init): Fix ip6h_len computation.
	Patch by Roland Bless <roland@bless.de>.

	* sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for
	.o file.
	* elf/Makefile (routines): Add dl-sysdep.
	(elide-routines.os): Likewise.

2008-03-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5786]
	* elf/dl-sysdep.c: Undefine ROUND after use.
	* sysdeps/generic/ldsodefs.h [HAVE_DL_DISCOVER_OSVERSION]
	(struct rtld_global_ro): Add _dl_tls_get_addr_soft element.
	* elf/rtld.c (rtld_global_ro): Initialize _dl_discover_osversion.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Move _dl_discover_osversion
	to ...
	* sysdeps/unix/sysv/linux/dl-sysdep.c: ...here.
	* sysdeps/unix/sysv/linux/dl-sysdep.h: Declare _dl_discover_osversion
	if necessary.
	* sysdeps/unix/sysv/linux/sysconf.c: Handle _SC_ARG_MAX here.

	* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
	_dl_tls_get_addr_soft element.
	* elf/rtld.c (rtld_global_ro): Initialize _dl_tls_get_addr_soft.
	* elf/Versions (ld): Don't export _dl_tls_get_addr_soft.
	* dlfcn/dlinfo.c (dlinfo_doit): Access dl_tls_get_addr_soft through
	GLRO.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
	* elf/dl-tls.c (_dl_tls_get_addr_soft): Use attribute_hidden instead
	of internal_function.

	* stdlib/Makefile (aux): Add tens_in_limb.
	* stdlib/strtod_l.c: Move _tens_in_limb definition to...
	* stdlib/tens_in_limb.c: ...here.  New file.

	[BZ #5778]
	* sysdeps/unix/sysv/linux/pathconf.h: Declare
	__statfs_chown_restricted.
	* sysdeps/unix/sysv/linux/fpathconf.c: Call __statfs_chown_restricted
	for _PC_CHOWN_RESTRICTED.
	* sysdeps/unix/sysv/linux/pathconf.c: Likewise.
	Implement __statfs_chown_restricted.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
	_POSIX_CHOWN_RESTRICTED value to zero.
	* io/tst-fchownat.c: Correctly handle _POSIX_CHOWN_RESTRICTED
	defined to zero.

	* sysdeps/x86_64/rtld-memset.c: New file.

2008-02-26  Harsha Jagasia  <harsha.jagasia@amd.com>

	* sysdeps/x86_64/cacheinfo.c (NOT_USED_RIGHT_NOW): Remove ifdef guards.

	* sysdeps/x86_64/memset.S: Rewrite non-SSE code path as tuned for AMD
	Barcelona machine.  Make default fall through branch of
	__x86_64_preferred_memory_instruction check as the integer code path.

2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/cacheinfo.c
	(__x86_64_preferred_memory_instruction): New variable.
	(init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.

	* sysdeps/x86_64/memset.S: Rewrite.

2008-03-04  Jakub Jelinek  <jakub@redhat.com>

	* include/stdio.h (__asprintf_chk, __dprintf_chk,
	__obstack_printf_chk): New prototypes.
	(__vasprintf_chk, __vdprintf_chk,
	__obstack_vprintf_chk): Likewise.
	Add libc_hidden_proto.
	* libio/obprintf.c
	(_IO_obstack_jumps): No longer static, add attribute_hidden.
	* libio/bits/stdio-ldbl.h (__asprintf_chk, __dprintf_chk,
	__obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
	__obstack_vprintf_chk): Add __LDBL_REDIR_DECL.
	* libio/bits/stdio2.h (__asprintf_chk, __dprintf_chk,
	__obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
	__obstack_vprintf_chk): New prototypes.
	(asprintf, __asprintf, dprintf, obstack_printf, vasprintf, vdprintf,
	obstack_vprintf): New inlines.
	* debug/dprintf_chk.c: New file.
	* debug/vdprintf_chk.c: New file.
	* debug/asprintf_chk.c: New file.
	* debug/vasprintf_chk.c: New file.
	* debug/obprintf_chk.c: New file.
	* debug/tst-chk1.c (do_test): Add asprintf and obstack_printf tests.
	* debug/Versions (__asprintf_chk, __dprintf_chk, __obstack_printf_chk,
	__vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Export
	@@GLIBC_2.8.
	* debug/Makefile: Build asprintf_chk, vasprintf_chk, dprintf_chk,
	vdprintf_chk and obprintf_chk, set CFLAGS for them.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vasprintf_chk,
	__nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): Add
	libc_hidden_proto.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl___vasprintf_chk,
	__nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): New prototypes.
	* sysdeps/ieee754/ldbl-opt/Versions (__nldbl___asprintf_chk,
	__nldbl___vasprintf_chk, __nldbl___dprintf_chk, __nldbl___vdprintf_chk,
	__nldbl___obstack_printf_chk, __nldbl___obstack_vprintf_chk): Export
	@@GLIBC_2.8.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add asprintf_chk,
	vasprintf_chk, dprintf_chk, vdprintf_chk, obstack_printf_chk and
	obstack_vprintf_chk.
	* sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c: New file.

2008-03-04  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5779]
	* misc/sys/queue.h: Add STAILQ_CONCAT and TAILQ_CONCAT definitions.
	Patch by Roy Marples <roy@marples.name>.

	[BZ #5736]
	* malloc/malloc.c: Fix typo in comment.

	[BZ #5627]
	* locale/iso-639.def: Add Shuswap.

2008-02-25  Jakub Jelinek  <jakub@redhat.com>

	[BZ #5790]
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Don't
	overwrite *h_errnop/*errnop values from getanswer_r in case of
	failure.

2008-03-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5818]
	* nscd/connections.c (dbs): Add initializers for .suggested_module.
	(verify_persistent_db): Remove one unnecessary test and add a new one
	for bad configuration.
	(nscd_init): Improve error reported when persistent database cannot
	be reused.
	* nscd/nscd.h (DEFAULT_SUGGESTED_MODULE): Define.
	* nscd/nscd_conf.c (nscd_parse_file): Provide default values for
	.suggested_module and .max_db_size and case config file says the
	values are zero.
	* nscd/nscd_helper.c (get_mapping): Fail if hash table module is zero.

	[BZ #5854]
	* nis/ypclnt.c (yp_order): Fix handling of return value of
	do_ypcall_tr call.
	Patch by Jeff Moyer <jmoyer@redhat.com>.

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

2008-02-22  Andreas Jaeger  <aj@suse.de>,
	    Carlos O'Donell <carlos@systemhalted.org>

	[BZ #5012]
	* FAQ.in: Describe why glibc needs to be compiled with
	optimization.

2008-02-19  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (SHT_GNU_ATTRIBUTES): New macro.

2008-02-15  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5737]
	* resolv/netdb.h: Make NI_MAXHOST and NI_MAXSERV available when
	__USE_MISC is defined.

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

	* sysdeps/unix/sysv/linux/sys/timerfd.h: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add
	sys/timerfd.h.
	* sysdeps/unix/sysv/linux/syscalls.list: Add timerfd_create,
	timerfd_gettime, timerfd_settime.
	* sysdeps/unix/sysv/linux/Versions: Add timerfd_create,
	timerfd_gettime, timerfd_settime for GLIBC_2.8.

2008-02-08  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (NT_PPC_SPE): New macro.

2008-02-06  Roland McGrath  <roland@redhat.com>

	* Makerules ($(common-objpfx)sysd-rules):
	Depend on $(sysdep-makeconfigs).

2008-01-31  Roland McGrath  <roland@redhat.com>

	[BZ #5442]
	* configure.in: Use -print-file-name if it yields a directory,
	for each of include and include-fixed.
	* configure: Regenerated.

	* Makeconfig (sysd-rules-targets): New variable.
	* sysdeps/unix/make-syscalls.sh: Use it in the rules emitted.
	* sysdeps/unix/Makefile (omit-deps): Append variants for each target.

2008-01-30  Roland McGrath  <roland@redhat.com>

	* manual/libc.texinfo: Update back-cover text.

	* elf/elf.h (NT_386_TLS): New macro.

2008-01-29  Roland McGrath  <roland@redhat.com>

	* Makeconfig (sysd-rules-patterns): New variable.
	* Makerules ($(common-objpfx)sysd-rules): Drive the loop from that.
	(check-inhibit-asm): New canned sequence, replaces ...
	(open-check-inhibit-asm, close-check-inhibit-asm): ... these, removed.
	* elf/rtld-Rules ($(objpfx)rtld-%.os): Use $(rtld-CPPFLAGS) in commands.
	(rtld-CPPFLAGS): Renamed from CPPFLAGS-rtld.
	(CFLAGS-rtld): Variable removed.

2008-01-24  Roland McGrath  <roland@redhat.com>

	* configure.in: Let configure fragments set base_os.
	* configure: Regenerated.

2008-01-22  Ulrich Drepper  <drepper@redhat.com>

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

2008-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Use short for fnstsw.

2008-01-12  Andreas Jaeger  <aj@suse.de>

	[BZ #5040]
	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (enum EPOLL_EVENTS):
	Add EPOLLRDHUP.

2008-01-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* hurd/hurdsock.c (_hurd_socket_server): Return the standard
	error EAFNOSUPPORT rather than non-standard EPFNOSUPPORT.
	* sunrpc/bindrsvprt.c (bindresvport): Likewise.

2007-10-23  Alexandre Oliva  <aoliva@redhat.com>

	* include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define.
	* elf/dl-close.c (_dl_close): Check for it.
	* elf/dl-reloc.c (CHECK_STATIC_TLS): Likewise.
	(_dl_allocate_static_tls): Likewise.
	* elf/dl-tls.c (_dl_allocate_tls_init): Likewise.
	(__tls_get_addr): Protect from race conditions in setting l_tls_offset
	to it.
	* elf/tst-tls16.c: New file.
	* elf/tst-tlsmod16a.c: New file.
	* elf/tst-tlsmod16b.c: New file.
	* elf/Makefile: Add rules to build and run tst-tls16.

2008-01-16  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5628]
	* bits/shm.h: Fix comment describing shmid_ds.
	* sysdeps/gnu/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/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/sh/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
	Patch by Hareesh Nagarajan <hareesh.nagarajan@gmail.com>.

	[BZ #5607]
	* conform/data/fcntl.h-data: Fix posix_fadvise and posix_fallocate
	prototypes.
	* conform/data/limits.h-data: Adjust limits changed in v6 and add
	additional suffixes.
	* conform/data/mqueue.h-data: Fix typo in mq_curmsgs entry.
	Add optional functions mq_timedreceive and mq_timedsend.
	* conform/data/netdb.h-data: Add more AI_* and EAI_* constants.
	* conform/data/pthread.h-data: Fix prototype of
	pthread_condattr_setclock.  pthread_sigmask is not required in v6.
	* conform/data/semaphore.h-data: Allow time.h definitions.
	* conform/data/signal.h-data: Likewise.
	* conform/data/stdio.h-data: getw and putw are not required in v6.
	* conform/data/stdlib.h-data: Change setstate prototype.
	* conform/data/string.h-data: Fix strerror_r prototype.
	* conform/data/time.h-data: Fix typo in TIMER_ABSTIME definition.
	* conform/data/unistd.h-data: pthread_atfork not required in v6.
	Fix readlink prototype.
	* conform/data/netinet/in.h-data: Add const to in6addr_any and
	in6addr_loopback.
	* inet/netinet/in.h: Cleanup namespace.
	* posix/regex.h: Likewise.
	* resolv/netdb.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/in.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
	* sysdeps/posix/getaddrinfo.c (default_labels): Adjust for change
	of names of in in6_addr.
	(default_precedence): Likewise.
	* sysdeps/unix/sysv/linux/cmsg_nxthdr.c: Include <stddef.h> for
	NULL definition.

2008-01-15  Ulrich Drepper  <drepper@redhat.com>

	* conform/data/fmtmsg.h-data: Add missing allows.
	* conform/data/ftw.h-data: Likewise.
	* conform/data/inttypes.h-data: Likewise.
	* conform/data/math.h-data: Likewise.
	* conform/data/signal.h-data: Likewise.
	* conform/data/net/if.h-data: Likewise.
	* conform/data/netinet/in.h-data: Likewise.
	* conform/data/sys/socket.h-data: Likewise.

	[BZ #5614]
	* string/bits/string2.h (__strtok_r_1c): Always update *__NEXTP.
	(__strtok_r): Simplify.
	* string/tester.c (test_strtok_r): Add test case for futile search
	with single-character seach string.

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

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

2008-01-11  Andreas Jaeger  <aj@suse.de>

	[BZ #5600]
	* sysdeps/unix/sysv/linux/sys/signalfd.h (struct
	signalfd_siginfo): Use 64-bit type for ssi_ptr to sync with Linux
	kernel header.

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

	* sysdeps/posix/getaddrinfo.c (rfc3484_sort): Store result of
	native interface lookup in all the relevant places.

2008-01-10  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (sort_results): Remove service_order
	field.  Use sockaddr_in6 for source_addr.
	(get_scope): Change type of parameter to sockaddr_in6.  Adjust.
	(match_prefix): Likewise.
	(get_label): Likewise.
	(get_precedence): Likewise.
	(rfc3484_sort): Change to use indirect access to results array.
	Adjust to use of sockaddr_in6.  Replace service_order test with
	simple index comparison.
	(getaddrinfo): Define order array.  Initialize it.  Don't initialize
	service_order field.  Adjust qsort_t calls.  Access sorted result
	array indirectly through order array.
	* posix/tst-rfc3484.c: Adjust for change of rfc3484_sort.
	* posix/tst-rfc3484-2.c: Likewise.
	* posix/tst-rfc3484-3.c: Likewise.

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

	[BZ #5541]
	* sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and
	pollfd structures.
	Patch by André Cruz.

	[BZ #5545]
	* sunrpc/clnt_perr.c (clnt_sperror): Don't use fixed size buffer.
	(clnt_spcreateerror): Likewise.

	[BZ #5553]
	* malloc/malloc.c (public_mALLOc): Set ar_ptr when trying main_arena.
	(public_mEMALIGn): Likewise.
	Patch mostly by Daniel Jacobowitz.

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

	* sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Avoid
	clobbering memory at or above uc_stack.ss_sp + uc_stack.ss_size.
	* stdlib/Makefile: Add rules to build and run tst-makecontext2.
	* stdlib/tst-makecontext2.c: New test.

2008-01-08  Jakub Jelinek  <jakub@redhat.com>

	* iconv/loop.c (UPDATE_PARAMS): Define to empty statement if not
	defined.
	(REINIT_PARAMS): Likewise.  Undefine before end of file.
	(STANDARD_TO_LOOP_ERR_HANDLER): Use UPDATE_PARAMS before calling
	transliteration hooks and REINIT_PARAMS afterwards.
	* iconvdata/iso-2022-jp.c (BODY): Use a separate variable for
	status.
	(REINIT_PARAMS): Define.
	* iconvdata/ibm1364.c (REINIT_PARAMS): Likewise.
	* iconvdata/ibm930.c (REINIT_PARAMS): Likewise.
	* iconvdata/ibm933.c (REINIT_PARAMS): Likewise.
	* iconvdata/ibm935.c (REINIT_PARAMS): Likewise.
	* iconvdata/ibm937.c (REINIT_PARAMS): Likewise.
	* iconvdata/ibm939.c (REINIT_PARAMS): Likewise.
	* iconvdata/iso-2022-cn.c (REINIT_PARAMS): Likewise.
	* iconvdata/iso-2022-cn-ext.c (REINIT_PARAMS): Likewise.
	* iconvdata/iso-2022-jp-3.c (REINIT_PARAMS): Likewise.
	* iconvdata/iso-2022-kr.c (REINIT_PARAMS): Likewise.
	* iconvdata/Makefile: Add rules to build and run tst-iconv7.c.
	* iconvdata/tst-iconv7.c: New test.

2008-01-07  Ulrich Drepper  <drepper@redhat.com>

	* libio/stdio.h (vscanf): Fix definition for loser compilers.

2008-01-05  Jakub Jelinek  <jakub@redhat.com>

	[BZ #5112]
	* nscd/connections.c (restart): Fix condition.

2008-01-03  Jakub Jelinek  <jakub@redhat.com>

	* ctype/ctype.h (__ctype_b_loc, __ctype_tolower_loc,
	__ctype_toupper_loc): Add __THROW.

2008-01-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Fix
	recognition of interface family.

	* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.

2007-12-26  Ulrich Drepper  <drepper@redhat.com>

	* nss/nsswitch.c (__nss_lookup): Actually use alternative name in
	second lookup.

2007-12-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/cacheinfo.c (intel_02_known): New entry 0x3f.
	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.

2007-12-17  Roland McGrath  <roland@redhat.com>

	* inet/ether_line.c (ether_line): Remove unused variable.

2007-12-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* login/forkpty.c (forkpty): Add const qualifier to parameters termp
	and winp.
	* login/openpty.c (openpty): Likewise.
	* login/pty.h (openpty, forkpty): Likewise.
	* manual/terminal.texi (openpty, forkpty): Likewise.

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

	* malloc/malloc.c (public_cALLOc): For arenas other than
	main_arena, count all bytes inside the mprotect_size range of the
	heap as uninitialized.

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

	* elf/tst-execstack.c (do_test): Don't fail if SELinux forbids
	executable stacks.

	* malloc/malloc.c (public_mTRIm): Iterate over all arenas and call
	mTRIm for all of them.
	(mTRIm): Additionally iterate over all free blocks and use madvise
	to free memory for all those blocks which contain at least one
	memory page.
	* malloc/tst-trim1.c: New file.
	* malloc/Makefile (tests): Add tst-trim1.

	* malloc/malloc.c (do_check_malloc_state): Minimal cleanups.

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

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL_ERROR_P):
	First cast argument to long
	* sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_gettimeofday):
	Return long.
	(__vdso_clock_gettime): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: Functions
	return long.

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

	* locale/nl_langinfo.c (nl_langinfo): Just call __nl_langinfo_l.
	* locale/nl_langinfo_l.c: Real implementation, copied from
	nl_langinfo.c.
	* include/langinfo.h: Add libc_hidden_proto for __nl_langinfo_l.

2007-12-01  Jim Meyering  <meyering@redhat.com>

	* posix/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
	that would inhibit utf8-optimization of a regexp containing line-
	or buffer-anchors, e.g., `^', `$'.

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

	* time/bug-getdate1.c (do_test): Don't use century values which
	aren't valid on 32-bit systems.

2007-12-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
	(memmove): Rename to __memmove_g, with __asm__ ("memmove").
	* sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
	__strcat_g, __strncat_g): Add __asm__.

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

	[BZ #5477]
	* io/fchmodat.c: Fix typo in stub_warning use.
	Patch by Petr Salinger.

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

	* iconvdata/hp-thai8.c: New file.
	* iconvdata/Makefile: Add rules for hp-thai8.c.
	* iconvdata/tst-tables.sh: Add entry for HP-THAI8.
	* iconvdata/gconv-modules: Likewise.

	[BZ #5464]
	* iconvdata/hp-greek8.c: New file.
	* iconvdata/Makefile: Add rules for hp-greek8.c.
	* iconvdata/tst-tables.sh: Add entry for HP-GREEK8.
	* iconvdata/gconv-modules: Likewise.

	[BZ #5463]
	* iconvdata/hp-turkish8.c: New file.
	* iconvdata/Makefile: Add rules for hp-turkish8.c.
	* iconvdata/tst-tables.sh: Add entry for HP-TURKISH8.
	* iconvdata/gconv-modules: Likewise.

	* malloc/arena.c (grow_heap): Split out code to shrink heap into...
	(shrink_heap): ... this new function.
	(heap_trim): Call shrink_heap instead of grow_heap.

	* malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in this
	case don't call alloc_perturb.

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

	* sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if
	possible.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_ADJ_OFFSET_SS_READ): Define for 2.6.24.
	* sysdeps/unix/sysv/linux/sys/timex.h (ADJ_OFFSET_SS_READ): Define.

2007-12-08  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5424]
	* stdio-common/vfprintf.c: Do not overflow when adding to done.
	* stdio-common/Makefile (tests): Add bug22.
	* stdio-common/bug22.c: New file.

	[BZ #5451]
	* time/getdate.c: Fix filling in default values.
	* time/bug-getdate1.c: New file.
	* time/Makefile: Add rules to build and run bug-getdate1.

	* iconvdata/ebcdic-is-friss.c: Use 8bit-gap instead of 8bit-generic.
	* iconvdata/ebcdic-es.c: Likewise.
	* iconvdata/ebcdic-es-a.c: Likewise.
	* iconvdata/ebcdic-uk.c: Likewise.
	* iconvdata/iso8859-16.c: Likewise.
	* iconvdata/viscii.c: Likewise.
	* iconvdata/iso8859-9e.c: Likewise.
	* iconvdata/Makefile: Adjust appropriately.

	[BZ #5428]
	* wcsmbs/wchar.h: Unconditionally undefine __need_mbstate and
	__need_wint_t.

2007-12-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5427]
	* iconvdata/hp-roman9.c: New file.
	* iconvdata/Makefile: Add rules for hp-roman9.c.
	* iconvdata/tst-tables.sh: Add HP-ROMAN9.
	* iconvdata/gconv-modules: Likewise.

	* iconvdata/hp-roman8.c: Use 8bit-gap instead of 8bit-generic.
	* iconvdata/Makefile: Adjust appropriately.

	[BZ #5441]
	* stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free
	structure, it's allocated with alloca.
	* stdio-common/Makefile (tests): Add bug21.
	* stdio-common/bug21.c: New file.

2007-12-06  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #5452]
	* sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__
	keyword for gcc's braced-groups.

2007-12-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5454]
	* inet/ether_line.c: Strip hostname of whitespaces.
	* inet/Makefile (tests): Add tst-ether_line.
	* inet/tst-ether_line.c: New file.

2007-12-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5439]
	* sysdeps/unix/sysv/linux/sys/signalfd.h: Fix use of __nonnull.

	[BZ #5435]
	* sysdeps/unix/sysv/linux/i386/makecontext.S: Align stack.

	* stdlib/tst-setcontext.c: Catch the case where the links gets
	messed up and we do not reach main again.

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

2007-11-26  Ulrich Drepper  <drepper@redhat.com>

	* posix/unistd.h: Declare fsync also for __USE_XOPEN2K.
	* posix/regex.h (REG_ENOSYS): Likewise.
	* wcsmbs/wchar.h: Define __need_file also for __USE_XOPEN2K.

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

	* nscd/nscd.h (MAX_STACK_USE): Define.
	* nscd/mem.c (MAX_STACK_USE): Remove definition here.
	(gc): Initialize stack_used based on allocation in prune_cache.
	* nscd/cache.c (prune_cache): Use heap for mark array if necessary.
	Clear array before use.

	* nscd/aicache.c (addhstaiX): Update statistics counter in case
	memory allocation failed.
	* nscd/hstcache.c (cache_addhst): Likewise.
	* nscd/grpcache.c (cache_addgr): Likewise.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.

2007-11-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Add open
	and creat system calls.

	* sysdeps/unix/sysv/linux/check_native.c: Include <asm/types.h>.

2007-11-23  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/Makefile [subdir=inet] (sysdep_headers):
	Add netiucv/iucv.h.
	* sysdeps/unix/sysv/linux/netiucv/iucv.h: New file.
	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Add AF_IUCV
	protocol.
	* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Likewise.
	* sysdeps/unix/sysv/linux/s390/opensock.c: New file.
	* sysdeps/unix/sysv/linux/s390/sa_len.c: New file.

2007-11-22  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/bits/string.h (strlen, strcpy, strncpy, strcat,
	strncat): Define as macros to avoid compile errors.

	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list:  Add open and
	creat entries.

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

	[BZ #5382]
	* nscd/nscd.h (NSCD_THREAD_STACKSIZE): Define.
	* nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE.
	* nscd/mem.c (gc): Don't allocate arrays on the stack if they can
	overflow it.
	Partially based on a patch by Petr Baudis <pasky@suse.cz>.

	* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
	Return zero in case the thread library is not NPTL.

	[BZ #5375]
	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Fix locking when
	initializing interface list.

	[BZ #5378]
	* nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
	use result of nss_getgrgid_r if nothing was found.  For other
	error return with a failure.
	Partially based on a patch by Petr Baudis <pasky@suse.cz>.

	* locale/programs/ld-collate.c (collate_read): Fix loop to match
	macro name.

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

	* sysdeps/posix/getaddrinfo.c (defaults_scopes, scopes): New variables.
	(get_scope): For IPv4 scope, use scopes table.
	(fini): Free scopes table if necessary.
	(free_scopelist): New function.
	(scopecmp): New function.
	(gaiconf_init): Also handle scopev4 entries.
	* posix/tst-rfc3484.c (do_test): Initialize scopes.
	* posix/tst-rfc3484-2.c (do_test): Likewise.
	* posix/gai.conf: Document scopev4 defaults.
	* posix/Makefile (tests): Add tst-rfc3484-3.
	* posix/tst-rfc3484-3.c: New file.

	* sysdeps/posix/getaddrinfo.c (default_labels): Describe entry for
	Teredo tunnels.
	* posix/gai.conf: Update for current default tables.

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

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

2007-11-18  Roland McGrath  <roland@frob.com>

	* manual/arith.texi (Remainder Functions): Spelling fix.
	From Shaun Silk <genix@mysoul.com.au>.

	* sysdeps/mach/hurd/bits/fcntl.h (O_CLOEXEC): Fix value.

2007-11-17  Ulrich Drepper  <drepper@redhat.com>

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

	* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
	Add sys/signalfd.h and sys/eventfd.h.

2007-11-15  Bruno Haible  <bruno@clisp.org>

	[BZ #5346]
	* intl/dcigettext.c (struct known_translation_t): Turn msgid into a
	union.
	(transcmp): Use the appropriate part of s1->msgid and s2->msgid.
	(DCIGETTEXT): Change the allocation of the 'search' variable so that
	it needs only fixed stack space. Delay the initialization of
	msgid_len until it is needed.

2007-11-15  Andreas Jaeger  <aj@suse.de>

	* sysdeps/ieee754/dbl-64/sincos.tbl: Fix size of union.
	Reported by Christoph Quirin Lauter <christoph.lauter@ens-lyon.fr>.

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

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

2007-11-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/check_native.c (__check_native): Simplify
	significantly.  The device type is also part of the ifinfomsg data.

	* po/sv.po: Update from translation team.
	* po/nl.po: Likewise.

	* nscd/cache.c (prune_cache): If cache is empty, instruct caller
	to wake up in 24 hours.

	* nscd/gai.c (__ioctl): Define.  Include check_native.c.

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

	* po/cs.po: Update from translation team.
	* po/pl.po: Likewise.

	* include/ifaddrs.h: Remove in6ai_temporary.
	(struct in6addrinfo): Add index element.
	Declare __check_native.
	* inet/Makefile (aux): Add check_native.
	* sysdeps/unix/sysv/linux/check_native.c: New file.
	* sysdeps/unix/sysv/linux/check_pf.c: No need to recognize
	IFA_F_TEMPORARY.  Pass back ifa_index.
	* sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code.
	(rfc3484_sort): Add new parameter.  Implement rule 7 correctly:
	call __check_native if necessary.
	(getaddrinfo): Fill in index field.  Use qsort_r instead of qsort
	to sort addresses.  Pass information about the results.
	* posix/tst-rfc3484.c: Adjust for addition of index field and change
	of rfc3484_sort interface.
	* posix/tst-rfc3484-2.c: Likewise.

	* stdlib/stdlib.h: Define __compar_d_fn_t.  Declare qsort_r.
	* include/stdlib.h: Add hidden_proto for qsort_t and adjust protoype
	for _quicksort.
	* stdlib/msort.c (qsort): Now a wrapper around qsort_r.
	(qsort_r): Renamed from qsort.  Take additional parameter and pass it
	on as third parameter to compare function and _quicksort.
	* stdlib/qsort.c (_quicksort): Take additional parameter and pass on
	to the compare function.
	* stdlib/Versions [libc] (GLIBC_2.8): Add qsort_r.
	* Versions.def: Add GLIBC_2.8 for libc.

	* posix/tst-rfc3484.c: Adjust for addition of prefixlen field.
	* posix/tst-rfc3484-2.c: Likewise.

	* include/kernel-features.h: Moved to...
	* sysdeps/mach/hurd/kernel-features.h: ...here.

2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i586/memcpy_chk.S: New file.
	* sysdeps/i386/i586/mempcpy_chk.S: Likewise.
	* sysdeps/i386/i586/memset_chk.S: Likewise.

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

	* include/ifaddrs.c (struct in6addrinfo): Add prefixlen field.
	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Always return
	list of interfaces.  Also store prefix length.
	* sysdeps/posix/getaddrinfo.c (sort_result): Add prefixlen element.
	(rfc3484_sort): In rule 9, for IPv4 addresses count only matching
	prefix if source and destination address are in the same subnet.
	(getaddrinfo): Always call __check_pf.  Fill in prefixlen field.
	Always look for matching record in in6ai list.
	Correct source_addr_len value for IPv6->IPv4 converted records.

2007-11-11  Roland McGrath  <roland@frob.com>

	* include/kernel-features.h: New file.

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

	* sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessary
	complications for 64-bit platforms.

	* sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
	* sysdeps/unix/sysv/linux/open64_2.c: ...here.  New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
	open64_2.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
	entries.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/wordsize-64/alphasort.c: New file.
	* sysdeps/wordsize-64/alphasort64.c: New file.
	* sysdeps/wordsize-64/fseeko.c: New file.
	* sysdeps/wordsize-64/fseeko64.c: New file.
	* sysdeps/wordsize-64/ftello.c: New file.
	* sysdeps/wordsize-64/ftello64.c: New file.
	* sysdeps/wordsize-64/ftw.c: New file.
	* sysdeps/wordsize-64/ftw64.c: New file.
	* sysdeps/wordsize-64/iofgetpos.c: New file.
	* sysdeps/wordsize-64/iofgetpos64.c: New file.
	* sysdeps/wordsize-64/iofopen.c: New file.
	* sysdeps/wordsize-64/iofopen64.c: New file.
	* sysdeps/wordsize-64/iofsetpos.c: New file.
	* sysdeps/wordsize-64/iofsetpos64.c: New file.
	* sysdeps/wordsize-64/lockf.c: New file.
	* sysdeps/wordsize-64/lockf64.c: New file.
	* sysdeps/wordsize-64/mkostemp.c: New file.
	* sysdeps/wordsize-64/mkostemp64.c: New file.
	* sysdeps/wordsize-64/mkstemp.c: New file.
	* sysdeps/wordsize-64/mkstemp64.c: New file.
	* sysdeps/wordsize-64/scandir.c: New file.
	* sysdeps/wordsize-64/scandir64.c: New file.
	* sysdeps/wordsize-64/tmpfile.c: New file.
	* sysdeps/wordsize-64/tmpfile64.c: New file.
	* sysdeps/wordsize-64/versionsort.c: New file.
	* sysdeps/wordsize-64/versionsort64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.

	* crypt/sha256-crypt.c: Fix a comment.
	* crypt/sha512-crypt.c: Likewise.

2007-11-07  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/memset.S: Add sfence after movnti.

2007-11-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5277]
	* iconv/loop.c (STANDARD_TO_LOOP_ERR_HANDLER): If conversion failed
	because output buffer is too small break, don't loop.
	* iconvdata/Makefile (tests): Add bug-iconv6.
	* iconvdata/bug-iconv6.c: New file.

2007-11-06  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (vfprintf): Compute necessary buffer size
	with size_t type.
	* stdio-common/printf_fp.c (__print_fp): Change chars_needed type to
	size_t.  Add casts where needed.

	* nscd/selinux.c (nscd_request_avc_has_perm): When compiled with
	old headers, don't call avc_has_perm if we don't have the
	permission information.

2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf/rtld.c (dl_main): Use the page size to find the map start.

2007-11-05  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_read): Fix check for version 0 data files.
	Patch by Szymon Siwek <sls@poczta.wp.pl>.

	* nscd/aicache.c (addhstaiX): Check herrno after IPv4 lookup only
	when the lookup call failed.

	* nscd/nscd.h (struct database_dyn): Rename prunelock to prune_lock.
	Add prune_cond and wakeup_time.
	(CACHE_PRUNE_INTERNAL): Define.
	Update declarations of prune_cache and setup_thread.
	* nscd/connections.c (dbs): Update initializers.
	(CACHE_PRUNE_INTERNAL): Moved to nscd.h.
	(nscd_init): Default number of threads is now 4.
	(invalidate_cache): Take lock before calling prune_cache.
	(handle_request): If SELinux forbids the request, say so.
	(readylist_cond): Use static initializer.
	(nscd_run_prune): New function.  Used only by pruning threads.
	(nscd_run_worder): Renamed from nscd_run.  Remove support for pruning
	here.
	(fd_ready): Update nscd_run reference.
	(start_threads): No need to initialize readylist_cond.
	Start pruning threads separately.
	* nscd/nscd_setup_thread.c: Change return value type to int and always
	return 0.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Change return value type
	to int and return nonzero value if we can use the TID address hack.
	* nscd/cache.c (cache_add): If next wakeup time of cleanup thread for
	the database is later than the new entry's timeout, update the
	wakeup time and wake the cleanup thread.
	(prune_cache): Return seconds the next entry in the database is still
	valid.  Remove locking for pruning here.
	* nscd/nscd.conf: Document default number of threads.

2007-10-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Make sure
	stack is properly aligned for the target function.
	Correct unwind info.

	* elf/rtld.c (dl_main): Initialize stack and pointer guard early
	when using auditing libraries.

2007-10-29  Ulrich Drepper  <drepper@redhat.com>

	* resolv/Versions [libresolv] (GLIBC_PRIVATE): Add
	_nss_dns_getnetbyaddr2_r.
	* resolv/nss_dns/dns-host.c: Define _nss_dns_getnetbyaddr2_r.  Pass
	extra parameter to getanswer_r.
	(_nss_dns_getnetbyaddr_r): Now a wrapper around
	_nss_dns_getnetbyaddr2_r.

	* nscd/Makefile (nscd-modules): Replace gethstbynm2_r with
	gethstbynm3_r.
	* nscd/gethstbynm2_r.c: Remove.
	* nscd/gethstbynm3_r.c: New file.
	* nscd/aicache.c (addhstaiX): Use __gethostbyaddr2_r instead of
	__gethostbyaddr_r.
	* nscd/gethstbyad_r.c: Generate __gethostbyaddr2_r function.  Define
	__gethostbyaddr_r compatibility wrapper.
	* nscd/hstcache.c (cache_addhst): Add ttl parameter.  Use it when
	determining timeout of entry.
	(lookup): Take new parameter and pass it to __gethostbyname3_r and
	__gethostbyaddr2_r.
	(addhstbyX): Pass reference to variable for TTL to lookup and
	cache_addhst.
	* nss/Versions [glibc] (GLIBC_PRIVATE): Export __nss_passwd_lookup2,
	__nss_group_lookup2, __nss_hosts_lookup2, __nss_services_lookup2,
	and __nss_next2.  Remove __nss_services_lookup.
	* nss/XXX-lookup.c: Name function now *_lookup2.  Add new parameter.
	Add compat wrapper.
	* nss/getXXbyYY_r.c: Changes to call new *_lookup2 functions and
	__nss_next2.
	* nss/getXXent_r.c: Likewise.
	* nss/getnssent_r.c: Likewise.
	* nss/nsswitch.c (__nss_lookup): Add new parameter.  If first function
	does not exist in module, try the optional second name.
	(__nss_next2): New function.
	(__nss_next): Now wrapper around __nss_next2.
	* nss/nsswitch.h: Adjust __nss_lookup prototype.
	Declare __nss_next2.
	Adjust definition of db_lookup_function type.
	* nss/service-lookup.c: Define NO_COMPAT.
	* include/netdb.h: Declare __gethostbyaddr2_r and __gethostbyname3_r.
	* inet/ether_hton.c: Use __nss_next2 instead of __nss_next.
	* inet/ether_ntoh.c: Likewise.
	* sunrpc/netname.c: Likewise.
	* sunrpc/publickey.c: Likewise.
	* inet/getnetgrent.c: Likewise.  Adjust calls to __nss_lookup.
	* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Change to __nss_hosts_lookup2.
	* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.

	* nscd/aicache.c (addhstaiX): Fix default TTL handling.

	* inet/getnetgrent_r.c (setup): Encrypt static pointer.

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

	[BZ #5204]
	* crypt/sha256c-test.c: Define TIMEOUT to 6 for ancient hardware.
	* crypt/sha512c-test.c: Likewise.

	[BZ #5225]
	* stdio-common/vfscanf.c (_IO_vfwscanf): Don't misuse wp pointer
	to keep track of end of %[ format string element.
	* stdio-common/Makefile (tests): Add bug20.
	* stdio-common/bug20.c: New file.

	[BZ #5222]
	* elf/dl-load.c (_dl_rtld_di_serinfo): Correct handling of short
	path elements in counting mode.

2007-10-27  Andreas Jaeger  <aj@suse.de>

	[BZ #5040]
	* sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLRDHUP): Add value.

	[BZ #3112]
	* sysdeps/ia64/backtrace.c (init): Free shared library if incorrect.
	(__cleanup): Free shared library when exiting.
	* sysdeps/i386/backtrace.c (init): Free shared library if incorrect.
	(__cleanup): Free shared library when exiting.

2006-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	[BZ #2549]
	* math/libm-test.inc (check_float_internal): Support
	denormalized return.

2007-10-23  Andreas Jaeger  <aj@suse.de>

	[BZ #5208]
	* sysdeps/unix/sysv/linux/readahead.c (__readahead): Use
	__LONG_LONG_PAIR to handle little endian byte order.
	Suggested by abhishekrai@google.com

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

	* malloc/arena.c [!NO_THREADS]: Use ATFORK_MEM if defined.

2007-10-26  Ulrich Drepper  <drepper@redhat.com>

	* nscd/cache.c (prune_cache): Move test for modified file outside
	of locking.

2007-10-21  Andreas Jaeger  <aj@suse.de>

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

	* manual/sysinfo.texi (System Parameters): Fix Formatting.

	* manual/arith.texi (Status bit operations): Fix formatting.

	* manual/errno.texi (Error Messages): Fix formatting.

	* manual/sysinfo.texi (System Parameters): Fix formatting.

	* manual/libc.texinfo: Update VERSION and UPDATED.

2007-10-19  Roland McGrath  <roland@redhat.com>

	* elf/Makefile ($(objpfx)ld.so): Use $(AWK).

2007-10-06  David S. Miller  <davem@davemloft.net>

	* configure.in: Add sparcv9v2 and sparc64v2.
	* scripts/config.sub: Likewise.
	* configure: Regenerate.
	* elf/elf.h (HWCAP_SPARC_N2): New.
	* sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8.
	* sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'.
	(HWCAP_IMPORTANT): Add HWCAP_SPARC_N2.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file.
	* sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file.
	* sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.

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

	* sunrpc/clnt_udp.c (clntudp_call): Don't block in recvfrom call
	even if the poll result indicates there is data to read.
	Patch by Jeff Moyer <jmoyer@redhat.com>.

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

	* elf/elf.h (NT_PPC_VMX): New macro.

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

	* version.h (VERSION): Set to 2.7.90.

2007-10-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/x86_64/memset.S (bzero): Renamed to __bzero.  Add
	weak_alias.

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

	* sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU__] (F_DUPFD_CLOEXEC): New.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Implement it.

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

	* version.h (VERSION): Bump to 2.7.
	* include/features.h (__GLIBC_MINOR__): Bump to 7.

	[BZ #5186]
	* time/tzset.c (__tz_convert): Don't force testing for a change of
	TZ if not called from localtime.  But then also see whether the
	file changed, in case __use_tzfile is set.

	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h:  Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.

2007-10-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): When sorting addresses
	and admin selects to be able to replace the gai.conf file, lock
	data structures around the qsort call.

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

	* sysdeps/x86_64/cacheinfo.c: Comment out code added in support of
	new memset.
	* sysdeps/x86_64/memset.S: Revert to old version for now.  The cost is
	too high for the improvements.  Implement bzero unconditionally for
	use in libc.

2007-10-17  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* time/tzfile.c (__tzfile_read): Read POSIX TZ string if available
	even when time_t is 32-bit.
	(__tzfile_compute): Override POSIX TZ string STD/DST zone names if
	timezone data read by __tzfile_default.  Ensure __tzname[0] is
	always set after the search.

2007-10-16  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_read): Help the compiler recognize
	unreachable code on 32-bit machines.

2007-10-16  Jakub Jelinek  <jakub@redhat.com>

	[BZ #5184]
	* time/strftime_l.c: Include stdbool.h.
	(my_strftime): New wrapper, old function renamed to...
	(__strftime_internal): ... new function.  Add tzset_called
	argument, pass it down to recursive calls, don't call tzset ()
	if already true, set to true after call to tzset ().

2007-10-16  Ulrich Drepper  <drepper@redhat.com>

	* time/tzfile.c (__tzfile_read): Take extra memory requested by caller
	into account when copying TZ string.

2007-10-16  Jakub Jelinek  <jakub@redhat.com>

	* time/tzfile.c (__tzfile_compute): For use_last case set i to
	num_transition rather than num_transitions - 1.

2007-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move
	PIC indirect jump.

	* sysdeps/x86_64/memset.S: Jump from bzero to memset using
	a local label rather than HIDDEN_JUMPTARGET.

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

	* sysdeps/x86_64/cacheinfo.c (__x86_64_shared_cache_size): Define.
	(init_cacheinfo): Initialize it.
	* sysdeps/x86_64/memset.S: Use __x86_64_shared_cache_size.
	Always define bzero.
	Remove non-glibc code.
	* sysdeps/x86_64/bzero.S: Make an empty file.

2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/x86_64/cacheinfo.c
	(__x86_64_preferred_memory_instruction): New.
	(init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.

	* sysdeps/x86_64/memset.S: Rewrite.

2007-10-15  Roland McGrath  <roland@redhat.com>

	* po/libc.pot: Regenerated.

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

	* nss/getXXbyYY_r.c (REENTRANT_NAME): Mangle startp and start_fct
	pointers.

	[BZ #3425]
	* resolv/nss_dns/dns-host.c (getanswer_r): Fail with
	NSS_STATUS_NOTFOUND if the server replied with only a CNAME and no
	address record to T_A/T_AAAA requests.

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

	* posix/glob.c: Reimplement link_exists_p to use fstatat64.

	* posix/glob.c: Add some branch prediction throughout.

	* nscd/nscd_getgr_r.c (nscd_getgr_r): Store result of successful
	read from nscd.

	* sysdeps/posix/getaddrinfo.c (struct sort_result): Add
	service_order.
	(rfc3484_sort): Make sure that even if qsort doesn't support
	stable sorting out sorting here is stable by comparing service_order.
	(getaddrinfo): Initialize service_order.
	* posix/tst-rfc3484.c (do_test): Adjust for addition of
	service_order field to sorting structure.
	* posix/tst-rfc3484-2.c (do_test): Likewise.

	* include/time.h: Declare __tzset_parse_tz and __tzset_compute.
	* time/tzset.c (tzset_internal): Break TZ string parsing out into
	__tzset_parse_tz and updating of daylight, timezone, tzname into
	update_vars.
	(__tz_compute): Renamed from tz_compute.  Take additional parameters.
	(__tz_convert): Updating of tm_isdst, tm_zone, and tm_gmtoff now
	happens in __tz_compute.
	* time/tzfile.c (__tzfile_read): Also read TZ string.
	(find_transition): Fold into __tzfile_compute.
	(__tzfile_compute): For times beyond the last transition try to
	use the TZ string.
	* timezone/tst-timezone.c: Information in daylight and tzname does
	change for Asia/Tokyo timezone with more concrete information.
	Remove the test.

	* include/stdio.h: Add libc_hidden_proto for ftello.
	* libio/ftello.c: Add libc_hidden_def.

	[BZ #1140]
	* time/tzfile.c (__tzfile_compute): Compute tzname[] values based
	on the specified time and not the last entries in the file.  Move
	code to determine tzname[] to...
	(find_transition): ...here.  Add ugly guess for times before the
	first transition.

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

	[BZ #3195]
	* nscd/nscd_getai.c (__nscd_getai): Set errno to 0 in case we found
	no entry.
	* nscd/nscd_getgr.c (nscd_getgr_r): Likewise.
	* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
	* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
	* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.

	* nscd/nscd_getgr_r.c (nscd_getgr_r): Optimize a bit: use simpler
	read mechanism when there are no group members and avoid no-op
	read syscall in this case.

	[BZ #3242]
	* nscd/nscd_helper.c (wait_on_socket): Take timeout as parameter.
	(__readall): If reading failed due to EAGAIN error wait a bit
	and possibly try again.
	(__readvall): Likewise.

2007-10-13  Bruno Haible  <bruno@clisp.org>

	* intl/dcigettext.c (_nl_find_msg): Unlock the conversions_lock
	when we cannot recode the message.

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

	[BZ #4359]
	* libio/__freading.c (__freading): Don't return true for
	write-only streams.  For read/write streams, check whether we
	performed a read operation already.
	* libio/Makefile (tests): Add tst-ext2.
	* libio/tst-ext2.c: New file.

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

	* locale/programs/repertoire.c (repertoire_read): Always free
	memory for repertoire file name [Coverity CID 270].

	* elf/cache.c (save_aux_cache): Free memory allocated for
	temporary file name [Coverity CID 267].

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

	* misc/Makefile (headers): Add bits/error.h.

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

	* posix/fnmatch_loop.c: Take rule index returned as part of
	findidx return value into account when accessing weights.
	* posix/regcomp.c: Likewise.
	* posix/regexec.c: Likewise.

	* locale/programs/ld-collate.c (collate_read): Optimize a bit.
	(skip_to): Fix problems with parameter of elifdef/elifndef.

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

	* iconv/gconv_simple.c: Add some branch prediction.

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

	* locale/programs/ld-collate.c (collate_read): If ignore_content
	and nowtok is tok_define, eat any tok_eol tokens.

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

	* sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC.
	(struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage.

	* inet/netinet/in.h: Don't include bits/socket.h.
	* sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H
	macro.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.

2007-10-10  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef
	and tok_elifndef.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/ld-collate.c: Implement primitive preprocessor.

2007-10-10  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/printf-parse.h: Include string.h and wchar.h.
	(__find_specwc): Change into __extern_always_inline function.
	(__find_specmb): Likewise.  Remove ps argument.  Use __strchrnul.
	(__parse_one_specmb): Remove ps argument.
	* stdio-common/vfprintf.c (vfprintf): Remove mbstate variable.
	Adjust __find_specmb and __parse_one_specmb callers.
	* stdio-common/printf-prs.c (parse_printf_format): Likewise.
	* stdio-common/printf-parsemb.c (__find_specwc, __find_specmb):
	Removed.
	(__parse_one_specmb): Remove ps argument, adjust __find_specmb
	caller.

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

	* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Work around problem
	with some Pentium Ds.

2007-10-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/eventfd_read.c (eventfd_read): Use
	__read not read.
	* sysdeps/unix/sysv/linux/eventfd_write.c (eventfd_write): Use
	__write not write.

2007-10-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #181]
	* locale/C-time.c: Set week_1stday data to 19971201.
	* locale/programs/ld-time.c (time_finish): Default for
	first_workday is Monday.

	[BZ #2633]
	* wcsmbs/wchar.h: Move many C99 functions into std namespace.

	[BZ #5103]
	* posix/glob.c (glob): Recognize patterns starting \/.
	* posix/tst-gnuglob.c (find_file): Handle absolute path names.
	(main): Add test for pattern starting \/.

	* misc/error.h: Use __const instead of const.
	* misc/bits/error.h: Likewise.

2007-10-07  Andreas Jaeger  <aj@suse.de>

	* include/bits/error.h: New file.

	* misc/bits/error.h (error_at_line): Fix prototype.

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

	[BZ #3924]
	* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few
	more little bugs in creating the stack frame when pltexit has to
	be called.

	* nscd/nscd_helper.c (__nscd_cache_search): Prevent endless loops.
	* nscd/connections.c (verify_persistent_db): Recognize circular lists.

	[BZ #4407]
	* sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0.
	* sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise.
	* sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
	* math/libm-test.inc: Add test for this case.

	[BZ #5010]
	* sunrpc/svc.c (struct svc_callout): Add sc_mapped element.
	(svc_register): Initialize sc_mapped.  Set to TRUE if call to
	map service succeeded.
	(svc_is_mapped): New function.
	(svc_unregister): Use it before trying to unmap service.

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

	* timezone/zic.c: Update from tzcode2007h.

	[BZ #5063]
	* timezone/africa: Update from tzdata2007h.
	* timezone/antarctica: Likewise.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/europe: Likewise.
	* timezone/leapseconds: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timzeone/zone.tab: Likewise.

	[BZ #5104]
	* elf/do-lookup.h (do_lookup_x): Don't ignore STT_COMMON symbols.

	[BZ #5113]
	* string/bits/string2.h (__strdup): Cast parameters to calloc to
	avoid warning with -Wconversion.
	(__strndup): Likewise.
	Half the patch by Christian Iseli <christian.iseli@licr.org>.

	[BZ #5112]
	* nscd/connections.c (restart): Don't resync if database is
	disabled.  Patch mostly by Brian De Wolf <bldewolf@csupomona.edu>.

	* sysdeps/gnu/netinet/tcp.h: Define TCP_MD5SIG, TCP_MD5SIG_MAXKEYLEN,
	struct tcp_md5sig.  Extend struct tcp_info according to recent kernels.

	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add eventfd,
	evetnfd_read, eventfd_write.
	* sysdeps/unix/sysv/linux/eventfd.c: New file.
	* sysdeps/unix/sysv/linux/eventfd_read.c: New file.
	* sysdeps/unix/sysv/linux/eventfd_write.c: New file.
	* sysdeps/unix/sysv/linux/sys/eventfd.h: New file.
	* sysdeps/unix/sysv/linux/Versions: Export eventfd, eventfd_read,
	eventfd_write for GLIBC_2.7.

	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add signalfd.
	* sysdeps/unix/sysv/linux/signalfd.c: New file.
	* sysdeps/unix/sysv/linux/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/Versions: Export signalfd for GLIBC_2.7.

2007-10-04  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/msort.c: Include stdint.h.
	(struct msort_param): New type.
	(msort_with_tmp): Use struct msort_param pointer for unchanging
	parameters.  Add optimized handling for several common sizes
	and indirect sorting mode.
	(qsort): Adjust msort_with_tmp callers.  For big S use indirect
	sorting.
	Suggested by Belazougui Djamel .

	* stdlib/Makefile (tests): Add tst-qsort2.
	* stdlib/tst-qsort2.c: New test.

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

	* login/login_tty.c (login_tty): The Linux kernel can return EBUSY
	for dup2 in case another thread races with the current one.  Retry
	in this case.

	* misc/error.h: Remove support for use outside of libc.  We have to
	include <features.h> now.  Include <bits/error.h> if possible.
	* misc/bits/error.h: New file.

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

	* string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy,
	bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use
	__extern_always_inline functions unconditionally, drop macros.

	* misc/sys/cdefs.h (__REDIRECT_LDBL, __REDIRECT_NTH_LDBL): New macros.
	* wcsmbs/bits/wchar2.h (__swprintf_alias, __vswprintf_alias): Use
	__REDIRECT_NTH_LDBL macro rather than __REDIRECT_NTH.

	* misc/sys/cdefs.h (__extern_always_inline): For GCC 4.3+
	add __artificial__ attribute.

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

	* string/strcoll_l.c (STRCOLL): Correct handling of switching from
	backward to forward direction.

	* string/strcoll_l.c (STRCOLL): Correct test for alloca use.

	[BZ #645]
	* locale/programs/ld-collate.c (collate_finish): Compare against last
	used section which is known to have rules defined.
	(collate_read): After order_start, correctly record order of sections
	and queue sections up.

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

	[BZ #5071]
	* malloc/malloc.c (mremap_chunk): Avoid resizing of new block has
	the same number of pages.
	Patch by Tomash Brechko <tomash.brechko@gmail.com>.

	* locale/programs/ld-collate.c (collate_read): After initial copy
	statement, continue in state 0.

	* include/stdio_ext.h (__fsetlocking): Define as macro.

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

	* locale/programs/ld-collate.c (collate_finish): Compare all bytes
	of section order.

	* po/pt_BR.po: Fix typo.

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

	* iconvdata/Makefile (modules): Add ISO8859-9E.
	(distribute): Add iso8859-9e.c.
	(gen-8bit-gap-modules): Add iso8859-9e.
	* iconvdata/iso8859-9e.c: New file.
	* iconvdata/gconv-modules: Add entries for ISO-8859-9E.
	* iconvdata/TESTS: Likewise.
	* iconvdata/tst-tables.sh: Likewise.

	* iconvdata/koi8-r.c (HAS_HOLES): Define to 0.

	* locale/iso-639.def: Add several new entries.

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

	* sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store
	void * pointers instead of struct link_map **.
	(_dl_scope_free): Change argument type to void *.
	* include/link.h (struct link_map): Change type of l_reldeps
	to struct link_map_reldeps, move l_reldepsact into that
	struct too.
	* elf/dl-deps.c: Include atomic.h.
	(_dl_map_object_deps): Only change l->l_initfini when it is
	fully populated, use _dl_scope_free for freeing it.  Optimize
	removal of libs from reldeps by using l_reserved flag, when
	some removal is needed, allocate a new list instead of
	reallocating and free the old with _dl_scope_free.  Adjust
	for l_reldeps and l_reldepsact changes.
	* elf/dl-lookup.c (add_dependency): Likewise.  Reorganize to allow
	searching in l_initfini and l_reldeps without holding dl_load_lock.
	* elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and
	l_reldepsact changes.
	* elf/dl-close.c (_dl_close_worker): Likewise.
	* elf/dl-open.c (_dl_scope_free): Change argument type to void *.

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

	* iconvdata/Makefile (modules): Add KOI8-RU.
	(distribute): Add koi8-ru.c.
	(gen-8bit-gap-modules): Add koi8-ru.
	* iconvdata/koi8-ru.c: New file.
	* iconvdata/gconv-modules: Add entries for KOI8-RU.
	* iconvdata/TESTS: Likewise.
	* iconvdata/tst-tables.sh: Likewise.

	* iconvdata/koi8-r.c (HAS_HOLES): Define to 0.

2007-09-26  Jakub Jelinek  <jakub@redhat.com>

	* misc/sys/cdefs.h (__warndecl, __errordecl): For GCC 4.3+ define
	with __warning__/__error__ attributes.
	(__warnattr): Define.
	* stdlib/bits/stdlib.h (__realpath_chk_warn, __ptsname_r_chk_warn,
	__mbstowcs_chk_warn, __wcstombs_chk_warn): New aliases with
	__warnattr.
	(realpath, ptsname_r, mbstowcs, wcstombs): Call __*_chk_warn instead
	of __*_chk if compile time detectable overflow is found.
	* libio/bits/stdio2.h (__fgets_chk_warn, __fread_chk_warn,
	__fgets_unlocked_chk_warn, __fread_unlocked_chk_warn): New aliases
	with __warnattr.
	(fgets, fread, fgets_unlocked, fread_unlocked): Call __*_chk_warn
	instead of __*_chk if compile time detectable overflow is found.
	(__gets_alias): Rename to...
	(__gets_warn): ... this.  Add __warnattr.
	(gets): Call __gets_warn instead of __gets_alias.
	* socket/bits/socket2.h (__recv_chk_warn, __recvfrom_chk_warn): New
	aliases with __warnattr.
	(recv, recvfrom): Call __*_chk_warn instead of __*_chk if compile
	time detectable overflow is found.
	* posix/bits/unistd.h (__read_chk_warn, __pread_chk_warn,
	__pread64_chk_warn, __readlink_chk_warn, __readlinkat_chk_warn,
	__getcwd_chk_warn, __confstr_chk_warn, __getgroups_chk_warn,
	__ttyname_r_chk_warn, __getlogin_r_chk_warn, __gethostname_chk_warn,
	__getdomainname_chk_warn): New aliases with __warnattr.
	(read, pread, pread64, readlink, readlinkat, getcwd, confstr,
	getgroups, ttyname_r, getlogin_r, gethostname, getdomainname): Call
	__*_chk_warn instead of __*_chk if compile time detectable overflow
	is found.
	(__getgroups_chk): Rename argument to __listlen from listlen.
	(__getwd_alias): Rename to...
	(__getwd_warn): ... this.  Add __warnattr.
	(getwd): Call __getwd_warn instead of __getwd_alias.
	* wcsmbs/bits/wchar2.h (__wmemcpy_chk_warn, __wmemmove_chk_warn,
	__wmempcpy_chk_warn, __wmemset_chk_warn, __wcsncpy_chk_warn,
	__wcpncpy_chk_warn, __fgetws_chk_warn, __fgetws_unlocked_chk_warn,
	__mbsrtowcs_chk_warn, __wcsrtombs_chk_warn, __mbsnrtowcs_chk_warn,
	__wcsnrtombs_chk_warn): New aliases with __warnattr.
	(wmemcpy, wmemmove, wmempcpy, wmemset, mbsrtowcs, wcsrtombs,
	mbsnrtowcs, wcsnrtombs): Call __*_chk_warn instead of __*_chk if
	compile time detectable overflow is found.
	(wcsncpy, wcpncpy): Likewise.  For constant __n fix check whether
	to use __*_chk or not.
	(fgetws, fgetws_unlocked): Divide __bos by sizeof (wchar_t), both
	in comparisons which function should be called and in __*_chk*
	arguments.  Call __*_chk_warn instead of __*_chk if compile time
	detectable overflow is found.
	(swprintf, vswprintf): Divide __bos by sizeof (wchar_t) in
	__*_chk argument.
	* debug/tst-chk1.c (do_test): Add a few more tests.

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

	[BZ #5058]
	* intl/gettextP.h (struct loaded_domain): Add conversions_lock member.
	* intl/loadmsgcat.c (_nl_load_domain): Initialize conversions_lock.
	(_nl_unload_domain): Finalize conversions_lock.
	* intl/dcigettext.c (_nl_find_msg): Take conversions_lock before
	handling table of known conversions.

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

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Use
	close_not_cancel_no_status instead of close.

2007-09-13  Aurelien Jarno  <aurelien@aurel32.net>

	[BZ #5028]
	* posix/regcomp.c (lookup_collation_sequence_value): Check that
	nrules != 0 for multibyte chars.

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

	* resolv/ns_print.c (ns_sprintrrf): Handle ns_t_a6 and ns_t_opt.
	Provide better error message in case the type is unknown.

	[BZ #4963]
	* wcsmbs/wcsnlen.c: Don't reference before checking the length.
	* string/stratcliff.c: Make usable to test wide char functions.
	* wcsmbs/wcsatcliff.c: New file.
	* wcsmbs/Makefiel (tests): Add wcsatcliff.

	[BZ #4972]
	* iconvdata/Makefile (modules): Add MAC-CENTRALEUROPE.
	(distribute): Add mac-centraleurope.c.
	(gen-8bit-gap-modules): Add mac-centraleurope.
	* iconvdata/mac-centraleurope.c: New file.
	* iconvdata/gconv-modules: Add entries for MAC-CENTRALEUROPE.
	* iconvdata/TESTS: Likewise.
	* iconvdata/tst-tables.sh: Likewise.

	[BZ #5043]
	* iconv/iconv_open.c (iconv_open): For large codeset names use malloc.

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

	* sysdeps/x86_64/cacheinfo.c (__x86_64_data_cache_size_half): Renamed
	from __x86_64_core_cache_size_half.
	(init_cacheinfo): Compute shared cache size for AMD processors with
	shared L3 correctly.
	* sysdeps/x86_64/memcpy.S: Adjust for __x86_64_data_cache_size_half
	name change.
	Patch in large parts by Evandro Menezes.

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

	* elf/dl-lookup.c (add_dependency): Handle failing memory
	allocation for dependency list.  Remove unnecessary check.

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Avoid unnecessary
	open/close when determining source addresses.

	* crypt/Makefile (libcrypt-routines): Add sha256-crypt, sha256,
	sha512-crypt, and sha512.
	(tests): Add sha256test, sha256c-test, sha512test, and sha512c-test.
	(distribute): Add sha256.h and sha512.h.
	* crypt/crypt-entry.c (crypt): Recognize the new $5$ and $6$ prefixes
	and call the appropriate code.
	* crypt/sha256-crypt.c: New file.
	* crypt/sha256.c: New file.
	* crypt/sha256.h: New file.
	* crypt/sha256c-test.c: New file.
	* crypt/sha256test.c: New file.
	* crypt/sha512-crypt.c: New file.
	* crypt/sha512.c: New file.
	* crypt/sha512.h: New file.
	* crypt/sha512c-test.c: New file.
	* crypt/sha512test.c: New file.

2007-09-19  Jakub Jelinek  <jakub@redhat.com>

	* misc/bits/syslog.h (syslog): Remove extraneous argument from
	the inline, pass __USE_FORTIFY_LEVEL - 1 as second argument to
	__syslog_chk.

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

	* locale/programs/charmap-dir.c (charmap_aliases): Use %ms instead of
	%as in fscanf format strings.

	* sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup.
	* sysdeps/sparc/sparc64/elf/start.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start):
	Likewise.

	* sysdeps/generic/ldsodefs.h (DL_LOOKUP_GSCOPE_LOCK): New definition.
	* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Or in
	DL_LOOKUP_GSCOPE_LOCK into flags after THREAD_GSCOPE_SET_FLAG ().
	* elf/dl-sym.c (do_sym): Likewise.
	* include/link.h (struct link_map): Add l_serial field.
	* elf/dl-object.c (_dl_new_object): Initialize l_serial.
	* elf/dl-lookup.c (add_dependency): Add flags argument.
	Remember map->l_serial, if DL_LOOKUP_GSCOPE_LOCK is among
	flags, use THREAD_GSCOPE_RESET_FLAG before and
	THREAD_GSCOPE_SET_FLAG after
	__rtld_lock_lock_recursive (GL(dl_load_lock)) to avoid deadlock.
	Don't dereference map until it has been found on some list.
	If map->l_serial changed, return -1.

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

	* include/stdio.h (__isoc99_fscanf, __isoc99_scanf,
	__isoc99_sscanf, __isoc99_vscanf): New prototypes.
	(__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add
	libc_hidden_proto.
	* include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf,
	__isoc99_swscanf, __isoc99_vwscanf): New prototypes.
	(__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes,
	add libc_hidden_proto.
	* libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf,
	vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
	conformance requested.
	* wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf,
	vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
	conformance requested.
	* libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf,
	vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX
	conformance requested.
	* wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf,
	vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict
	ISO C99 or POSIX conformance requested.
	* stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7,
	__isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7,
	__isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7
	and __isoc99_vsscanf@@GLIBC_2.7.
	* stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf,
	isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf.
	(tests): Add scanf14.
	(CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c,
	CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c,
	CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c,
	CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c,
	CFLAGS-isoc99_scanf.c): Add $(exceptions).
	(CFLAGS-scanf15.c): Add various -I paths to prevent the compiler
	from using internal headers.
	* wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7,
	__isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7,
	__isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7
	and __isoc99_vswscanf@@GLIBC_2.7.
	* wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf,
	isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf.
	(CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c,
	CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions).
	(CPPFLAGS): Add -D_IO_MTSAFE_IO if needed.
	* stdio-common/isoc99_scanf.c: New file.
	* stdio-common/isoc99_vsscanf.c: New file.
	* stdio-common/isoc99_vscanf.c: New file.
	* stdio-common/isoc99_vfscanf.c: New file.
	* stdio-common/isoc99_fscanf.c: New file.
	* stdio-common/isoc99_sscanf.c: New file.
	* wcsmbs/isoc99_fwscanf.c: New file.
	* wcsmbs/isoc99_vswscanf.c: New file.
	* wcsmbs/isoc99_swscanf.c: New file.
	* wcsmbs/isoc99_wscanf.c: New file.
	* wcsmbs/isoc99_vwscanf.c: New file.
	* wcsmbs/isoc99_vfwscanf.c: New file.
	* libio/libio.h (_IO_FLAGS2_SCANF_STD): Define.
	* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also
	clear _IO_FLAGS2_SCANF_STD bit from _flags2.
	* stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't
	handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2.
	* stdio-common/scanf14.c: New test.
	* stdio-common/scanf15.c: New test.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
	isoc99_scanf, isoc99_fscanf, isoc99_sscanf,
	isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf,
	isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf,
	isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf.
	* sysdeps/ieee754/ldbl-opt/Versions (libc): Export
	__nldbl___isoc99_scanf@@GLIBC_2.7,
	__nldbl___isoc99_fscanf@@GLIBC_2.7,
	__nldbl___isoc99_sscanf@@GLIBC_2.7,
	__nldbl___isoc99_vscanf@@GLIBC_2.7,
	__nldbl___isoc99_vfscanf@@GLIBC_2.7,
	__nldbl___isoc99_vsscanf@@GLIBC_2.7,
	__nldbl___isoc99_wscanf@@GLIBC_2.7,
	__nldbl___isoc99_fwscanf@@GLIBC_2.7,
	__nldbl___isoc99_swscanf@@GLIBC_2.7,
	__nldbl___isoc99_vwscanf@@GLIBC_2.7,
	__nldbl___isoc99_vfwscanf@@GLIBC_2.7
	and __nldbl___isoc99_vswscanf@@GLIBC_2.7.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf,
	__isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf,
	__isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf,
	__isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf,
	__isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL.
	* sysdeps/ieee754/ldbl-opt/nldbl-compat.c
	(__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf,
	__nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf,
	__nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf,
	__nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf,
	__nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf,
	__nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New
	functions.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file.

	* stdio-common/Makefile (tests): Add scanf13.
	(scanf13-ENV): New.
	* stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle
	m modifier followed by l.
	(STRING_ARG): Add width argument.
	(_IO_vfscanf_internal) <case L_('c')>: Handle %mc.
	<case L_('C')>: Handle %mlc and %mC.
	<case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG
	arguments.
	* stdio-common/scanf13.c: New test.

	* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear
	the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags.

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

	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Correct return value
	type and __THROW marker of splice, vmsplice, and tee.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list: Mark splice, vmsplice, and tee
	as cancellation points.

2003-11-01  Daniel Jacobowitz  <dan@debian.org>

	* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion): Don't
	parse more than three parts of the version number.

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

	* stdio-common/vfscanf.c (_IO_vfwscanf): Add support for 'm'
	modifier.  Patch by Jakub Jelinek.

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

	* sysdeps/unix/sysv/linux/i386/Makefile (sysdep_routines): Add
	call_fallocate in misc subdir.
	* sysdeps/unix/sysv/linux/i386/call_fallocate.S: New file.
	* sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate64): Remove.
	* sysdeps/unix/sysv/linux/i386/posix_fallocate.c: Use __call_fallocate
	instead of __fallocate64.
	* sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: Likewise.

2007-09-15  Jakub Jelinek  <jakub@redhat.com>

	* rt/Versions (librt): Export __mq_open_2@@GLIBC_2.7.
	* rt/Makefile (headers): Add bits/mqueue2.h.
	* rt/mqueue.h: Include bits/mqueue2.h if -D_FORTIFY_SOURCE=2,
	optimizing with GCC and __va_arg_pack_len is defined.
	* rt/bits/mqueue2.h: New file.
	* rt/mq_open.c (__mq_open): Renamed from mq_open.
	(mq_open): New strong_alias.
	(__mq_open_2): New function.
	* sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Renamed from mq_open.
	(mq_open): New strong_alias.
	(__mq_open_2): New function.
	* debug/Versions (libc): Export __fortify_fail@@GLIBC_PRIVATE.
	* Versions.def (librt): Add GLIBC_2.7 version.
	* debug/fortify_fail.c (__fortify_fail): Add libc_hidden_def.
	* include/stdio.h (__fortify_fail): Add libc_hidden_proto.

	* misc/sys/cdefs.h (__errordecl, __va_arg_pack_len): Define.
	* io/fcntl.h: Include bits/fcntl2.h when __va_arg_pack_len
	is defined rather than when not C++.
	* io/bits/fcntl2.h (__open_alias, __open64_alias, __openat_alias,
	__openat64_alias): New redirects.
	(__open_too_many_args, __open_missing_mode, __open64_too_many_args,
	__open64_missing_mode, __openat_too_many_args, __openat_missing_mode,
	__openat64_too_many_args, __openat64_missing_mode): New __errordecls.
	(open, open64, openat, openat64): Rewrite as __extern_always_inline
	functions instead of function-like macros.

2007-09-14  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i586/memcpy.S (__memcpy_chk): New definition.
	* sysdeps/i386/i586/mempcpy.S (__memcpy_chk): New definition.
	* sysdeps/i386/i586/memset.S (__memset_chk): New definition.

2007-09-15  Mike Frysinger  <vapier@gentoo.org>

	* inet/inet_net.c: Reset digit to 0 for inputs starting with "0x".
	* inet/tst-network.c (tests): Add edge case tests for "0", "0x", "0x0".

2007-09-14  Mike Frysinger  <vapier@gentoo.org>

	* inet/tst-network.c: Increment ERRORS for failing tests.

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

	* misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.
	* misc/bits/syslog.h (syslog): When __va_arg_pack is defined,
	implement as __extern_always_inline function.
	(vsyslog): Define as __extern_always_inline function unconditionally.
	* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf):
	When __va_arg_pack is defined, implement as __extern_always_inline
	functions.
	(vsprintf, vsnprintf, vprintf, vfprintf): Define as
	__extern_always_inline functions unconditionally.
	* libio/bits/stdio.h (vprintf): Ifdef out the inline when
	bits/stdio2.h will be included.
	* wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect.
	(swprintf, wprintf, fwprintf): When __va_arg_pack is defined,
	implement as __extern_always_inline functions.
	(vswprintf, vwprintf, vfwprintf): Define as
	__extern_always_inline functions unconditionally.
	* debug/tst-chk1.c (do_test): Enable remaining tests for C++.

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

	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only
	define in C++ for GCC 4.3+, in C++ always use __gnu_inline__
	attribute.
	* include/features.h (__USE_EXTERN_INLINES): Define only when
	__extern_inline is defined.
	* stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* socket/sys/socket.h: Include bits/socket2.h when
	__extern_always_inline is defined instead of when not __cplusplus.
	* libio/stdio.h: Include bits/stdio2.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* posix/unistd.h: Include bits/unistd.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* string/string.h: Include bits/string3.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	* wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline
	is defined instead of when not __cplusplus.
	(btowc, wctob): Don't guard the inlines with ifndef __cplusplus.
	* io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline
	is not defined.
	* misc/bits/syslog-ldbl.h: Guard *_chk stuff with
	defined __extern_always_inline instead of !defined __cplusplus.
	* libio/bits/stdio-ldbl.h: Likewise.
	* wcsmbs/bits/wchar-ldbl.h: Likewise.
	* misc/bits/syslog.h (syslog): Don't define for C++.
	(vsyslog): Use __extern_always_inline function for C++ instead of
	a macro.
	* libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline
	whenever that macro is defined.
	(vprintf): Don't provide the inline for C++.
	(fread_unlocked, fwrite_unlocked): Don't define the macros for C++.
	* libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't
	define the macros for C++.
	(vsprintf, vsnprintf, vprintf, vfprintf): Define as
	__extern_always_inline functions for C++.
	* io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat,
	stat64, lstat64, fstat64, fstatat64): Don't define if not
	__USE_EXTERN_INLINES.
	* wcsmbs/bits/wchar2.h: Fix #error message.
	(swprintf, wprintf, fwprintf): Don't define the macros for C++.
	(vswprintf, vwprintf, vfwprintf): Define using
	__extern_always_inline functions for C++.
	* string/bits/string3.h: Don't #undef macros if __cplusplus.
	(memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy,
	strncpy, strcat, strncat): Define as __extern_always_inline
	functions instead of macros for C++.
	* math/bits/cmathcalls.h: Guard __extern_inline routines with
	defined __extern_inline.
	* sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define
	to __extern_inline whenever that macro is defined.
	* sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise.
	* sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
	* sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major,
	gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from
	prototypes.  Only provide __extern_inline routines if
	__USE_EXTERN_INLINES.
	* debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6}
	tests.
	* debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++.
	For now avoid some *printf tests in C++.  Skip all testing
	if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro
	is not.
	* debug/tst-chk4.cc: New file.
	* debug/tst-chk5.cc: New file.
	* debug/tst-chk6.cc: New file.
	* debug/tst-lfschk4.cc: New file.
	* debug/tst-lfschk5.cc: New file.
	* debug/tst-lfschk6.cc: New file.
	* include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid
	prototypes in C++.
	* include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
	__vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
	__vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.

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

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

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

	* posix/Makefile ($(objpfx)getconf.speclist): Make it empty if cross
	compiling.

2007-09-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/bits/ioctls.h (TAB3): New macro.

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

	* manual/signal.texi (Signaling Another Process): Typo fix.
	From Karl Berry <karl@freefriends.org>.

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

	* sysdeps/unix/sysv/linux/check_pf.c (IFA_F_OPTIMISTIC): Define to
	zero if not defined.
	(make_request): Recognize optimistic addresses and treat them like
	deprecated addresses.
	Reported by Neil Horman <nhorman@redhat.com>.

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

	* nscd/connections.c (send_ro_fd): Also transfer file size.
	* nscd/nscd_helper.c (get_mapping): If nscd also transfers the
	file size don't call fstat.

	* nscd/nscd_helper.c (get_mapping): Avoid the pread call, just go
	ahead and map the file.  This should always be correct and we can
	catch problems later.

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

	* libio/bits/stdio2.h (__fread_chk, __fread_unlocked_chk): New
	prototypes.
	(__fread_alias, __fread_unlocked_alias): New aliases.
	(fread): New extern inline.
	(fread_unlocked): Likewise.  Undef macro before definition of
	the inline function.
	* debug/Makefile (routines): Add fread_chk and fread_u_chk.
	(CFLAGS-fread_chk.c, CFLAGS-fread_u_chk.c): Add.
	* debug/Versions (libc): Export __fread_chk@@GLIBC_2.7
	and __fread_unlocked_chk@@GLIBC_2.7.
	* debug/fread_chk.c: New file.
	* debug/fread_u_chk.c: New file.
	* debug/tst-chk1.c (do_test): Add fread and fread_unlocked tests.

2007-08-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/syscalls.list
	(personality): Change caller to EXTRA.

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

	* iconvdata/iso-2022-kr.c (BODY): Fake initialization of array buf
	to keep gcc quiet.
	* iconvdata/iso-2022-cn.c (BODY): Likewise.

	* locale/programs/ld-collate.c (collate_output): Avoid warning if
	NDEBUG is defined.

	* Makerules: Use -p option with mkdir.

	* sunrpc/key_prot.c (xdr_unixcred): Work around gcc alias warning.
	* nis/nis_xdr.c (_xdr_nis_server): Likewise.
	(_xdr_directory_obj): Likewise.
	(xdr_entry_obj): Likewise.
	(xdr_group_obj): Likewise.
	(xdr_link_obj): Likewise.
	(xdr_table_obj): Likewise.
	(_xdr_nis_result): Likewise.
	(_xdr_ns_request): Likewise.
	(_xdr_ib_request): Likewise.
	(_xdr_nis_taglist): Likewise.
	(xdr_cback_data): Likewise.
	* nis/yp_xdr.c (xdr_ypmaplist): Likewise.
	(xdr_ypresp_maplist): Likewise.

	* stdio-common/Makefile: Avoid format string warning for tst-sprint.

	* posix/regex_internal.h: Prevent some declarations and definitions
	to be seen when used in tests.

	* posix/tst-rfc3484.c (__idna_to_unicode_lzlz): Initialize *OUTPUT.
	* posix/tst-rfc3484-2.c (__idna_to_unicode_lzlz): Likewise.

	* debug/Makefile: Disable format checking when compiling tst-chk?.c.

	* config.make.in (datarootdir): Add to shut up configure.

	* sysdeps/x86_64/cacheinfo.c (handle_amd): Fix computation of
	associativity for fully-associative caches.

	* sysdeps/x86_64/cacheinfo.c (handle_amd): Handle L3 cache
	requests.  Fill on more associativity values for L2.
	Patch mostly by Evandro Menezes.

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

	* sysdeps/unix/sysv/linux/x86_64/init-first.c
	(_libc_vdso_platform_setup): Avoid using exported variable by using
	alias.

	* resolv/arpa/nameser.h (NS_OPT_DNSSEC_OK): Define.

	* sysdeps/unix/sysv/linux/i386/syscalls.list: No reason to mark
	fallocate64 as EXTRA.  It is not referenced if the symbol isn't
	defined.

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

	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Correctly
	align stack for call if pltexit is to be used.

	[BZ #3924]
	* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Correctly
	align for function call in case pltexit has to be called later.

	* sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Avoid
	implicit atomic operation when storing function pointer.
	(_dl_runtime_profile): Likewise.

2007-08-17  Jakub Jelinek  <jakub@redhat.com>

	* nis/nis_table.c (nis_list): Don't fail if __follow_path returned
	NIS_NOTFOUND.

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

	[BZ #4566]
	* string/strtok.c: Fix typo in comment.

	[BZ #4582]
	* debug/segfault.c: Fix typos in comments.

	[BZ #4588]
	* stdio-common/tempnam.c: Fix comment, it is not checked that
	TMPDIR points to a writable directory.

	[BZ #4726]
	* resolv/res_send.c (__libc_res_nsend): Initialize all of the
	memory allocated for the name server address.

	[BZ #4946]
	* nscd/connections.c (handle_request): Using sendfile always
	requires that mmap is used for the database.
	Patch by Petr Baudis <pasky@suse.cz>.

	[BZ #4905]
	* nscd/hstcache.c (cache_addhst): When reloading an entry which
	suddenly has two or more addresses, ignore it and remove the old
	entry.

	[BZ #4814]
	* resolv/res_hconf.c: Prepare for compiling outside libc.
	* nscd/res_hconf.c: New file.
	* nscd/Makefile (nscd-modules): Add res_hconf.  Add rules to build
	the new file.
	* nscd/gethstbynm2_r.c (NEED__RES_HCONF): Define.
	* nscd/gethstbyad_r.c (NEED__RES_HCONF): Likewise.

	* nscd/hstcache.c (cache_addhst): Minimal optimization.

	[BZ #4925]
	* debug/pcprofiledump.c: Turn on internationalization by calling
	setlocale.  Patch mostly by Benno Schulenberg.

	[BZ #4936]
	* iconv/gconv.c (__gconv): If flush was successful, clear rest of
	the state.
	* iconvdata/Makefile: Add rules to build and run bug-iconv5.
	* iconvdata/bug-iconv5.c: New file.

2007-08-04  Carlos O'Donell  <carlos@systemhalted.org>

	[BZ #4896]
	* elf/elf.h: Define R_PARISC_PLABEL21L, R_PARISC_PLABEL14R,
	R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT, R_PARISC_TLS_GD21L,
	R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL, R_PARISC_TLS_LDM21L,
	R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL, R_PARISC_TLS_LDO21L,
	R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32, R_PARISC_TLS_DTPMOD64,
	R_PARISC_TLS_DTPOFF32, R_PARISC_TLS_DTPOFF64, R_PARISC_TLS_LE21L,
	R_PARISC_TLS_LE14R, R_PARISC_TLS_IE21L, R_PARISC_TLS_IE14R,
	R_PARISC_TLS_TPREL32, R_PARISC_TLS_TPREL64.

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

	[BZ #4937]
	* elf/do-lookup.h (do_lookup_x): Minimal improvement in hash
	lookup loop.  Suggested by John Reiser.

2007-08-21  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/sysdep.h: Include tls.h.

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

	* csu/libc-start.c: Don't handle VDSO_SETUP here.
	* sysdeps/unix/sysv/linux/init-first.c: Handle it here instead.
	* sysdeps/unix/sysv/linux/x86_64/libc-start.c: Renamed to...
	* sysdeps/unix/sysv/linux/x86_64/init-first.c: ...this.  New file.
	* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Move VDSO_SETUP code
	to...
	* sysdeps/unix/sysv/linux/x86_64/init-first.c: ...here.  New file.

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

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

2007-08-16  Andreas Jaeger  <aj@suse.de>

	* locale/localeinfo.h: Make _nl_category_name_idxs extern.
	Reported by Peter Festner <peter.festner@ewetel.net>.

2007-08-17  Jakub Jelinek  <jakub@redhat.com>

	* login/tst-grantpt.c (test_einval): Add 3rd argument to open.

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

	* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
	to check for undefined symbols.

	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone):
	If the syscall fails, set errno to the actual returned error number
	rather than EINVAL.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): If
	arguments are incorrect, set errno to EINVAL, if the syscall
	fails, set errno to the actual returned error number.

	* stdlib/bits/stdlib-ldbl.h (__strtold_internal): Remove.
	* wcsmbs/bits/wchar-ldbl.h (__wcstold_internal): Remove.

	* sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to...
	* sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here.  New
	file.
	(ASI_PNF, ASI_BLK_P): Don't define.
	* sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to...
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here.  New
	file.
	* sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to...
	* sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here.  New
	file.

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

	* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
	FE_UNDERFLOW on Niagara CPUs.

	* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
	exceptions.

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

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No
	need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9.
	(sparc_fixup_plt): Add do_flush argument instead of figuring whether
	flush should be used or not inside of the function.
	(elf_machine_fixup_plt, elf_machine_rela): Adjust caller.

	* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone,
	__thread_start): Use HIDDEN_JUMPTARGET.
	* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone,
	__thread_start): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.

	* sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare.
	Add libc_hidden_proto.
	(STRTOF): Add libc_hidden_proto.
	(___new_strtold_l, ___new_wcstold_l): New weak aliases.
	(strtold_l, wcstold_l): Use them as second argument for
	long_double_symbol.

2007-08-14  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-misc.c: Undo last change.  The kernel won't allow it.

2007-08-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* stdlib/strtold_l.c: Include wchar.h if needed.  Add libc_hidden_def.

2007-08-14  Ulrich Drepper  <drepper@redhat.com>

	* po/bg.po: New file.  From the translation team.

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

	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PSELECT,
	__ASSUME_PPOLL, __ASSUME_ATFCTS, __ASSUME_SET_ROBUST_LIST,
	__ASSUME_UTIMENSAT, __ASSUME_FALLOCATE): Update per-arch conditions
	when each feature was introduced.

	* sysdeps/unix/sysv/linux/dl-vdso.c: Don't include dl-hash.h.
	* sysdeps/unix/sysv/linux/dl-vdso.h: Don't include dl-hash.h if NDEBUG.
	(CHECK_HASH): New macro.
	(PREPARE_VERSION): Use it.

	* sysdeps/unix/sysv/linux/pselect.c (__generic_pselect): Only provide
	prototype if not __ASSUME_PSELECT.
	* sysdeps/unix/sysv/linux/ppoll.c (__generic_ppoll): Only provide
	prototype if not __ASSUME_PPOLL.

	* sysdeps/unix/sysv/linux/dl-osinfo.h (ROUND): #undef after use.

	* sysdeps/unix/clock_settime.c (freq, __pthread_clock_settime,
	hp_timing_settime): Don't define or declare if HANDLED_CPUTIME
	is defined.

2007-08-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/libc-start.c
	(_libc_vdso_platform_setup): If vDSO is not available point
	__vdso_gettimeofday to the vsyscall.
	* sysdeps/unix/sysv/linux/x86_64/gettimeofday.S [SHARED]: Use
	__vdso_gettimeofday instead of vsyscall.

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

	* nscd/servicescache.c: Include kernel-features.h.
	* nscd/gai.c: Likewise.
	* sysdeps/unix/sysv/linux/statfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/fstatfs64.c: Likewise.
	* sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
	* sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
	* sysdeps/unix/sysv/linux/if_index.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.

2007-08-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-dst.h: No need for _dl_dst_count, _dl_dst_substitute,
	and _dl_get_origin defines anymore.

	* sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu):
	Build fix for systems which might lack POSIX timer support.

	* sysdeps/unix/sysv/linux/x86_64/libc-start.c
	(_libc_vdso_platform_setup): Mangle function pointers before storing
	them.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (INLINE_VSYSCALL):
	Demangle vdso pointer before use.
	(INTERNAL_VSYSCALL): Likewise.

	* elf/cache.c (primes): Mark as const.
	Noted by Roland McGrath.

2007-08-01  Andreas Jaeger  <aj@suse.de>
	    Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c (opt_ignore_aux_cache): Add new option.
	(options): Add option.
	(parse_opt): Handle option.
	(manual_link): Adjust process_file caller.  Call implicit_soname.
	(search_dir): Formatting.  Use and populate auxiliary cache.
	(main): Load and save auxiliary cache.
	* elf/readlib.c (process_file): Add stat_buf argument.  Pass struct
	stat64 from fstat64 to caller.
	(implicit_soname): New function.
	* elf/readelflib.c (process_elf_file): If DT_SONAME is not present,
	leave *soname as NULL.
	* elf/cache.c: Include libgen.h.
	(print_entry, print_cache, compare, save_cache, add_to_cache):
	Formatting and cleanups.
	(aux_cache_entry_id, aux_cache_entry, aux_cache_file_entry,
	aux_cache_file): New structures.
	(AUX_CACHEMAGIC): Define.
	(primes): New array.
	(aux_hash_size, aux_hash): New variables.
	(aux_cache_entry_id_hash, nextprime, init_aux_cache,
	search_aux_cache, insert_to_aux_cache, add_to_aux_cache,
	load_aux_cache, save_aux_cache): New functions.
	* sysdeps/generic/ldconfig.h (_PATH_LDCONFIG_AUX_CACHE): Define.
	(init_aux_cache, search_aux_cache, add_to_aux_cache,
	load_aux_cache, save_aux_cache, implicit_soname): New prototypes.
	(process_file): Adjust prototype.

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

	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Include stddef.h
	with __need_size_t.

2007-08-12  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Expect
	r_found_version structure as second parameter.
	* sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Define.
	(_dl_vdso_vsym): Change type of second parameter accordingly.
	* sysdeps/unix/sysv/linux/x86-64/libc-start.c
	(_libc_vdso_platform_setup): Adjust.
	* sysdeps/unix/sysv/linux/powerpc/libc-start.c
	(_libc_vdso_platform_setup): Likewise.

	* sysdeps/unix/sysv/linux/powerpc/dl-vdso.c: Move to...
	* sysdeps/unix/sysv/linux/dl-vdso.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/dl-vdso.h: Move to...
	* sysdeps/unix/sysv/linux/dl-vdso.h: ...here.
	* csu/libc-start.c: Pretty printing.
	Use VDSO_SETUP if defined.
	* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Define VDSO_SETUP
	and let generic code call into _libc_vdso_platform_setup.
	* sysdeps/unix/sysv/linux/x86_64/libc-start.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: New file.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Pretty printing.
	Define INLINE_VSYSCALL and INTERNAL_VSYSCALL.
	* sysdeps/unix/sysv/linux/x86_64/Versions: Export __vdso_clock_gettime
	for GLIBC_PRIVATE.
	* sysdeps/unix/sysv/linux/x86_64/Makefile [subdir=elf]
	(sysdep_rountines): Add dl-vdso.

	* sysdeps/unix/sysv/linux/powerpc/Makefile: Use sysdep_routines instead
	of routines.

	* sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h: Add
	attribute_hidden to __vdso_gettimeofday prototype.

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

	* manual/stdio.texi (Variable Arguments Output): Fix xref to gcc manual.
	From: Karl Berry <karl@freefriends.org>.

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

	* elf/dl-misc.c (_dl_sysdep_read_whole_file): We really don't need
	an atime update for the files we read.

2007-08-10  Ulrich Drepper  <drepper@redhat.com>

	* shadow/lckpwdf.c (__lckpwdf): Use O_CLOEXEC if possible.

	* nscd/connections.c: Use O_CLOEXEC if possible.  Use mkostemp
	instead of mkstemp.

	* misc/Makefile (routines): Add mkostemp and mkostemp64.
	* misc/Versions: Export mkostemp and mkostemp64 for GLIBC_2.7.
	* misc/mkostemp.c: New file.
	* misc/mkostemp64.c: New file.
	* stdlib/stdlib.h: Declare the new functions.
	* sysdeps/posix/tempname.c: Add new parameter which is added to
	the flags for open.  Remove __GT_BIGFILE handling.
	* stdio-common/tempname.c: Likewise.
	* include/stdio.h: Adjust __gen_tempname prototype.
	Renumber __GT_* constants.
	* libio/oldtmpfile.c: Adjust for __gen_tempname interface change.
	* misc/mkdtemp.c: Likewise.
	* misc/mkstemp.c: Likewise.
	* misc/mkstemp64.c: Likewise.
	* misc/mktemp.c: Likewise.
	* stdio-common/tempnam.c: Likewise.
	* stdio-common/tmpfile.c: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* stdio-common/tmpnam.c: Likewise.
	* stdio-common/tmpnam_r.c: Likewise.

2007-08-10  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/bits/ioctls.h (NLDLY, TABDLY, BSDLY, VTDLY):
	New macros.
	(NLDELAY, CRDELAY, TBDELAY, BSDELAY, VTDELAY): Define to those.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.

2007-08-10  Ulrich Drepper  <drepper@redhat.com>

	* nss/nss_files/files-XXX.c (internal_setent): Use O_CLOEXEC if
	possible.
	* nss/nss_files/files-alias.c (internal_setent): Likewise.
	* nss/Makefile (libnss_files-routines): Add files-have_o_cloexec.
	* nss/nss_files/files-have_o_cloexec.c: New file.

	* sysdeps/unix/sysv/linux/shm_open.c (shm_open): Use O_CLOEXEC if
	available.

2007-08-10  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128ibm/strtold_l.c (___new_strtold_l,
	___new_wcstold_l): New weak aliases.
	(strtold_l, wcstold_l): Use them as second argument for
	long_double_symbol.

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

	* sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: Use correct
	register in test for error.

	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_CLOEXEC): Define.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_CLOEXEC): Likewise.

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

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

	* include/stdlib.h: Add libc_hidden_proto for strto*, __strto*_l.
	Remove __strto*_l inlines.
	* include/wchar.h: Add libc_hidden_proto for wcsto*, __wcsto*_l.
	* stdlib/strtod.c: Add libc_hidden_def.
	* stdlib/strtod_l.c: Likewise.
	* stdlib/strtold.c [__LONG_DOUBLE_MATH_OPTIONAL]: Add libc_hidden_proto
	for __new_strtold and __new_wcstold.
	* sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Add libc_hidden_proto for
	__STRTOF, STRTOF.
	* stdlib/strtol.c: Add libc_hidden_def.
	* stdlib/strtol_l.c: Likewise.
	* sysdeps/wordsize-64/strtol.c: Add libc_hidden_ver for strtoll and
	strtoq.

	* scripts/data/localplt-powerpc-linux-gnu.data: New file.

	* scripts/data/localplt-x86_64-linux-gnu.data: File renamed to ...
	* scripts/data/localplt-generic.data: ... here.
	* elf/Makefile (check-data): Get generic file if no other.
	($(objpfx)check-localplt.out): Make target unconditional.

	* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion):
	Use ElfW(Nhdr).

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

	* po/zh_CN.po: Updated translation from translation team.

2007-08-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
	Don't use CGOTSETUP and CGOTRESTORE macros.

2007-08-04  Roland McGrath  <roland@redhat.com>

	* posix/Makefile ($(objpfx)getconf.speclist): Fix typo.

2007-08-04  Jakub Jelinek  <jakub@redhat.com>

	* io/bits/fcntl2.h (open, open64, openat, openat64): Add
	__extension__ around the whole statement expression.

2007-08-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/opendir.c (__alloc_dir): Correct order of DIR
	elements during initialization.

	* po/pl.po: Updated translation from translation team.
	* po/tr.po: Likewise.
	* po/nl.po: Likewise.

2007-08-03  Ulrich Drepper  <drepper@redhat.com>

	* rt/aio.h: Add __nonnull attributes.

2007-08-03  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Properly handle -0.
	* stdlib/Makefile (tests): Add tst-strtod5.
	(tst-strtod5-ENV): New.
	* stdlib/tst-strtod5.c: New file.

	* intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_open
	failed.
	* intl/finddomain.c (_nl_find_domain): Free normalized_codeset
	on failure.

	* elf/dl-load.c (decompose_rpath): Free copy if result couldn't be
	allocated.

2007-08-03  Jakub Jelinek  <jakub@redhat.com>

	* rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
	numbers.

2007-08-02  Ulrich Drepper  <drepper@redhat.com>

	* io/Makefile (aux): Add have_o_cloexec.
	* include/fcntl.h: Declare __have_o_cloexec.
	* io/have_o_cloexec.c: New file.
	* sysdeps/unix/opendir.c (__opendir): Use O_CLOEXEC is available.
	(__alloc_dir): If O_CLOEXEC has been used, don't duplicate the
	fcntl call if not necessary.
	* login/utmp_file.c (setutent_file): Use __have_o_cloexec instead
	of local variable.

	* sysdeps/unix/opendir.c (__alloc_dir): Don't initialize ->data.
	Avoid memset, add explicit initialization.
	* sysdeps/unix/dirstream.h (struct __dirstream): Move data elemtn
	to the end and change into zero-sized array.
	Move lock member to fill a hole on 64-bit platforms.

	* stdlib/stdlib.h: Remove __strto*_internal prototypes and strto*
	inline functions.
	* include/stdlib.h: Add __strto*_internal prototypes here.
	* wcsmbs/wchar.h: Remove __wcsto*_internal prototypes and wcsto*
	inline functions.
	* include/wchar.h: Add __wcsto*_internal prototypes.
	* sysdeps/generic/inttypes.h: No need to protect the declaration
	of the __strto*_internal and __wcsto*_internal members here.

	* rt/mqueue.h: Change const to __const and add nonnull attributes.

2007-08-02  Roland McGrath  <roland@redhat.com>

	* posix/Makefile ($(inst_libexecdir)/getconf): Make hard links to
	$(inst_bindir)/getconf if possible.

	* posix/Makefile ($(objpfx)getconf.speclist): New target.
	(generated): Add it.
	($(inst_libexecdir)/getconf): Use it.

2007-08-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Using
	/proc is faster and sufficient.  /sys is still needed for
	__get_nprocs_conf.

2007-08-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate): Add fallocate
	syscall as __fallocate64.
	* sysdeps/unix/sysv/linux/i386/posix_fallocate.c: New file.
	* sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: New file.

2007-07-30  Jakub Jelinek  <jakub@redhat.com>

	* stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t
	value.

	* stdio-common/tst-fmemopen2.c (do_test): Avoid fmt string warning
	if off_t is different rank from size_t.

	* sysdeps/generic/unwind-dw2.c (extract_cie_info, execute_cfa_program,
	uw_frame_state_for): Avoid type punning warnings.
	* sysdeps/generic/unwind-dw2-fde-glibc.c
	(_Unwind_IteratePhdrCallback): Likewise.
	* sysdeps/generic/unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
	(binary_search_single_encoding_fdes, binary_search_mixed_encoding_fdes,
	get_cie_encoding, linear_search_fdes): Don't mix char and unsigned char
	pointers.

2007-07-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count
	total processors using sysfs.
	(__get_nprocs): Use sysfs to determine which processors are online.

2007-07-31  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/posix_fallocate.c (posix_fallocate): Fix
	syscall arguments count.

	* stdio-common/tfformat.c (sprint_doubles): Add 12 new tests.

2007-07-30  Roland McGrath  <roland@redhat.com>

	* manual/libc.texinfo: Update copyrights, formatting magic, and
	@dircategory.  From Karl Berry <karl@freefriends.org>.

2007-07-29  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4860]
	* io/Makefile (headers): Add bits/fcntl2.h.

	* sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO_S): Optimize
	using gcc builtin.
	(__CPU_EQUAL_S): Likewise.

	* posix/Makefile (routines): Add sched_cpualloc and sched_cpufree.
	(tests): Add tst-cpuset.
	* posix/sched_cpualloc.c: New file.
	* posix/sched_cpufree.c: New file.
	* posix/tst-cpuset.c: New file.
	* posix/Versions: Export __sched_cpualloc and __sched_cpufree for
	GLIBC_2.7.
	* sysdeps/unix/sysv/linux/bits/sched.h: Define __CPU_*_S macros.
	* posix/sched.h: Define old CPU_* macros in temers of __CPU_*_S
	macros.  Define CPU_*_S macros.

2007-07-28  Ulrich Drepper  <drepper@redhat.com>

	* posix/getconf.c (vars): Add missing _SC_LEVEL4_CACHE_LINESIZE
	entry.

	[BZ #4858]
	* stdio-common/printf_fp.c (___printf_fp): Fix special case of
	#.0g and value rounded to 1.0.
	* stdio-common/tfformat.c (sprint_doubles): Add two new tests.

2007-07-26  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/ld-monetary.c (monetary_finish): Avoid range check
	for int_frac_digits and frac_digits.

	* login/logout.c (logout): Avoid aliasing violation.
	* login/logwtmp.c (logwtmp): Likewise.

	* libio/genops.c (_IO_un_link): Avoid aliasing violation.

	* nscd/selinux.c (preserve_capabilities): Initialize new_caps
	to avoid warning.
	* iconv/gconv_open.c (__gconv_open): Initialize ptr to avoid
	warning.
	* nis/nis_subr.c (nis_getnames): Initialize saveptr to avoid
	warning.
	* resolv/inet_ntop.c (inet_ntop6): Initialize best.len and cur.len
	to avoid warnings.

	* nss/nsswitch.c (__nss_lookup_function): Don't cast &ni->known to
	void **.
	* nss/nsswitch.h (service_user): Use void * type for KNOWN field.

	* nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to
	char * to avoid warning.
	* nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise.

	* timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv.

	* locale/programs/ld-ctype.c (ctype_finish, set_class_defaults,
	allocate_arrays): Cast second argument to charmap_find_symbol
	to char * to avoid warnings.

	* locale/programs/repertoire.c (repertoire_new_char): Change
	from_nr, to_nr and cnt to unsigned long, adjust printf format
	string.

	* locale/programs/ld-collate.c (insert_value, handle_ellipsis):
	Cast second argument to new_element to char * to avoid warnings.

	* locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *.

	* intl/gettextP.h (struct loaded_domain): Change plural to const
	struct expression *.
	* intl/plural-eval.c (plural_eval): Change first argument to
	const struct expression *.
	* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first
	argument to const struct expression **.
	* intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
	prototypes.
	* intl/loadmsgcat (_nl_unload_domain): Cast away const
	in call to __gettext_free_exp.

	* posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe
	unitialized wstring/wpattern var warnings.

	* posix/runtests.c (struct a_test): Make data field const char *.

	* stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf
	vars if not LDBL_MANT_DIG >= 106.

	* stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized.

	* stdio-common/vfprintf.c (vfprintf): Cast first arugment to
	__find_specmb to avoid warning.

	* rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings.

	* debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts
	to avoid warnings.

	* sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to
	initializer.

	* sysdeps/unix/clock_gettime.c (clock_gettime): Only define
	tv var when it will be actually used.

	* sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void
	to avoid warnings.

	* iconvdata/gbk.c (BODY): Make buf and cp char instead of unsigned
	char array resp. pointer.
	* iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of
	char array.
	* iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument
	to const unsigned char **.
	(ucs4_to_cns11643): Change second argument to unsigned char *.
	* iconvdata/euc-tw.c (BODY): Change endp type to
	const unsigned char *.
	* iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument
	to unsigned char *.
	* iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define.
	* iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array.
	* iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp
	types to unsigned char pointers/arrays instead of char.
	* iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument
	to unsigned char *.
	* iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise.
	* iconvdata/jis0212.h: Include assert.h.
	(ucs4_to_jisx0212): Change second argument to unsigned char *.
	assert that if cp[0] is not '\0', cp[1] is not '\0' either instead
	of trying to handle that.
	* iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to
	shut up a warning.
	* iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek,
	from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to
	two dimensional const unsigned char arrays.
	(BODY): Cast "" to (const unsigned char *) for assignment to cp.
	Initialize endp to inptr to shut up a warning.

2007-07-20  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4772]
	* time/strptime_l.c (__strptime_internal): Silently ignore
	strftime modifiers and field width in recursive calls.

	* include/time.h (enum ptime_locale_status): Remove.
	(__strptime_internal): Remove decided and era_cnt arguments,
	add statep argument.
	* time/strptime_l.c (__strptime_internal): Remove decided
	and era_cnt arguments, add statep argument.  Don't recompute
	any fields in recursive calls, only update caller's tm
	and state, if recursive call fails, don't change tm nor
	any state.
	(get_alt_number): Adjust.
	(recursive): Adjust caller.
	(strptime): Likewise.
	* time/strptime.c (strptime): Likewise.

2007-07-19  Jakub Jelinek  <jakub@redhat.com>

	* iconv/gconv_int.h (__GCONV_NULCONV): New internal only error code.
	* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
	if from and to charsets are the same.
	* iconv/gconv_db.c (__gconv_find_transform): Likewise.
	* intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
	returns __GCONV_NOCONV, but not for __GCONV_NULCONV.

2007-07-17  Jakub Jelinek  <jakub@redhat.com>

	* wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
	Don't define wint_t when __need_mbstate_t unless it
	is necessary.
	(__mbstate_t): Use __WINT_TYPE__ rather than wint_t
	in the typedef if possible.
	* wctype/wctype.h (wint_t): Define by including
	wchar.h with __need_wint_t instead of including stddef.h
	with __need_wint_t and as fallback definining it ourselves.
	* iconv/gconv.h (__need_wint_t): Define before including
	wchar.h.
	* sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
	or _GLIBCPP_USE_WCHAR_T.
	(__need_wchar_t): Don't define
	if not _LIBC or _GLIBCPP_USE_WCHAR_T.
	(__need_wint_t): Don't define before including stddef.h,
	define before including wchar.h only if _LIBC or
	_GLIBCPP_USE_WCHAR_T.
	(_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
	* sysdeps/mach/hurd/_G_config.h: Likewise.
	* sysdeps/generic/_G_config.h: Likewise.
	* libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
	prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
	(_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
	if _LIBC or _GLIBCPP_USE_WCHAR_T.

2007-07-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/posix_fallocate64.c: Undefine
	__posix_fallocate64_l64 before alias handling.
	* sysdeps/unix/sysv/linux/posix_fallocate.c: New file.
	* sysdeps/unix/sysv/linux/posix_fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate64.c: New file.

	* io/tst-posix_fallocate.c: Include <fcntl.h>.

2007-07-23  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/ld-collate.c (atwc): New variable.
	(add_to_tablewc): New toplevel function, moved from collate_output.
	(collate_output): Remove add_to_tablewc nested function.

	* iconv/iconvconfig.c (hash_table, hash_size): New toplevel vars.
	(name_insert): New function.
	(write_output): Remove hash_table and hash_size vars and name_insert
	nested function.

2007-07-24  Roland McGrath  <roland@redhat.com>

	* Makerules (install-others-programs-nosubdir): New target.
	(install-no-libc.a-nosubdir): Depend on it.

	* iconv/Makefile (install-others-programs): Set this instead of
	install-others.
	* login/Makefile (install-others-programs): Likewise.
	* posix/Makefile (install-others-programs): Likewise.

	* Makerules (install-no-libc.a-nosubdir): Clean up conditional
	dependencies.

2007-07-23  Ulrich Drepper  <drepper@redhat.com>

	* io/Makefile (tests): Add tst-posix_fallocate.
	* io/tst-posix_fallocate.c: New file.

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_FALLOCATE.

2007-07-22  Roland McGrath  <roland@frob.com>

	* hurd/getdport.c: Add missing copyright year update.

	* sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU] (O_CLOEXEC): New macro.
	* hurd/port2fd.c (_hurd_port2fd): Implement O_CLOEXEC.

2007-07-22  Ulrich Drepper  <drepper@redhat.com>

	* login/utmp_file.c (setutent_file): Use O_CLOEXEC if possible.

	* libio/fileops.c (_IO_new_file_fopen): Recognize 'e' flag and set
	O_CLOEXEC is needed.
	* nis/nss_compat/compat-grp.c: Use 'e' flag when opening file.
	Avoid additional fcntl to set O_CLOEXEC if not needed.
	* nis/nss_compat/compat-initgroups.c: Likewise.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.

2007-07-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	[BZ #3665]
	* manual/errno.texi: Change ECANCELED value to 119.

	[BZ #4610]
	* mach/lock-intern.h: Include <sys/cdefs.h>.

	[BZ #4178]
	* sysdeps/mach/hurd/sigaction.c (__sigaction): Check ACT != NULL before
	reading A.

	[BZ #4126]
	* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
	to __sigsuspend.

	* sysdeps/mach/i386/sysdep.h: Include <dl-sysdep.h> and <tls.h>.

2006-06-13  Thomas Schwinge  <tschwinge@gnu.org>

	* sysdeps/mach/hurd/tls.h: Change `ASSEMBLER' conditional to
	`__ASSEMBLER__'.
	* sysdeps/mach/hurd/i386/tls.h: Likewise.

2007-07-21  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_helper.c (get_mapping): Use MSG_CMSG_CLOEXEC for
	descriptor received from nscd.

	* sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_CMSG_CLOEXEC.

	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define O_CLOEXEC.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.

2007-07-20  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4816]
	* manual/signal.texi (Non-atomic Example): Make memory var volatile.

	[BZ #4813]
	* login/forkpty.c (forkpty): Close master and slave fds on
	fork failure.  Patch by
	Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>.

2007-07-18  Jakub Jelinek  <jakub@redhat.com>

	* include/features.h (__USE_ISOC95): New define.
	* wcsmbs/wchar.h (fwprintf, fwscanf, wprintf, wscanf, swprintf,
	swscanf, vfwprintf, vwprintf, vswprintf, fwide): Define even
	for -std=iso9899:199409.
	* CONFORMANCE: Remove comments about unsupported AMD1.

2007-07-17  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/sched_cpucount.c: New file.
	* sysdeps/powerpc/sched_cpucount.c: New file.

	* sysdeps/unix/sysv/linux/bits/sched.h (__sched_cpucount): Add
	__BEGIN_DECLS/__END_DECLS around the prototype.
	* bits/sched.h (__sched_cpucount): Likewise.  Make second argument
	pointer to const cpu_set_t.

	* bits/types.h: Don't include stddef.h, don't define __need_size_t.
	* signal/signal.h <__USE_BSD || __USE_XOPEN_EXTENDED>: Define
	__need_size_t and include stddef.h.
	* sysvipc/sys/msg.h: Likewise.
	* posix/sched.h: Likewise.
	* hurd/hurd/signal.h (__need_size_t): Define.

	* CONFORMANCE: ctype.h and wctype.h no longer define size_t,
	neither does signal.h in pedantic ISO C namespaces.  stdio.h
	no longer defines wint_t or wchar_t.

	* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.
	* debug/vfwprintf_chk.c (__vfwprintf_chk): Use
	_IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock.
	* debug/vprintf_chk.c (__vprintf_chk): Likewise.
	* debug/vwprintf_chk.c (__vwprintf_chk): Likewise.
	* debug/vfprintf_chk.c (__vfprintf_chk): Likewise.
	* debug/fwprintf_chk.c (__fwprintf_chk): Likewise.
	* debug/printf_chk.c (__printf_chk): Likewise.
	* debug/fprintf_chk.c (__fprintf_chk): Likewise.
	* debug/wprintf_chk.c (__wprintf_chk): Likewise.

	* sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2):
	Define.

	* bits/confname.h (_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS): Define.
	* posix/getconf.c (vars): Add POSIX_V6_WIDTH_RESTRICTED_ENVS.

2007-07-16  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4792]
	* stdlib/stdlib.h (realloc): Remove __attribute_malloc__.
	* malloc/malloc.h (realloc): Likewise.

	* libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end
	if one of proc_file_chain streams has that fileno.
	* stdio-common/Makefile (tests): Add tst-popen2.
	* stdio-common/tst-popen2.c: New test.

2007-07-14  Jakub Jelinek  <jakub@redhat.com>

	* elf/ldconfig.c: Allow GPLv2 or any later version.
	* elf/readlib.c: Likewise.
	* elf/chroot_canon.c: Likewise.
	* elf/cache.c: Likewise.
	* nscd/mem.c: Likewise.
	* nscd/getpwuid_r.c: Likewise.
	* nscd/grpcache.c: Likewise.
	* nscd/aicache.c: Likewise.
	* nscd/getsrvbynm_r.c: Likewise.
	* nscd/nscd.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/getsrvbypt_r.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/gethstbyad_r.c: Likewise.
	* nscd/gethstbynm2_r.c: Likewise.
	* nscd/getgrnam_r.c: Likewise.
	* nscd/nscd_setup_thread.c: Likewise.
	* nscd/getpwnam_r.c: Likewise.
	* nscd/gai.c: Likewise.
	* nscd/connections.c: Likewise.
	* nscd/dbg_log.c: Likewise.
	* nscd/cache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/nscd_conf.c: Likewise.
	* nscd/getgrgid_r.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* catgets/gencat.c: Likewise.
	* locale/programs/linereader.h: Likewise.
	* locale/programs/locarchive.c: Likewise.
	* locale/programs/ld-paper.c: Likewise.
	* locale/programs/locfile-kw.h: Likewise.
	* locale/programs/ld-address.c: Likewise.
	* locale/programs/xmalloc.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* locale/programs/simple-hash.c: Likewise.
	* locale/programs/xstrdup.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* locale/programs/charmap-kw.gperf: Likewise.
	* locale/programs/charmap.h: Likewise.
	* locale/programs/charmap-kw.h: Likewise.
	* locale/programs/config.h: Likewise.
	* locale/programs/locfile.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/ld-messages.c: Likewise.
	* locale/programs/repertoire.h: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/ld-name.c: Likewise.
	* locale/programs/linereader.c: Likewise.
	* locale/programs/locfile.h: Likewise.
	* locale/programs/3level.h: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-measurement.c: Likewise.
	* locale/programs/charmap-dir.c: Likewise.
	* locale/programs/ld-identification.c: Likewise.
	* locale/programs/localedef.h: Likewise.
	* locale/programs/charmap-dir.h: Likewise.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/simple-hash.h: Likewise.
	* locale/programs/ld-telephone.c: Likewise.
	* locale/programs/locale-spec.c: Likewise.
	* locale/programs/locfile-token.h: Likewise.
	* posix/getconf.c: Likewise.
	* iconv/dummy-repertoire.c: Likewise.
	* iconv/iconv_charmap.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* malloc/memusagestat.c: Likewise.
	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.

2007-07-06  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/bsd-setjmp.S (setjmp): Use correct argument registers.
	* sysdeps/sh/bsd-_setjmp.S (_setjmp): Likewise.
	* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Do correct sanity
	check for the first argument.

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

	[BZ #4775]
	* math/tgmath.h (__tgmath_real_type_sub): Formatting.
	(__tgmath_real_type): Fix if expr is const int or other const
	qualified integral type.
	(__TGMATH_UNARY_REAL_ONLY): Rewritten to avoid using statement
	expressions and handle const qualified arguments.
	(__TGMATH_BINARY_FIRST_REAL_ONLY, __TGMATH_UNARY_REAL_IMAG,
	__TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise.
	(__TGMATH_UNARY_REAL_RET_ONLY): Rewritten to avoid using
	statement expressions.
	(__TGMATH_BINARY_REAL_ONLY, __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY,
	__TGMATH_TERNARY_REAL_ONLY, __TGMATH_BINARY_REAL_IMAG): Likewise.
	(__TGMATH_UNARY_IMAG): Define.
	(conj, cproj): Use __TGMATH_UNARY_IMAG macro.
	* math/Makefile (tests): Add test-tgmath2.
	(CFLAGS-test-tgmath2.c): Add.
	* math/test-tgmath.c (fy, dy, ly, fz, dz, lz, count_cdouble,
	count_cfloat, count_cldouble): New variables.
	(NCCALLS): Define.
	(main): Check number of complex calls as well.
	(F(compile_test)): Add complex tests and tests with const qualified
	arguments.
	(y, z, ccount): Define.
	(F(cacos), F(casin), F(catan), F(ccos), F(csin), F(ctan), F(cacosh),
	F(casinh), F(catanh), F(ccosh), F(csinh), F(ctanh), F(cexp), F(clog),
	F(csqrt), F(cpow), F(cabs), F(carg), F(creal), F(cimag), F(conj),
	F(cproj)): New functions.
	* math/test-tgmath2.c: New test.

2007-07-11  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4776]
	* elf/dl-load.c (_dl_rtld_di_serinfo): Output / in LD_LIBRARY_PATH,
	RPATH etc. as "/" rather than "", don't segfault on empty paths,
	instead output ".".
	* dlfcn/Makefile (distribute): Add glreflib3.c.
	(module-names): Add glreflib3.
	($(objpfx)tst-dlinfo.out): Depend on glreflib3.so rather than
	glreflib1.so.
	(LDFLAGS_glreflib3.so): New.
	* dlfcn/tst-dlinfo.c (do_test): Load glreflib3.so instead of
	glreflib1.so.
	* dlfcn/glreflib3.c: New file.

	* intl/finddomain.c (_nl_find_domain): If _nl_explode_name
	returned -1, return NULL.
	* intl/explodename.c (_nl_explode_name): Return -1 if
	_nl_normalize_codeset failed.

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

	* sysdeps/powerpc/powerpc32/power6/memset.S: Update comments.
	Specify .machine power6 to get ISA-V2.0 branch hints.  Unroll loops
	and avoid branch misspredicts for > 31 bytes memset case.
	* sysdeps/powerpc/powerpc64/power6/memset.S: Likewise.
	Remove toc ref to __cache_line_size.

	* sysdeps/powerpc/powerpc32/power4/memcmp.S: Specify .machine power4
	to get ISA-V2.0 branch hints.
	* sysdeps/powerpc/powerpc32/power4/memcpy.S: Likewise
	* sysdeps/powerpc/powerpc32/power4/memset.S: Likewise
	* sysdeps/powerpc/powerpc32/power6/memcpy.S: Likewise.
	* sysdeps/powerpc/powerpc64/power4/memcmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/power4/memcpy.S: Likewise.
	* sysdeps/powerpc/powerpc64/power4/memset.S: Likewise.
	Remove toc ref to __cache_line_size.

	* sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S:
	Include math_ldbl_opt.h.

2007-07-10  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4773]
	* time/strptime_l.c (__strptime_internal): Implement greedy
	matching of weekday and month names.

2007-07-09  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (NT_GNU_ABI_TAG): New macro.
	(ELF_NOTE_ABI): Use it.
	(NT_GNU_HWCAP, NT_GNU_BUILD_ID): New macros.

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

	* sysdeps/x86_64/cacheinfo.c (intel_02_known): Add new entries.
	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.

2007-07-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4745]
	* stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF
	in loop to look for conversion specifier to avoid testing of
	wrong errno value.
	* stdio-common/Makefile (tests): Add bug18, bug18a, bug19, bug19a.
	* stdio-common/bug18.c: New file.
	* stdio-common/bug18a.c: New file.
	* stdio-common/bug19.c: New file.
	* stdio-common/bug19a.c: New file.

2007-07-05  Mike Frysinger  <vapier@gentoo.org>

	* Makeconfig ($(common-objpfx)gnu/lib-names.stmp): Use LC_ALL=C when
	running awk script.

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

	* elf/dl-sysdep.c (_dl_important_hwcaps): Add integer overflow check.
	* elf/dl-minimal.c (__libc_memalign): Likewise.  Handle malloc (0).
	Return NULL if mmap failed instead of asserting it does not.
	(calloc): Check for integer overflow.

	* elf/dl-minimal.c (__strtoul_internal): Fix parsing of numbers bigger
	than LONG_MAX / 10.

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

	[BZ #4702]
	* nis/nss-default.c: Include errno.h.
	(init): Preserve errno.

2007-07-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/socket.h (PF_UNIX): Update comment.

2007-06-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/socket.h: Add PF_RXRPC and AF_RXRPC.

2007-06-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/bits/socket.h: Add PF_IUCV and AF_IUCV.

2007-06-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/dl-procinfo.c: New file.
	* sysdeps/s390/dl-procinfo.h: New file.
	* sysdeps/unix/sysv/linux/s390/dl-procinfo.h: New file.

2007-06-29  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-load.c (open_verify): Find .note.ABI-tag notes even
	in PT_NOTE segments with multiple notes.
	* elf/readelflib.c (process_elf_file): Likewise.

2007-06-22  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_domain_of.c (__nis_domain_of): Make the code a bit more
	ISO C compliant.

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

	* elf/dl-close.c (free_mem): Free _dl_scope_free_list.

2007-06-13  Jakub Jelinek  <jakub@redhat.com>

	* include/link.h: Don't include rtld-lowlevel.h.
	(struct link_map): Remove l_scope_lock.
	* sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h.
	(_dl_scope_free_list): New field (variable) in _rtld_global.
	(DL_LOOKUP_SCOPE_LOCK): Remove.
	(_dl_scope_free): New prototype.
	* elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock.
	Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x.
	(_dl_profile_fixup): Likewise.
	* elf/dl-sym.c (do_sym): Likewise.  Use wrapped _dl_lookup_symbol_x
	whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and
	THREAD_GSCOPE_RESET_FLAG around it.
	* elf/dl-close.c (_dl_close_worker): Don't use
	__rtld_mrlock_{change,done}.  Call _dl_scope_free on the old
	scope.  Make sure THREAD_GSCOPE_WAIT () happens if any old
	scopes were queued or if l_scope_mem has been abandoned.
	* elf/dl-open.c (_dl_scope_free): New function.
	(dl_open_worker): Use it.  Don't use __rtld_mrlock_{change,done}.
	* elf/dl-support.c (_dl_scope_free_list): New variable.
	* elf/dl-lookup.c (add_dependency): Remove flags argument.
	Remove DL_LOOKUP_SCOPE_LOCK handling.
	(_dl_lookup_symbol_x): Adjust caller.  Remove DL_LOOKUP_SCOPE_LOCK
	handling.
	* elf/dl-object.c (_dl_new_object): Don't use
	__rtld_mrlock_initialize.

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

	* sysdeps/generic/ldsodefs.h (rtld_global): Reorder some elements
	to fill in holes
	(rtld_global_ro): Likewise.

2007-06-18  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-addr.c (_dl_addr): Skip PT_LOAD checking if l_contiguous.
	Move PT_LOAD checking to...
	(_dl_addr_inside_object): ... here, new function.
	* elf/dl-sym.c (do_sym): If not l_contiguous,
	call _dl_addr_inside_object.
	* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
	* dlfcn/dlinfo.c (dlinfo_doit): Likewise.
	* elf/dl-open.c (dl_open_worker): Likewise.
	(_dl_addr_inside_object): New function if IS_IN_rtld.
	* elf/dl-load.c (_dl_map_object_from_fd): Set l_contiguous if no
	holes are present or are PROT_NONE protected.
	* include/link.h (struct link_map): Add l_contiguous field.
	* sysdeps/generic/ldsodefs.h (_dl_addr_inside_object): New prototype.

2007-06-18  Jakub Jelinek  <jakub@redhat.com>
	    Tomas Janousek  <tjanouse@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	[BZ #4647]
	* resolv/res_send.c (send_dg): Remove socket_pf.  Use ipv6_unavail
	member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6
	socket.
	* resolv/resolv.h (__res_state): Add ipv6_unavail member.  Make
	unused member a bitmap.
	* resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6
	servers are configured.

2007-06-18  Jakub Jelinek  <jakub@redhat.com>

	* elf/rtld.c (dl_main): Don't call init_tls more than once.

2007-06-17  Andreas Schwab  <schwab@suse.de>

	* sysdeps/generic/initfini.c: Tell gcc about the nonstandard sections.

2007-06-16  Andreas Jaeger  <aj@suse.de>

	[BZ #4125]
	* sysdeps/unix/sysv/linux/sys/ptrace.h
	(PTRACE_O_TRACESYSGOOD, PTRACE_O_TRACEFORK,
	PTRACE_O_TRACEVFORK, PTRACE_O_TRACECLONE, PTRACE_O_TRACEEXEC,
	PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT, PTRACE_O_MASK,
	PTRACE_EVENT_FORK, PTRACE_EVENT_VFORK, PTRACE_EVENT_CLONE,
	PTRACE_EVENT_EXEC, PTRACE_EVENT_VFORK_DONE, PTRACE_EVENT_EXIT):
	Define.
	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.

2007-06-16  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4599]
	* sysdeps/unix/sysv/linux/check_pf.c (make_request): When
	determining whether there are IPv4/IPv6 addresses, ignore loopback
	addresses.

2007-06-14 Uros Bizjak <ubizjak@gmail.com>

	* soft-fp/soft-fp.h (CMPtype): Define to "int" if undefined.
	* soft-fp/eqdf2.c (__eqdf2): Use CMPtype instead of int
	as the return type.  Change type of "r" variable to CMPtype.
	* soft-fp/eqsf2.c (__eqsf2): Likewise.
	* soft-fp/eqtf2.c (__eqtf2): Likewise.
	* soft-fp/gedf2.c (__gedf2): Likewise.
	* soft-fp/gesf2.c (__gesf2): Likewise.
	* soft-fp/getf2.c (__getf2): Likewise.
	* soft-fp/ledf2.c (__ledf2): Likewise.
	* soft-fp/lesf2.c (__lesf2): Likewise.
	* soft-fp/letf2.c (__letf2): Likewise.
	* soft-fp/unorddf2 (__unorddf2): Likewise.
	* soft-fp/unordsf2 (__unordsf2): Likewise.
	* soft-fp/unordtf2 (__unordtf2): Likewise.

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

	* elf/do-lookup.h (do_lookup_x): Read r_nlist before r_list and
	make sure gcc doesn't mess around with this.

2007-06-08  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c (_dl_lookup_symbol_x): Remove use of r_nlist.

2007-06-08  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-close.c (_dl_close_worker): Remove all to be removed
	libraries from the global scope at once and call THREAD_GSCOPE_WAIT
	at most once per _dl_close_worker.

2007-06-08  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/sched.h: Make second parameter of
	__sched_cpucount as const.
	* posix/sched_cpucount.c: Adjust.

	* posix/sched_cpucount.c (__sched_cpucount): Allow using special
	instruction for counting bits.
	* sysdeps/x86_64/sched_cpucount.c: New file.

2007-06-07  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Avoid variable named BASH.
	* config.make.in: Likewise.
	Patch in part by Mike Frysinger.

2007-06-06  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4586]
	* sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat
	pseudo-zeros as zero.
	* sysdeps/x86_64/ldbl2mpn.c: New file.
	* sysdeps/ia64/ldbl2mpn.c: New file.

2007-06-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Remove
	unused ily variable.  Fix nextafterl on +-__LDBL_MAX__ and +-Inf.
	Remove unreachable code at the end.

2007-06-01  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c: Correct description of
	ldbl-128ibm in comment.
	(fpclassifyl): Correct classification of denormals.
	* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Correct
	return value for MIN denormal. Rewrite using long double math too
	correctly handle denormals and canonicalize the results.

2007-06-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c
	(__mpn_construct_long_double): Fix conversion where result ought
	to be smaller than __LDBL_MIN__, or the low double should be
	denormal.  Fix decision where to negate low double - honor round
	to even rules.
	* stdio-common/tst-sprintf2.c: Include string.h.
	(COMPARE_LDBL): Define.
	(TEST): Also test whether a string hexadecimal float representation
	can be parsed back to the number.
	(main): Add a couple of further tests.

2007-06-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128ibm/printf_fphex.c
	(PRINT_FPHEX_LONG_DOUBLE): Fix printing numbers where lower double
	is non-zero, but smaller than 2 * __DBL_MIN__.
	* stdio-common/tst-sprintf2.c: New test.
	* stdio-common/Makefile (tests): Add tst-sprintf2.

	* math/test-misc.c (main): Don't run last batch of tests with
	IBM long double format.

2007-05-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/970/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc32/power5/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc32/power6/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc64/970/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc64/power5/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc64/power6/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc64/power6x/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies:
	New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies:
	New file.

2007-05-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S: Move.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: To here.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrintf.S: Move.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: To here.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llround.S: Move.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: To here.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llroundf.S: Move.
	* sysdeps/powerpc/powerpc32/power4/fpu/s_llroundf.S: To here.

2007-05-22  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S
	(LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S
	(LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S
	(LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S
	(LONG_DOUBLE_COMPAT): Specify correct version, GLIBC_2_1.

2007-05-21  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power4/fpu/slowexp.c: New file.
	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.c: New file.
	* sysdeps/powerpc/powerpc64/power4/fpu/slowexp.c: New file.
	* sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c: New file.

2007-03-15  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S
	[LONG_DOUBLE_COMPAT]: Add compat_symbol for llrintl@@GLIBC_2_1.

2006-02-13  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: New File
	* sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: New File
	* sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: New File
	* sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: New File

2006-10-20  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power4/fpu/slowpow.c: New file.
	* sysdeps/powerpc/powerpc64/power4/fpu/slowpow.c: New file.

2006-10-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llround.S: New file.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llroundf.S: New file.

	* sysdeps/powerpc/powerpc32/powerpc64/fpu/Makefile: Moved.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/mpa.c: Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/Makefile: To here.
	* sysdeps/powerpc/powerpc32/power4/fpu/mpa.c: Likewise.

2006-09-29  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: New file.
	* sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: New file.
	* sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: New file.
	* sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: New file.

2006-09-28  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: New file.
	* sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: New file.
	* sysdeps/powerpc/powerpc64/power6x/fpu/Implies: New file.

2006-08-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/powerpc64/fpu/Makefile: New file.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/mpa.c: New file.
	* sysdeps/powerpc/powerpc64/power4/fpu/Makefile: New file.
	* sysdeps/powerpc/powerpc64/power4/fpu/mpa.c: New file.

2006-06-15  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power5+/fpu/s_ceil.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_ceilf.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_floor.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_floorf.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_round.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_roundf.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_trunc.S: New file.
	* sysdeps/powerpc/powerpc32/power5+/fpu/s_truncf.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_round.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_roundf.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_trunc.S: New file.
	* sysdeps/powerpc/powerpc64/power5+/fpu/s_truncf.S: New file.

2006-03-20  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrint.S: New file.
	* sysdeps/powerpc/powerpc32/powerpc64/fpu/s_llrintf.S: New file.

2007-06-01  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power6/memset.S: New file.
	* sysdeps/powerpc/powerpc64/power6/memset.S: New file.

2007-05-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/970/Implies: New file.
	* sysdeps/powerpc/powerpc32/power5/Implies: New file.
	* sysdeps/powerpc/powerpc32/power5+/Implies: New file.
	* sysdeps/powerpc/powerpc32/power6/Implies: New file.
	* sysdeps/powerpc/powerpc32/power6x/Implies: New file.
	* sysdeps/powerpc/powerpc64/970/Implies: New file.
	* sysdeps/powerpc/powerpc64/power5/Implies: New file.
	* sysdeps/powerpc/powerpc64/power5+/Implies: New file.
	* sysdeps/powerpc/powerpc64/power6/Implies: New file.
	* sysdeps/powerpc/powerpc64/power6x/Implies: New file.

2007-05-21  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power4/memset.S: New file

2007-03-13  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/memcpy.S: Improve aligned loop to minimize
	branch miss-predicts. Ensure that cache line crossing does not impact
	dispatch grouping.

2006-12-13  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/power4/memcopy.h: Replace with include
	"../../powerpc32/power4/memcopy.h".
	* sysdeps/powerpc/powerpc64/power4/wordcopy.c: Replace with include
	"../../powerpc32/power4/wordcopy.c".

2006-10-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/powerpc64/Makefile: Moved.
	* sysdeps/powerpc/powerpc32/powerpc64/memcopy.h: Likewise.
	* sysdeps/powerpc/powerpc32/powerpc64/wordcopy.c: Likewise.
	* sysdeps/powerpc/powerpc32/power4/Makefile: To here.
	* sysdeps/powerpc/powerpc32/power4/memcopy.h: Likewise.
	* sysdeps/powerpc/powerpc32/power4/wordcopy.c: Likewise.

2006-09-10  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power6/memcpy.S: New file.

2006-08-31  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power6/wordcopy.c: New file.
	* sysdeps/powerpc/powerpc32/powerpc64/Makefile: New file.
	* sysdeps/powerpc/powerpc32/powerpc64/memcopy.h: New file.
	* sysdeps/powerpc/powerpc32/powerpc64/wordcopy.c: New file.
	* sysdeps/powerpc/powerpc64/power4/Makefile: New file.
	* sysdeps/powerpc/powerpc64/power4/memcopy.h: New file.
	* sysdeps/powerpc/powerpc64/power4/wordcopy.c: New file.
	* sysdeps/powerpc/powerpc64/power6/wordcopy.c: New file.

2006-07-06  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/power6/memcpy.S: New file.

2006-03-20  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc32/power4/memcmp.S: New file.
	* sysdeps/powerpc/powerpc32/power4/memcpy.S: New file.
	* sysdeps/powerpc/powerpc32/power4/memset.S: New file.
	* sysdeps/powerpc/powerpc32/power4/strncmp.S: New file.
	* sysdeps/powerpc/powerpc64/power4/memcmp.S: New file.
	* sysdeps/powerpc/powerpc64/power4/memcpy.S: New file.
	* sysdeps/powerpc/powerpc64/power4/strncmp.S: New file.

2007-05-29  Roland McGrath  <roland@redhat.com>

	* po/Makefile (po-sed-cmd): New variable.
	(libc.pot.files): Move sed command text in there, avoid \ inside ''.

2007-05-29  Ulrich Drepper  <drepper@redhat.com>

	* crypt/md5-crypt.c: Fix comment.

	* nscd/nscd_helper.c (get_mapping): Handle short replies instead
	of crashing.  When this is the case or if the reply is malformed,
	don't try to close the new file descriptor since it does not
	exist.
	Patch in part by Guillaume Chazarain <guichaz@yahoo.fr>.

2007-05-28  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/futimes.c (miss_utimensat): Don't define
	if __NR_utimensat is not defined.

2007-05-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.

2007-05-25  Jakub Jelinek  <jakub@redhat.com>

	* io/bits/fcntl2.h (__open_2): Add nonnull attribute.
	(open): Fix comment typos.  Don't call __open_2 if flags
	is a compile time constant without O_CREAT.
	(__open64_2): Add nonnull attribute.
	(open64): Fix comment typos.  Don't call __open64_2 if flags
	is a compile time constant without O_CREAT.
	(__openat_2): Add nonnull attribute, fix nonnull attribute
	on redirect.
	(openat): Fix comment typos.  Don't call __openat_2 if flags
	is a compile time constant without O_CREAT.
	(__openat64_2): Add nonnull attribute, fix nonnull attribute
	on redirect.
	(openat64): Fix comment typos.  Don't call __openat64_2 if flags
	is a compile time constant without O_CREAT.

2007-05-24  Ulrich Drepper  <drepper@redhat.com>

	* Makerules (sysd-rules): Define PTW for ptw-* files.
	* Versions: Define GLIBC_2.7 for libc.
	* include/stdio.h: Declare __fortify_fail.
	* debug/fortify_fail.c: New file.
	* debug/Makefile (routines): Add fortify_fail.
	* debug/chk_fail.c: Use __fortify_fail.
	* debug/stack_chk_fail.c: Likewise.
	* io/Versions: Export __open_2, __open64_2, __openat_2, and
	__openat64_2 for GLIBC_2.7.
	* io/fcntl.h: When compiling with fortification, include bits/fcntl2.h.
	* io/open.c: Define *_2 variant of function which checks for O_CREAT
	and fails if necessary.
	* io/open64.c: Likewise.
	* io/openat.c: Likewise.
	* io/openat64.c: Likewise.
	* sysdeps/unix/sysv/linux/open64.c: Likewise.
	* sysdeps/unix/sysv/linux/openat.c: Likewise.
	* sysdeps/unix/sysv/linux/openat64.c: Likewise.
	* io/bits/fcntl2.h: New file.
	* include/fcntl.h: Declare __open_2, __open64_2, __openat_2, and
	__openat64_2.
	* include/bits/fcntl2.h: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add open_2.
	* sysdeps/unix/sysv/linux/open_2.c: New file.

2007-05-21  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct value
	as second parameter to handle_intel.

	* nscd/aicache.c (addhstaiX): If reported TTL is zero don't cache
	the entry.

	* sysdeps/unix/sysv/linux/x86_64/sysconf.c: Move cache information
	handling to ...
	* sysdeps/x86_64/cacheinfo.c: ... here.  New file.
	* sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
	cacheinfo.
	* sysdeps/x86_64/memcpy.S: Complete rewrite.
	* sysdeps/x86_64/mempcpy.S: Adjust appropriately.
	Patch by Evandro Menezes <evandro.menezes@amd.com>.

	* sysdeps/unix/sysv/linux/i386/epoll_pwait.S: New file.

2007-05-21  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4525]
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add epoll_pwait.
	* sysdeps/unix/sysv/linux/epoll_pwait.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list (epoll_pwait): Remove.

	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (epoll_pwait): Declare.

	[BZ #4514]
	* stdio-common/vfprintf.c (vfprintf): Don't shadow workstart variable,
	reinitialize workend at the start of each do_positional format spec
	loop, free workstart before do_positional loops.
	(printf_unknown): Fix size of work_buffer.
	* stdio-common/tst-sprintf.c (main): Add 3 new testcases.

	* malloc/hooks.c (MALLOC_STATE_VERSION): Bump.
	(public_sET_STATe): If ms->version < 3, put all chunks into
	unsorted chunks and clear {fd,bk}_nextsize fields of largebin
	chunks.

	* malloc/malloc.c [MALLOC_DEBUG]: Revert 2007-05-13 changes.
	* malloc/hooks.c: Likewise.
	* malloc/arena.c: Likewise.
	* malloc/malloc.c (do_check_malloc_state): Don't assert
	n_mmaps is not greater than n_mmaps_max.  This removes the need
	for the previous change.

	* malloc/Makefile (CFLAGS-malloc.c): Revert accidental
	2007-05-07 commit.

2007-05-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PRIVATE_FUTEX):
	Define for kernel >= 2.6.22.

2007-05-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close_worker): When removing object from
	global scope, wait for all lookups to finish afterwards.
	* elf/dl-open.c (add_to_global): When global scope array must
	grow, allocate a new one and free old array only after all
	lookups finish.
	* elf/dl-runtime.c (_dl_fixup): Protect using global scope.
	(_dl_lookup_symbol_x): Likewise.
	* elf/dl-support.c: Define _dl_wait_lookup_done.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
	_dl_wait_lookup_done.

	* malloc/malloc.c (do_check_chunk): Correct check for mmaped block
	not overlapping with arena.

	* malloc/mcheck.c (reallochook): If size==0, free the block.

	* rt/tst-shm.c: Use fstat64 instead of fstat.

	* sysdeps/unix/sysv/linux/i386/sync_file_range.S: Fix case where
	__NR_sync_file_range is not defined.

2007-05-17  Ulrich Drepper  <drepper@redhat.com>

	Dummy files to prevent stub versions from being used.
	* sysdeps/x86_64/fpu/k_cosl.c: New file.
	* sysdeps/x86_64/fpu/k_rem_pio2l.c: New file.
	* sysdeps/x86_64/fpu/k_sinl.c: New file.
	* sysdeps/x86_64/fpu/k_tanl.c: New file.

	* version.h (VERSION): Set to 2.6.90.

2007-05-14  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Define to 2.6.
	* include/features.h (__GLIBC_MINOR__): Define to 6.

	* malloc/malloc.c: Use all small bin slots on 64-bit archs.

	* malloc/malloc.c (largebin_index): Really have 32 buckets with 64
	sizes.

2007-05-13  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c [MALLOC_DEBUG]: Keep track of current maximum
	number of mmaps.  n_mmaps_max is the target.
	* malloc/hooks.c: Likewise.
	* malloc/arena.c: Likewise.

2007-05-12  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/tst-getcpu.c: Include <unistd.h> for
	getpid.

2007-05-11  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close_worker): Help gcc to optimize by
	adding new variables.

	* elf/dl-open.c (add_to_global): Introduce variable ns to help gcc
	optimize.  Completely extend global scope array before making the
	new entries visible.

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

	* sysdeps/unix/sysv/linux/tst-getcpu.c: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=posix] (tests): Add
	tst-getcpu.

	* include/link.h: Move l_version and l_nversion members around to
	fill gaps.

	* scripts/check-c++-types.sh: Don't use -fnu89-inline option.

	* sysdeps/unix/sysv/linux/sched_setaffinity.c
	(__sched_setaffinity_new): If syscall was successful and
	RESET_VGETCPU_CACHE is defined, use it before returning.
	* sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c: New file.

	* io/sys/stat.h: Make sure struct timespec is defined for
	__USE_ATFILE.

	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Define UTIME_NOW and
	UTIME_OMIT.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_UTIMENSAT.
	* io/sys/stat.h: Declare utimensat, futimens.
	* io/utimensat.c: New file.
	* io/futimens.c: New file.
	* sysdeps/unix/sysv/linux/utimensat.c: New file.
	* sysdeps/unix/sysv/linux/futimens.c: New file.
	* io/Makefile (routines): Add utimensat, futimens.
	* io/Versions: Add utimensat, futimens to GLIBC_2.6.
	* sysdeps/unix/sysv/linux/lutimes.c: New file.
	* sysdeps/unix/sysv/linux/futimes.c: Use utimensat syscall if
	available.

	* include/sys/cdefs.h: Redefine __nonnull so that test for
	incorrect parameters in the libc code itself are not omitted.

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

	* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Don't raise overflow
	exception in addition to inexact when asked to raise only FE_INEXACT.

	[BZ #3427]
	* sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Don't clear exceptions
	in *envp.

2007-05-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4403]
	* string/strfry.c (strfry): Make result more random.

2007-05-07  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/fpu/bits/mathinline.h (__isnanl): Don't define
	if __NO_LONG_DOUBLE_MATH.
	* sysdeps/unix/sysv/linux/alpha/ioperm.c: If BWX insns not
	available in the compiler, add .arch directive to the assembly.

2007-05-07  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/alpha/fpu/s_nearbyint.c (nearbyintl): Fix version on
	compat_symbol to GLIBC_2_1.
	* sysdeps/alpha/fpu/s_fmin.S (fminl): Likewise.
	* sysdeps/alpha/fpu/s_trunc.c (truncl): Likewise.
	* sysdeps/alpha/fpu/s_fmax.S (fmaxl): Likewise.
	* sysdeps/alpha/fpu/s_lrint.c (lrintl, llrintl): Likewise.
	* sysdeps/alpha/fpu/s_lround.c (lroundl, llroundl): Likewise.
	* sysdeps/alpha/fpu/s_round.c (roundl): Likewise.
	* sysdeps/alpha/fpu/s_isnan.c (isnanl): Provide compat_symbol in
	libc, not libm.
	(__isnanl): New compat_symbol.

2007-05-07  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* malloc/arena.c (heap_info): Add mprotect_size field, adjust pad.
	(new_heap): Initialize mprotect_size.
	(grow_heap): When growing, only mprotect from mprotect_size till
	new_size if mprotect_size is smaller.  When shrinking, use PROT_NONE
	MMAP for __libc_enable_secure only, otherwise use MADV_DONTNEED.

2007-04-30  Steven Munroe  <sjmunroe@us.ibm.com>
	    Peter Bergner  <bergner@us.ibm.com>

	* sysdeps/powerpc/bits/fenv.h: Declare __fe_mask_env extern.
	Define FE_NOMASK_ENV as FE_EANBLED_ENV.  Define FE_MASK_ENV.
	* sysdeps/powerpc/fpu/Makefile: Add fe_mask to libm-support.
	* sysdeps/powerpc/fpu/fe_mask.c: New file.
	* sysdeps/powerpc/fpu/fe_nomask.c: Correct comment.
	* sysdeps/powerpc/fpu/fedisblxcpt.c (fedisableexcept):
	Call __fe_mask_env() if all FP exceptions disabled.
	* sysdeps/powerpc/fpu/feholdexcpt.c (feholdexcept): Copy high 32-bits
	from old FPSCR to new fenv to propagate DFP rounding modes.
	Call __fe_mask_env() if FP exceptions previously enabled.
	* sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Change mask to merge
	exceptions from env.  Use __fe_nomask_env() or __fe_mask_env() when
	transitioning from all exceptions disabled to any exception enabled
	or visa versa.
	* sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Change mask to
	merge exceptions from env.  Call __fe_nomask_env or __fe_mask_env
	when transitioning from all exceptions disabled to any exception
	enabled or visa versa.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: Moved to...
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: ...here.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c: New file.

2007-05-06  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4465]
	* posix/unistd.h: Remove __THROW from fdatasync.

2007-05-06  Mike Frysinger  <vapier@gentoo.org>

	[BZ #4465]
	* sysdeps/unix/sysv/linux/syscalls.list (fdatasync): Add "C" to args.

2007-05-06  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (process_string_arg): Optimize
	ridiculous precision in wide char code printing multi-byte string.
	Reported by Jim Meyering <jim@meyering.net>.

	[BZ #4131]
	* elf/dl-addr.c (_dl_addr): Compare address with actual segment
	boundaries to work around systems with overlapping binary loading.
	Based on a patch by Suzuki <suzuki@in.ibm.com>.

2007-05-04  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfprintf.c (process_string_arg): Adjust call to
	__mbsnrtowcs after last change.

	* locale/programs/linereader.c (get_symname): Fix adding final NUL.
	(get_ident): Likewise.

2007-05-03  Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/op-common.h (FP_TRUNC): Replace raising of FP_EX_INEXACT
	with setting the sticky bit.
	* math/test-misc.c (main): Add more truncation tests.

2007-04-14  Uros Bizjak  <ubizjak@gmail.com>

	* soft-fp/floatunsidf.c (__floatunsidf): Use DFtype instead of
	double in the function declaration.
	* soft-fp/floatundidf.c (__floatundidf): Use DFtype instead of
	double in the function declaration.
	* soft-fp/floatunsisf.c (__floatunsisf): Use SFtype instead of
	float in the function declaration.
	* soft-fp/floatunsisf.c (__floatunsisf): Use SFtype instead of
	float in the function declaration.

	* soft-fp/extended.h (FP_UNPACK_RAW_E): Do not increase X##_e for
	denormal operands.  Do not generate FP_EX_DENORM exception.
	(FP_UNPACK_RAW_EP): Ditto.
	(FP_UNPACK_SEMIRAW_E): Use FP_UNPACK_RAW_E instead of
	undefined _FP_UNPACK_RAW_E.
	(FP_UNPACK_SEMIRAW_EP): Use FP_UNPACK_RAW_EP instead of
	undefined _FP_UNPACK_RAW_EP.
	(FP_PACK_SEMIRAW_E): Use FP_PACK_RAW_E instead of
	undefined _FP_PACK_RAW_E.
	(FP_PACK_SEMIRAW_EP): Use FP_PACK_RAW_EP instead of
	undefined _FP_PACK_RAW_EP.

	* soft-fp/op-2.h (_FP_FRAC_COPY_2_2): Define as alias to
	_FP_FRAC_COPY_2.
	* soft-fp/op-4.h (_FP_FRAC_COPY_2_2): Define as alias to
	_FP_FRAC_COPY_4.

2007-04-16  Uros Bizjak  <ubizjak@gmail.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/op-common.h (FP_EXTEND): Do not abort when
	_FP_EXPBIAS_##dfs == _FP_EXPBIAS_##sfs.  Handle denormals for
	this case.
	* soft-fp/op-common.h (FP_TRUNC): Ditto.

2007-05-03  Jakub Jelinek  <jakub@redhat.com>

	* math/test-misc.c (main): Add tests for rounding long double
	values close to smallest double denormalized value to double.

2007-04-30  Joseph Myers  <joseph@codesourcery.com>

	* soft-fp/op-common.h (FP_TRUNC): Correct off-by-one error in
	condition for truncating to 0.  Set sticky bit for such
	truncation.

2007-05-02  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/vfprintf.c (process_string_arg): Use a VLA rather than
	fixed length array for ignore.

2007-04-30  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4438]
	* stdio-common/vfprintf.c (process_string_arg): Don't overflow the
	stack for large precisions.
	* stdio-common/test-vfprintf.c (main): Add test for large
	precision.

2007-04-30  Jakub Jelinek  <jakub@redhat.com>

	* stdio-common/printf_fp.c (___printf_fp): Don't print negative sign
	for exponent 0.
	* stdio-common/tfformat.c (sprint_doubles): Add a new test.

	[BZ #4439]
	* resolv/inet_ntop.c (inet_ntop4): Take terminating '\0' into
	account in the size check.
	* resolv/tst-inet_ntop.c: New test.
	* resolv/Makefile (tests): Add tst-inet_ntop.

2007-04-30  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	[BZ #4349]
	* malloc/malloc.c: Keep separate list for first blocks on the bin
	lists with a given size.  This helps skipping over list elements
	we know won't fit in two places.
	Inspired by a patch by Tomash Brechko <tomash.brechko@gmail.com>.

2007-04-28  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4102]
	* sysdeps/posix/getaddrinfo.c (default_labels): Assign separate
	label to Teredo tunnel addresses 2001://32.

2007-04-27  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/ld-collate.c (collate_read): Allow order_start
	after copy.

	* locale/programs/ld-collate.c (collate_read): Fix printing of
	error message.

	[BZ #3213]
	* locale/C-translit.h.in: Add entry for U2044.

	[BZ #4342]
	* stdio-common/vfscanf.c (_IO_vfscanf_internal): Allow
	hexa-decimal floats without exponent.
	* stdio-common/tstscanf.c (main): Adjust Test 8 test for success.

2007-04-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/bits/sched.h: Declare sched_getcpu.
	* sysdeps/unix/sysv/linux/sched_getcpu.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: New file.
	* sysdeps/unix/sysv/linux/Versions: Export sched_getcpu for
	GLIBC_2.6.
	* sysdeps/unix/sysv/linux/Makefile [subdir=posix] (sysdep_routines):
	Add sched_getcpu.

2007-04-25  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Return -1 instead
	of 0 after the out_fail label.

2007-04-25  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4406]
	* iconv/gconv_charset.h (strip): Allow ':'.
	* iconv/iconv_open.c (iconv_open): Adjust comment.

2007-04-25  Jakub Jelinek  <jakub@redhat.com>

	* libio/bits/stdio.h (fgetc_unlocked): Add extern inline optimized
	version.

2007-04-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4381]
	* nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Ensure sufficient
	alignment of buffer and tmp_buffer.
	* nis/nss_nis/nis-hosts.c (internal_nis_gethostent_r,
	internal_gethostbyname2_r, _nss_nis_gethostbyaddr_r): Ensure sufficient
	alignment of buffer.
	* resolv/nss_dns/dns-hosts.c (getanswer_r): Likewise.  Handle buflen
	bigger than INT_MAX.
	* resolv/nss_dns/dns-network.c (getanswer_r): Likewise.  Add errnop and
	h_errnop arguments.  Fail if buflen is too small.
	(_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Adjust callers.

2007-04-23  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4405]
	* iconvdata/gconv-modules (E13B): Add a missing slash to the alias
	name.  Patch by Aurelien Jarno <aurelien@aurel32.net>.

2007-04-22  Roland McGrath  <roland@redhat.com>

	* elf/elf.h (NT_PRXFPREG): New macro.

2007-04-19  Andreas Jaeger  <aj@suse.de>

	[BZ #3905]
	* bits/in.h (IPV6_ROUTER_ALERT, IPV6_MTU_DISCOVER, IPV6_MTU,
	IPV6_RECVERR, IPV6_V6ONLY, IPV6_JOIN_ANYCAST, IPV6_LEAVE_ANYCAST):
	Added.

2007-04-19  Ulrich Drepper  <drepper@redhat.com>

	* include/sys/mman.h: Mark madvise hidden.
	* misc/madvise.c: Add libc_hidden_def.

2007-04-06  Jakub Jelinek  <jakub@redhat.com>

	* nis/nis_domain_of.c (__nis_domain_of): New function.
	* include/rpcsvc/nislib.h (__nis_domain_of): New prototype.
	* nis/nis_lookup.c (nis_lookup): Use __nis_domain_of.
	* nis/nis_call.c (rec_dirsearch): Likewise.
	(first_shoot): Likewise.  Remove search_parent_first argument.
	(struct nis_server_cache): Rename search_parent_first field
	to search_parent.
	(nis_server_cache_search, nis_server_cache_add): Rename
	search_parent_first argument to search_parent.
	(__nisfind_server): Likewise.  If search_parent, call
	__nis_domain_of.

2007-04-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c: Remove commented-out code.

2007-04-17  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4368]
	* stdlib/stdlib.h: Remove obsolete part of comment for realpath.

2007-04-16  Ulrich Drepper  <drepper@redhat.com>

	[BZ #4364]
	* posix/unistd.h (_XOPEN_VERSION): Define appropriately for SUSv3.

2007-04-15  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/locarchive.c (INITIAL_NUM_NAMES,
	INITIAL_SIZE_STRINGS, INITIAL_NUM_LOCREC): Update to accomodate
	current number of locales in SUPPORTED.
	(create_archive): Initialize serial.
	(enlarge_archive): Preserve aliases rather than duplicating
	their locrecs.

2007-04-13  Jakub Jelinek  <jakub@redhat.com>

	* libio/genops.c (_IO_default_finish): Call _IO_lock_fini
	after _IO_un_link, not before it.

	* stdio-common/printf_fp.c (___printf_fp): Fix exponent -4
	special case handling when wcp == wstartp + 1.  Fix a comment typo.
	* stdio-common/tfformat.c (sprint_doubles): Add a new testcase.

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

	* libio/libio.h (__underflow, __uflow, __overflow, __wunderflow,
	__wuflow, __woverflow, _IO_getc, _IO_putc, _IO_peekc_locked, _IO_padn,
	_IO_sgetn, _IO_seekoff, _IO_seekpos, _IO_getwc, _IO_putwc, _IO_wpadn):
	Remove __THROW.
	* libio/fileops.c (new_do_write, _IO_file_xsgetn_mmap,
	_IO_file_xsgetn_maybe_mmap): Likewise.
	* libio/oldfileops.c (old_do_write): Likewise.
	* libio/libioP.h (_IO_switch_to_get_mode, _IO_switch_to_wget_mode,
	_IO_init_marker, _IO_init_wmarker, _IO_default_uflow,
	_IO_wdefault_uflow, _IO_default_setbuf, _IO_default_seekpos,
	_IO_do_write, _IO_new_do_write, _IO_old_do_write, _IO_wdo_write,
	_IO_flush_all_lockp, _IO_flush_all, _IO_cleanup,
	_IO_flush_all_linebuffered, _IO_new_fgetpos, _IO_old_fgetpos,
	_IO_new_fsetpos, _IO_old_fsetpos, _IO_new_fgetpos64,
	_IO_old_fgetpos64, _IO_new_fsetpos64, _IO_old_fsetpos64,
	_IO_file_setbuf, _IO_file_seekoff, _IO_file_xsputn, _IO_file_xsgetn,
	_IO_file_underflow, _IO_file_underflow_mmap,
	_IO_file_underflow_maybe_mmap, _IO_file_overflow, _IO_file_attach,
	_IO_file_open, _IO_file_fopen, _IO_file_write, _IO_file_read,
	_IO_file_sync, _IO_file_close_it, _IO_file_finish,
	_IO_new_file_attach, _IO_new_file_close_it, _IO_new_file_finish,
	_IO_new_file_fopen, _IO_new_file_setbuf, _IO_file_setbuf_mmap,
	_IO_new_file_sync, _IO_new_file_underflow, _IO_new_file_overflow,
	_IO_new_file_seekoff, _IO_new_file_write, _IO_new_file_xsputn,
	_IO_old_file_setbuf, _IO_old_file_seekoff, _IO_old_file_xsputn,
	_IO_old_file_underflow, _IO_old_file_overflow, _IO_old_file_attach,
	_IO_old_file_fopen, _IO_old_file_write, _IO_old_file_sync,
	_IO_old_file_close_it, _IO_old_file_finish, _IO_wfile_xsputn,
	_IO_wfile_setbuf, _IO_wfile_sync, _IO_wfile_underflow,
	_IO_wfile_overflow, _IO_wfile_seekoff, _IO_old_proc_open,
	_IO_old_proc_close, _IO_getdelim, _IO_flush_all_internal,
	_IO_adjust_column_internal, _IO_default_uflow_internal,
	_IO_default_xsgetn_internal, _IO_wdefault_xsputn_internal,
	_IO_wdefault_xsgetn_internal, _IO_wdefault_uflow_internal,
	_IO_file_setbuf_internal, _IO_file_seekoff_internal,
	_IO_file_xsputn_internal, _IO_file_xsgetn_internal,
	_IO_file_close_it_internal, _IO_file_underflow_internal,
	_IO_file_overflow_internal, _IO_file_attach_internal,
	_IO_file_fopen_internal, _IO_file_sync_internal,
	_IO_file_finish_internal, _IO_wfile_xsputn_internal,
	_IO_wfile_seekoff_internal, _IO_wfile_sync_internal,
	_IO_switch_to_wget_mode_internal, _IO_padn_internal,
	_IO_switch_to_get_mode_internal, _IO_seekoff_unlocked,
	_IO_seekpos_unlocked): Likewise.
	(_IO_strtod, _IO_dtoa, _IO_outfloat, _IO_read, _IO_write,
	_IO_lseek, _IO_close, _IO_fstat): Remove unused prototypes.

2007-04-16  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/locarchive.c (show_archive_content): Fix sizeof
	argument in xmalloc size computation.

2007-04-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (__nextafterl): Use
	math_opt_barrier and math_force_eval macros.

2007-03-27  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3306]
	* math/math_private.h (math_opt_barrier, math_force_eval): Define.
	* sysdeps/i386/fpu/math_private.h: New file.
	* sysdeps/x86_64/fpu/math_private.h: New file.
	* math/s_nexttowardf.c (__nexttowardf): Use math_opt_barrier and
	math_force_eval macros.  Use "+m" constraint on asm rather than
	"=m" and "m".
	* math/s_nextafter.c (__nextafter): Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c (__nexttoward):
	Likewise.
	* sysdeps/ieee754/flt-32/s_nextafterf.c (__nextafterf): Likewise.
	* sysdeps/ieee754/ldbl-128/s_nexttoward.c (__nexttoward): Likewise.
	* sysdeps/ieee754/ldbl-96/s_nexttoward.c (__nexttoward): Likewise.
	* sysdeps/i386/fpu/s_nextafterl.c (__nextafterl): Use
	math_opt_barrier and math_force_eval macros.
	* sysdeps/ieee754/ldbl-128/s_nextafterl.c (__nextafterl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Likewise.
	* sysdeps/i386/fpu/s_nexttoward.c: Include float.h.
	(__nexttoward): Use math_opt_barrier and
	math_force_eval macros.  Use "+m" constraint on asm rather than
	"=m" and "m".  Only use asm to force double result if
	FLT_EVAL_METHOD is 2.
	* sysdeps/i386/fpu/s_nexttowardf.c: Include float.h.
	(__nexttowardf): Use math_opt_barrier and
	math_force_eval macros.  Use "+m" constraint on asm rather than
	"=m" and "m".  Only use asm to force double result if
	FLT_EVAL_METHOD is not 0.
	* sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: Include float.h.
	(__nexttowardf): Use math_opt_barrier and
	math_force_eval macros.  If FLT_EVAL_METHOD is not 0, force
	x to float using asm.
	* sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: Include float.h.
	(__nldbl_nexttowardf): Use math_opt_barrier and
	math_force_eval macros.  If FLT_EVAL_METHOD is not 0, force
	x to float using asm.
	* sysdeps/ieee754/ldbl-96/s_nexttowardf.c: Include float.h.
	(__nexttowardf): Use math_opt_barrier and math_force_eval
	macros.  If FLT_EVAL_METHOD is not 0, force x to float using asm.
	* math/bug-nextafter.c (zero, inf): New variables.
	(main): Add new tests.
	* math/bug-nexttoward.c (zero, inf): New variables.
	(main): Add new tests.

2007-03-22  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3427]
	* sysdeps/x86_64/fpu/feholdexcpt.c (feholdexcept): Clear all
	exceptions both in SW and MXCSR.
	* sysdeps/x86_64/fpu/feupdateenv.c: New file.
	* sysdeps/x86_64/fpu/feenablxcpt.c (feenableexcept): Remove dead code.
	* sysdeps/x86_64/fpu/fedisblxcpt.c (fedisableexcept): Likewise.
	* sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions
	in MXCSR if SSE is available.
	* sysdeps/i386/fpu/feupdateenv.c: Include unistd.h, dl-procinfo.h
	and ldsodefs.h.
	(__feupdateenv): Query exceptions also from MXCSR if SSE is available.
	Fix comment typo.
	* sysdeps/ia64/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions.
	Return 0 rather than 1.
	* sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Fix comment typo.
	Remove incorrect part of a comment.  Fix argument to feraiseexcept.
	* math/test-fenv.c (feholdexcept_tests): New function.
	(main): Call it.

2007-01-05  Richard B. Kreckel  <kreckel@ginac.de>

	[BZ #3427]
	* sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions
	in SW.

2007-04-13  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4344]
	* elf/ldconfig.c (search_dir): Fix 2 off-by-2 errors.
	Reported by David Anderson <davea42@earthlink.net>.

2007-04-07  Ulrich Drepper  <drepper@redhat.com>

	* posix/sys/wait.h: Remove unnecessary forward declaration.

2007-04-05  Jakub Jelinek  <jakub@redhat.com>

	* nis/nis_call.c (__nisfind_server): Replace (*dir)->do_servers
	with obj->do_servers after first_shoot.

2007-04-03  Ulrich Drepper  <drepper@redhat.com>

	* posix/Makefile (routines): Add sched_cpucount.
	(tests): Add tst-cpucount.
	* posix/sched_cpucount.c: New file.
	* posix/tst-cpucount.c: New file.
	* posix/Versions: Export __sched_cpucount with version GLIBC_2.6.
	* bits/sched.h: Define __CPU_COUNT.  Declare __sched_cpucount.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* posix/sched.h: Define CPU_COUNT.

2007-03-27  Jakub Jelinek  <jakub@redhat.com>

	* posix/fnmatch.c (STRUCT): Define.
	(fnmatch): Pass NULL as last argument to internal_fn{,w}match.
	* posix/fnmatch_loop.c (struct STRUCT): New type.
	(FCT): Add ends argument.  If ends != NULL and normal * is
	seen in the pattern, store current pattern and string pointers
	and return.  Adjust recursive calls.
	(EXT): Adjust FCT callers.
	(STRUCT): Undef at the end of the file.
	* posix/Makefile (tests): Add tst-fnmatch2.
	* posix/tst-fnmatch2.c: New test.

2007-04-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ia64/fpu/fesetround.c (fesetround): Return 0 on success
	and 1 on failure.

	* sysdeps/unix/sysv/linux/sync_file_range.c (sync_file_range):
	Change last argument to unsigned int.

2007-03-23  Jakub Jelinek  <jakub@redhat.com>

	* scripts/check-local-headers.sh: Filter out sys/capability.h.

2007-03-22  Jakub Jelinek  <jakub@redhat.com>

	* config.h.in (HAVE_LIBCAP): Add.
	* nscd/selinux.h: Include sys/capability.h rather than non-existent
	sys/capabilities.h.
	* nscd/selinux.c (preserve_capabilities): Use cap_free instead of
	free_caps.  Cast away const from 4th cap_set_flag argument.

2007-03-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/Versions: Move sync_file_range to
	GLIBC_2.6.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add sync_file_range.
	Reported by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.

2007-03-19  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/bits/atomic.h
	[!MUTEX_HINT_ACQ]: Define MUTEX_HINT_ACQ.
	[!MUTEX_HINT_REL]: Define MUTEX_HINT_REL.
	(__arch_compare_and_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_compare_and_exchange_val_32_rel): Add MUTEX_HINT_REL to lwarx.
	(__arch_atomic_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_atomic_exchange_rel_32_rel): Add MUTEX_HINT_REL to lwarx.
	* sysdeps/powerpc/powerpc32/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6X]:
	Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0".
	(__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx.
	* sysdeps/powerpc/powerpc64/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6D]:
	Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0".
	(__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx.
	(__arch_compare_and_exchange_bool_64_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_compare_and_exchange_bool_64_rel): Add MUTEX_HINT_REL to lwarx.
	(__arch_compare_and_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_compare_and_exchange_val_64_rel): Add MUTEX_HINT_REL to lwarx.
	(__arch_atomic_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx.
	(__arch_atomic_exchange_rel_64_rel): Add MUTEX_HINT_REL to lwarx.

2007-03-20  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/libc-start.c
	(__cache_line_size): Define the variable here.  Add
	attribute_hidden, remove weak_extern.
	(__libc_start_main): Set __cache_line_size
	unconditionally.
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
	(__cache_line_size): Define the variable here.  Add
	attribute_hidden, remove weak_extern.
	(DL_PLATFORM_AUXV): Set __cache_line_size
	unconditionally.
	* sysdeps/powerpc/powerpc32/dl-machine.c (__cache_line_size): Remove
	weak_extern, add attribute_hidden.
	(__elf_machine_runtime_setup): Assume __cache_line_size is always
	defined in ld.so.
	* sysdeps/powerpc/powerpc32/memset.S (__cache_line_size): Remove
	definition.
	* sysdeps/powerpc/powerpc64/memset.S (__cache_line_size): Likewise.

2007-03-26  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4276]
	* timezone/africa: Update from tzdata2007d.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* 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 tzcode2007d.
	* timezone/zdump.c: Likewise.
	* timezone/zic.c: Likewise.

2007-03-21  Jakub Jelinek  <jakub@redhat.com>

	* nis/nis_call.c: Include bits/libc-lock.h, sys/stat.h, unistd.h.
	(nis_server_cache, nis_server_cache_lock, nis_cold_start_mtime): New
	variables.
	(nis_server_cache_search, nis_server_cache_add): New functions.
	(__nisfind_server): Use them.  Add dbp and flags argument, if
	call __nisbind_create.
	(__nisbind_create): Add server_used and current_ep arguments,
	only call __nis_findfastest if server_used is ~0.
	(__do_niscall2, __prepare_niscall): Adjust callers.
	(ckey_cache, ckey_cache_size, ckey_cache_allocated, ckey_cache_pid,
	ckey_cache_euid, ckey_cache_lock): New variables.
	(get_ckey): New function.
	(__nisbind_connect): If not dbp->use_udp, pass IPPROTO_TCP to
	__pmap_getnisport.  Save __pmap_getnisport result in
	dbp->addr.sin_port if non-zero.  Use get_ckey to create conversation
	key.
	* nis/nis_lookup.c (nis_lookup): Likewise.
	* nis/nis_table.c (nis_list): Likewise.
	* nis/rpcsvc/nislib.h (__nisbind_create, __nisfind_server): Adjust
	prototypes.

	* nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_getpwnam_r,
	_nss_nisplus_getpwuid_r): Pass USE_DGRAM flag to nis_list.
	* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_getservbyname_r,
	_nss_nisplus_getservbyport_r): Likewise.
	* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyname_r,
	_nss_nisplus_getnetbyaddr_r): Likewise.
	* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_getspnam_r): Likewise.
	* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r,
	_nss_nisplus_getntohost_r): Likewise.
	* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbyname_r,
	_nss_nisplus_getrpcbynumber_r): Likewise.

2007-03-20  Jakub Jelinek  <jakub@redhat.com>

	* configure.in (libc_cv_gnu89_inline): Only do compile test.
	* configure: Rebuilt.

	* soft-fp/double.h (_FP_UNION_D): Use _FP_W_TYPE for frac
	bit-fields.
	* soft-fp/extended.h (_FP_UNION_E): Likewise.

2006-06-07  Joseph Myers  <joseph@codesourcery.com>

	[BZ #2831]
	* soft-fp/quad.h (_FP_UNION_Q): Use _FP_W_TYPE for frac
	bit-fields.

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

	* nscd/gai.c: Include alloca.h.
	(__libc_use_alloca): Define.

2007-03-16  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-open.c (dl_open_worker): Declare l in 2 different
	smaller scopes.
	* elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument.
	(DL_DST_REQUIRED): Adjust user.

	* include/dlfcn.h (struct link_map): New forward decl.

	* inet/getnameinfo.c: Include stddef.h.
	(getnameinfo): Use offsetof.

	* time/tst-mktime2.c (do_test): Don't rely on signed wrap.

	* stdio-common/vfprintf.c (_itoa): Undef before redefining.

	* string/strerror_l.c: Include stdlib.h.

	* configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
	* config.make.in (gnu89-inline-CFLAGS): New variable.
	* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
	-std=gnu99.
	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define.
	* argp/argp.h: Use it.
	* bits/mathinline.h: Likewise.
	* bits/sigset.h: Likewise.
	* bits/string.h: Likewise.
	* ctype/ctype.h: Likewise.
	* hurd/hurd.h: Likewise.
	* hurd/hurd/fd.h: Likewise.
	* hurd/hurd/port.h: Likewise.
	* hurd/hurd/signal.h: Likewise.
	* hurd/hurd/threadvar.h: Likewise.
	* hurd/hurd/userlink.h: Likewise.
	* io/sys/stat.h: Likewise.
	* libio/bits/stdio.h: Likewise.
	* libio/bits/stdio2.h: Likewise.
	* mach/lock-intern.h: Likewise.
	* mach/mach/mig_support.h: Likewise.
	* math/bits/cmathcalls.h: Likewise.
	* posix/bits/unistd.h: Likewise.
	* socket/bits/socket2.h: Likewise.
	* stdlib/bits/stdlib.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/bits/string2.h: Likewise.
	* string/bits/string3.h: Likewise.
	* sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
	* sysdeps/generic/inttypes.h: Likewise.
	* sysdeps/generic/machine-lock.h: Likewise.
	* sysdeps/generic/machine-sp.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/i386/i486/bits/string.h: Likewise.
	* sysdeps/ia64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/mach/alpha/machine-lock.h: Likewise.
	* sysdeps/mach/alpha/machine-sp.h: Likewise.
	* sysdeps/mach/i386/machine-lock.h: Likewise.
	* sysdeps/mach/powerpc/machine-lock.h: Likewise.
	* sysdeps/mach/powerpc/machine-sp.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/s390/bits/string.h: Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* wcsmbs/bits/wchar2.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* stdlib/gmp.h: Likewise.  Include <features.h> to get
	__extern_inline definition.

2007-03-15  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is
	NULL.

	[BZ #3919]
	* math/libm-test.inc (log_test): Test -Inf and NaN.
	(log10_test, log1p_test, log2_test): Test -Inf.
	* sysdeps/i386/fpu/e_log.S (__ieee754_log): Don't raise
	FE_INVALID when argument is qNaN.
	* sysdeps/i386/fpu/e_logl.S (__ieee754_logl): Likewise.
	* sysdeps/i386/fpu/e_logf.S (__ieee754_logf): Likewise.
	* sysdeps/x86_64/fpu/e_logl.S (__ieee754_logl): Likewise.
	* sysdeps/x86_64/fpu/e_log10l.S (__ieee754_log10l): Replace
	andb $1, %ah with testb $1, %ah, don't test for parity, instead
	testb $4, %ah and jump if non-zero.
	* sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Likewise.
	* sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Likewise.

	[BZ #4101]
	* argp/argp-help.c (hol_cluster_cmp): Fix comparisons used to find
	ancestors with the same depths.
	Patch by Niels Moeller <nisse@lysator.liu.se>.
	(filter_doc): Don't crash if argp is NULL.
	* argp/Makefile (tests): Add tst-argp2.
	* argp/tst-argp2.c: New test.

	[BZ #4130]
	* login/utmp_file.c (setutent_file): Use O_LARGEFILE for
	open_not_cancel_2.
	(updwtmp_file): Likewise.

	[BZ #4181]
	* inet/inet6_opt.c (add_padding): Only insert padding if npad > 0.
	(inet6_opt_append): Don't check extlen is big enough if extbuf
	is NULL.
	(inet6_opt_finish): Likewise.
	* inet/Makefile (tests): Add test-inet6_opt.
	* inet/test-inet6_opt.c: New test.

	* sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Never
	reallocate the buffer, instead fail for MSG_TRUNC or for EBUSY
	NLMSG_ERR.  Instead use a page sized buffer.
	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Use page sized
	buffer.

2007-03-14  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/fpu/s_llround.c: New file.
	* sysdeps/alpha/fpu/s_llroundf.c: New file.
	* sysdeps/alpha/fpu/s_lround.c: New file.
	* sysdeps/alpha/fpu/s_lroundf.c: New file.
	* sysdeps/alpha/fpu/s_round.c: New file.
	* sysdeps/alpha/fpu/s_roundf.c: New file.
	* sysdeps/alpha/fpu/s_trunc.c: New file.
	* sysdeps/alpha/fpu/s_truncf.c: New file.

	* sysdeps/alpha/fpu/s_ceil.c: Rewrite without branches.
	* sysdeps/alpha/fpu/s_ceilf.c: Likewise.
	* sysdeps/alpha/fpu/s_floor.c: Likewise.
	* sysdeps/alpha/fpu/s_floorf.c: Likewise.
	* sysdeps/alpha/fpu/s_rint.c: Likewise.
	* sysdeps/alpha/fpu/s_rintf.c: Likewise.

	* sysdeps/alpha/fpu/s_fmax.S: New file.
	* sysdeps/alpha/fpu/s_fmaxf.S: New file.
	* sysdeps/alpha/fpu/s_fmin.S: New file.
	* sysdeps/alpha/fpu/s_fminf.S: New file.
	* sysdeps/alpha/fpu/s_isnan.c: New file.
	* sysdeps/alpha/fpu/s_isnanf.c: New file.
	* sysdeps/alpha/fpu/s_llrint.c: New file.
	* sysdeps/alpha/fpu/s_llrintf.c: New file.
	* sysdeps/alpha/fpu/s_lrint.c: New file.
	* sysdeps/alpha/fpu/s_lrintf.c: New file.
	* sysdeps/alpha/fpu/s_nearbyint.c: New file.
	* sysdeps/alpha/fpu/s_nearbyintf.c: New file.

	* sysdeps/alpha/fpu/bits/mathinline.h (__floorf, __floor): Remove.
	(__fdimf, fdimf, __fdim, fdim): Remove.
	(__signbitf, __signbit, __signbitl): Use gcc builtin if available.
	(__isnanf, __isnan, __isnanl): New.

2007-03-13  Richard Henderson  <rth@redhat.com>

	* sysdeps/ieee754/ldbl-128/Makefile: New file.

2007-03-13  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/Makefile (sysdep-CFLAGS): Force dynamic rounding.
	* sysdeps/alpha/fpu/bits/mathinline.h (__signbitl): New.
	* sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
	* sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies: New file.
	* sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.

2007-03-13  Richard Henderson  <rth@redhat.com>

	* elf/dl-support.c (_dl_aux_init): Honor DL_PLATFORM_AUXV.
	* sysdeps/unix/sysv/linux/alpha/dl-auxv.h: New file.
	* sysdeps/unix/sysv/linux/alpha/dl-support.c: New file.
	* sysdeps/unix/sysv/linux/alpha/dl-sysdep.c (__libc_alpha_cache_shape):
	Move to dl-auxv.h; initialize instead of extern weak.
	(DL_PLATFORM_AUXV): Move to dl-auxv.h; don't test for undef
	weak symbol.
	* sysdeps/unix/sysv/linux/alpha/sysconf.c (__libc_alpha_cache_shape):
	Extern instead of initialized.

2007-03-13  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add support for
	__sigsuspend_nocancel.

2007-03-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (get_scope): Correct test for
	172.16/12 address range.

2007-03-02  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Retry with
	a new netlink socket if NLMSG_ERR -EBUSY is seen after some MSG_TRUNC
	message.

2007-03-01  Jakub Jelinek  <jakub@redhat.com>

	[BZ #4069]
	* sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Check for NaN
	earlier.
	* math/libm-test.inc (pow_test): Add more tests involving NaNs.

	* sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Avoid invalid exception
	for x qNaN and y either +-inf or non-integer value.
	* sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Likewise.
	* sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
	* sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.

2007-02-10  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/unix/sysv/linux/sh/Makefile: Remove sys/io.h
	from sysdep_headers.

2007-02-28  Jakub Jelinek  <jakub@redhat.com>

	* time/tzfile.c (find_transition): Instead of a linear search try to
	guess the transition index, use a linear search if the result is at
	most 10 transitions away from the guess or binary search otherwise.

2007-02-27  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_request): Fix
	memory reallocation.

2007-02-21  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Add branch predictions
	and fix some typos.
	Optimize use of TOLOWER.

	[BZ #3325]
	* sysdeps/i386/fpu/e_fmodf.S: Revert last changes, keep using fprem.
	* sysdeps/i386/fpu/e_fmodl.c: Likewise.
	* sysdeps/i386/fpu/e_fmod.S: Likewise.

	[BZ #3458]
	* sysdeps/unix/sysv/linux/posix_madvise.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list: Remove posix_madvise entry.

	[BZ #4076]
	* io/ftw.c (ftw_startup): Handle special case of FTW_CHDIR in /.
	(open_dir_stream): Likewise.
	* io/Makefile (tests): Add bug-ftw5.
	* io/bug-ftw5.c: New file.

	* nscd/hstcache.c (cache_addhst): Remove unnecessary conditional.
	* nscd/servicescache.c (cache_addserv): Likewise.

	* nscd/grpcache.c (cache_addgr): In case a record changed on
	refresh, adjust key_copy.

	[BZ #4074]
	* nscd/pwdcache.c (cache_addpw): In case a record changed on
	refresh, adjust key_copy.

	[BZ #4070]
	* stdio-common/printf_fp.c (___printf_fp): Handle a few more
	special cases.
	* stdio-common/tfformat.c (sprint_doubles): Some more tests.

2007-02-19  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/printf_fp.c (___printf_fp): Cleanups and minor
	optimization.

	* stdio-common/vfscanf.c: Small cleanups throughout.

2007-02-18  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3325]
	* sysdeps/i386/fpu/e_fmodf.S: Use fprem1 instead of fprem.
	* sysdeps/i386/fpu/e_fmodl.c: Likewise.
	* sysdeps/i386/fpu/e_fmod.S: Likewise.
	Patch by Jared Casper <jaredcasper@gmail.com>.

	* sysdeps/unix/closedir.c: Outside libc don't use locking.
	* sysdeps/unix/opendir.c: Likewise.
	* sysdeps/unix/readdir.c: Likewise.

	[BZ #2211]
	* stdio-common/vfscanf.c: Handle localized digits etc for floating
	point numbers.
	Patch mostly by Hamed Malek <hamed@farsiweb.info>.

	* stdio-common/vfscanf.c: Fix problems in width accounting.
	* stdio-common/tst-sscanf.c (double_tests): New tests.
	(main): Hook them up.

	* stdio-common/vfscanf.c: Remove unused WIDTH handling.
	More simplifications of floating-point reader.

	* stdio-common/Makefile (tests): Add tst-swscanf.
	* stdio-common/tst-sscanf.c: Make tests usable for swscanf
	testing.
	* stdio-common/tst-swscanf.c: New file.

2007-02-17  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2633]
	* libio/stdio.h: Define struct _IO_FILE in global namespace.
	* setjmp/setjmp.h: Define __jmp_buf_tag in global namespace.
	Remove using for __jmp_buf_tag.
	* locale/locale.h (struct lconv): Also define in std namespace.
	* wcsmbs/wchar.h: Move using declaration for tm out of namespace.

	[BZ #3842]
	* sysdeps/posix/euidaccess.c [_LIBC] (euidaccess): Remove shortcut
	using __libc_enable_secure.

	[BZ #3818]
	* sysdeps/unix/sysv/linux/sys/acct.h (struct acct_v3): Define.

	[BZ #3745]
	* locale/programs/ld-collate.c (handle_ellipsis): Fix generation
	of names for ellipsises.

	[BZ #3348]
	* malloc/memusage.sh: Cleanups.
	* debug/xtrace.sh: Quoting and trap changes.

2007-02-16  Ulrich Drepper  <drepper@redhat.com>

	* locale/iso-3166.def: Add Jersey, Guernsey, and Isle Of Man entries.

	* locale/iso-3166.def: Update entry for Serbia.
	* locale/iso-4217.def: Define RSD, remove CSD.

	* sysdeps/x86_64/bits/atomic.h: One more change, this time for 16-
	and 64-bit operations.

	[BZ #4040]
	* sysdeps/i386/i486/bits/atomic.h: One more change, this time for
	16-bit operations.

	* nscd/nscd.c (parse_opt): One more conversion to use send instead
	of writev.

2007-02-15  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3991]
	* assert/assert.h (assert): Simplify.
	(assert_perror): Likewise.
	Patch by Israel G. Lugo <ilugo@bridonsecurity.com>.

	* nscd/nscd_helper.c (open_socket): Don't send padding bytes from
	reqdata.

	* sysdeps/unix/sysv/linux/x86_64/send.c (__libc_send): Cosmetic
	change: don't pass NULL in place of an integer.

2007-02-02  Bruno Haible  <bruno@clisp.org>

	[BZ #3954]
	* iconvdata/ksc5601.c (__ksc5601_sym_to_ucs, __ksc5601_sym_from_ucs):
	Add mapping for U+327E.
	* iconvdata/ksc5601.h (KSC5601_SYMBOL): Increment.
	* iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
	mapping of 0xD9 0xE8.
	* iconvdata/uhc.c (BODY for FROM_LOOP, BODY for TO_LOOP): Disable
	mapping of U+327E.
	Reported by Jungshik Shin <jungshik@google.com>.

	[BZ #3955]
	* iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
	mapping of 0xD9 0xE6 and of 0xD9 0xE7.
	Reported by Jungshik Shin <jungshik@google.com>.

2007-02-14  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/x86_64/bits/atomic;h: Fix asm parameters for some
	byte variants.

	[BZ #4040]
	* sysdeps/i386/i486/bits/atomic.h: Fix asm parameters for some
	byte variants.  Patch mostly be tom@tommay.net.

2007-02-14  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3996]
	* posix/glob.c (attribute_hidden): Define if not defined.
	(glob): Unescape dirname, filename or username when needed and not
	GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
	is NULL.  Handle unescaped [ in pattern without closing ].
	Don't pass GLOB_CHECK down to recursive glob for directories.
	(__glob_pattern_type): New function.
	(__glob_pattern_p): Implement using __glob_pattern_type.
	(glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
	characters and backslashes if not GLOB_NOESCAPE or unterminated [.
	Remove unreachable code.
	* posix/globtest.sh: Add a couple of new tests.

2007-02-13  Ulrich Drepper  <drepper@redhat.com>

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

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

	* sysdeps/i386/bits/byteswap.h (__bswap_32): Add __amdfam10__
	to the list of i486+ CPUs.
	* sysdeps/x86_64/bits/byteswap.h (__bswap_32): Likewise.

2007-02-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c (RESOLVE_MAP): Always return bootstrap_map reference.
	* elf/Makefile ($(objpfx)ld.so): Check that ld.so has no undefined
	references.

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

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Remove incorrect comment.

	* resolv/res_init.c (res_setoptions): Recognize edns0 option.
	* resolv/res_mkquery.c: Define __res_nopt.
	* resolv/res_query.c (__libc_res_nquery): If RES_USE_EDNS0 is set
	try adding EDNS0 record.
	* resolv/res_send.c (send_dg): If request failed with FORMERR and
	EDNS0 record was send make sure we don't try it again.
	* resolv/resolv.h: Define RES_F_EDNS0ERR and RES_USE_EDNS0.
	* include/resolv.h: Declare __res_nopt.

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

	[BZ #3944]
	* time/strptime_l.c (__strptime_internal): Set have_mon for
	%b/%B/%h.  Set have_mon and have_mday if tm_mon and tm_mday
	have been computed from tm_yday and tm_year.  Don't crash
	in day_of_the_week or day_of_the_year if not have_mon
	and tm_mon contains bogus value.
	* time/Makefile (tests): Add tst-strptime3.
	* time/tst-strptime3.c: New test.

2007-02-05  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3957]
	* posix/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
	bit for RE_HAT_LISTS_NOT_NEWLINE.
	(build_charclass_op): Remove bogus comment.
	* posix/Makefile (tests): Add bug-regex27 and bug-regex28.
	* posix/bug-regex27.c: New test.
	* posix/bug-regex28.c: New test.

2007-02-03  Ulrich Drepper  <drepper@redhat.com>

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

2007-02-02  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_helper.c (open_socket): Minor size optimization.

2007-02-02  Jakub Jelinek  <jakub@redhat.com>

	* include/locale.h (__uselocale): Add libc_hidden_proto.
	* locale/uselocale.c (__uselocale): Add libc_hidden_def.

	* nscd/nscd_helper.c (open_socket): Use __gettimeofday instead of
	gettimeofday.

2007-02-01  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysdep.h (PTR_MANGLE): Roll value before
	returning.
	(PTR_DEMANGLE): Real definition now that it's not the same as
	PRT_MANGLE anymore.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.

	* string/strerror_l.c: New file.
	* string/Makefile (routines): Add strerror_l.
	* string/string.h: Declare strerror_l.
	* string/Versions: Export strerror_l for GLIBC_2.6.

2007-01-31  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_helper.c (open_socket): Now takes request type and key
	as parameter.  Construct request record.  Try sending request
	before the first poll use, it usually succeeds.  Adjust all
	callers.
	* nscd/nscd-client.h: Define MAXKEYLEN.
	* nscd/connections.c (nscd_run): Don't define MAXKEYLEN here.

2007-01-31  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd-client.h (__nscd_cache_search): Remove const qualifier
	from return value.
	* nscd/nscd_helper.c: Include string.h.
	(__nscd_cache_search): Remove const qualifier from return value.
	On strict alignment architectures check hash entry and data head
	alignment.
	* nscd/nscd_getpw_r.c (nscd_getpw_r): Don't crash or fail because
	mmapped data during GC cycle contains garbage.  If
	__nscd_drop_map_ref fails, decrement mapped->counter when returning
	error or if retrying with NO_MAPPING, only __nscd_unmap if counter
	dropped to 0.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
	* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
	* nscd/nscd_getai.c (__nscd_getai): Likewise.
	* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.

2007-01-30  Ulrich Drepper  <drepper@redhat.com>

	* misc/hsearch_r.c (hdestroy_r): Remove unnecessary test.

2007-01-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Use register
	names not numbers in cfi_*.

2007-01-26  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/sys/personality.h (ADDR_NO_RANDOMIZE,
	ADDR_LIMIT_3GB, PER_LINUX_32BIT, PER_LINUX32_3GB): Add.
	Correct values of PER_HPUX and PER_OSF4.

2007-01-24  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-minimal.c: Undefine _itoa first.
	* stdio-common/_itoa.h: Define _itoa and _fitoa for 64-bit platforms.
	* malloc/mtrace.c: Revert last change.
	* posix/wordexp.c: Likewise.

2007-01-24  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/bits/byteswap.h (__bswap_32): Add __nocona__, __core2__
	and __geode__ to the list of i486+ CPUs.
	* sysdeps/x86_64/bits/byteswap.h (__bswap_32): Likewise.

2007-01-23  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/_itoa.c: Include <limits.h>.
	* stdio-common/_itowa.c: Likewise.

2007-01-22  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/_itowa.c: Don't compile _itowa for 64-bit
	platforms.
	* stdio-common/_itoa.c: Don't compile in _itoa and _fitoa for
	64-bit platforms.
	* malloc/mtrace.c (tr_where): Use _fitoa_word instead of _fitoa if
	possible.
	* posix/wordexp.c (parse_arith): Use _itoa_word instead of _itoa
	if possible.

	[BZ #3902]
	* stdio-common/_itoa.c (_itoa): Make sure at least a zero is emitted.
	* stdio-common/Makefile (tests): Add bug17.
	* stdio-common/bug17.c: New file.

2007-01-19  Ulrich Drepper  <drepper@redhat.com>

	* iconvdata/brf.c: New file.
	* iconvdata/testdata/BRF: New file.
	* iconvdata/testdata/BRF..UTF8: New file.
	Contributed by Samuel Thibault <samuel.thibault@ens-lyon.org>.
	* iconvdata/Makefile: Add rules to build BRF.
	* iconvdata/TESTS: Add BRF entry.
	* iconvdata/gconv-modules: Likewise.
	* iconvdata/tst-tables.sh: Likewise.

2007-01-18  Anton Nikishaev  <anton.nik@gmail.com>

	* wcsmbs/wchar.h (wcstoll): Fix comment, function returns value of
	type `long long int', not `long int'.
	(wcstoq): Likewise.

2007-01-18  Ulrich Drepper  <drepper@redhat.com>

	* scripts/gen-as-const.awk: Add cast to long to avoid int promotion
	of values on 64-bit platforms which are too large.

2007-01-12  Steven Munroe  <sjmunroe@us.ibm.com>
	    Joe Kerian  <jkerian@us.us.ibm.com>

	[BZ #2749]
	* sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: Include
	<math_ldbl_opt.h>.  Remove weak_alias.  Use long_double_symbol macro.
	(__copysignl): Use signbit() for comparison.
	* sysdeps/ieee754/ldbl-128ibm/s_fabsl.c (__fabsl): Correct parms for
	SET_LDOUBLE_WORDS64.

	[BZ #2423, #2749]
	* sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Don't include <fenv_libc.h>.
	(__ceill): Remove calls to fegetround(), fesetround().
	* sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise.

2007-01-17  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd_getserv_r.c (nscd_getserv_r): Fix pastos.

	* sysdeps/unix/sysv/linux/getdents.c (offsetof): Remove.

2007-01-17  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/fatal-prepare.h: Use PTHFCT_CALL to
	demangle pointer.
	* csu/libc-start.c: Likewise.

2007-01-16  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/system.c: Remove NO_WAITPID support, it cannot
	really work anyway.

2007-01-15  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (servinfo): Renamed to reqinfo.  Change all
	users.
	(handle_request): Remove unnecessary tests.

	* nscd/cache.c (cache_add): Record the failure to add to the cache.

2007-01-15  Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/op-common.h (FP_TRUNC): When truncating a NaN, clear
	workbits in semi-raw fraction.

	* math/test-misc.c: Add new tests.

2007-01-14  Steven Munroe  <sjmunroe@us.ibm.com>

	* math/basic-test.c: Include test-skeleton.c.
	(TEST_TRUNC): Define.
	(truncdfsf_test, trunctfsf_test, trunctfdf_test): New.
	(main): Rename to ...
	(do_test): ...this.  Run new tests.
	(TEST_FUNCTION): Define.

2006-10-05  Steven Munroe  <sjmunroe@us.ibm.com>
	    Joe Kerian  <jkerian@us.us.ibm.com>

	[BZ #2749]
	* soft-fp/op-4.h (__FP_FRAC_SUB_3, __FP_FRAC_SUB_4): Correct borrow
	handling for high words.
	* soft-fp/op-common.h (_FP_OVERFLOW_SEMIRAW): Always set inexact
	and overflow for infinity.

2007-01-15  Ulrich Drepper  <drepper@redhat.com>

	* nscd/connections.c (handle_request): Add a __builtin_expect.

	* nscd/connections.c (serv2db): Change type into structure which
	also says whether this is a request for data.  Renamed to
	servinfo.  All users changed.
	(handle_request): Much simpler test whether we should search the cache.

	* nscd/connections.c (handle_request): Fix thinko in selinux test
	invocation.

	* sysdeps/generic/ldsodefs.h: Define DL_LOOKUP_SCOPE_LOCK.
	* elf/dl-lookup.c (add_dependency): If scope map is locked, unlock
	it before getting dl_load_lock and then relock.
	(_dl_lookup_symbol_x): Pass flags to add_dependency.
	When rerunning _dl_lookup_symbol_x, compute symbol_scope again in
	case we unlocked the scope.
	* elf/dl-runtime.c (_dl_fixup): Pass DL_LOOKUP_SCOPE_LOCK to
	_dl_lookup_symbol_x in case we locked the scope.
	(_dl_profile_fixup): Likewise.
	* elf/dl-sym.c (do_sym): In flags passed to call_dl_lookup, also
	set DL_LOOKUP_SCOPE_LOCK.

2007-01-13  Ulrich Drepper  <drepper@redhat.com>

	* inet/Makefile: Define CFLAGS-getsrvbynm_r.c and
	CFLAGS-getsrvbynpt_r.c.
	* nscd/getsrvbynm_r.c: New file.
	* nscd/getsrvbypt_r.c: New file.
	* nscd/nscd_getserv_r.c: New file.
	* nscd/servicescache.c: New file.
	* nscd/Makefile (routines): Add nscd_getserv_r.
	(nscd-modules): Add getsrvbynm_r, getsrvbypt_r, and servicescache.
	Define CFLAGS-servicescache.c, CFLAGS-getsrvbynm_r.c, and
	CFLAGS-getsrvbypt_r.c.
	* nscd/cache.c (prune_cache): Rewrite to get re-add function from
	table.  Add entries for services database.
	* nscd/connections.c (serv2str): Mark as const.  Add entries for
	services database.
	(dbs): Add .reset_res and servdb initialization.
	(serv2db): Add entries for services database.
	(verify_persistent_db): Accept dbnr == servdb.
	(invalidate_cache): Rewrite database name recognition to use a table.
	Call res_init() if .reset_res is set for database.
	(handle_request): Add code to handle services database.
	* nscd/gai.c: Don't define __getservbyname_r.
	* nscd/nscd-client.h (request_type): Remove LASTDBREQ, add
	GETSERVBYNAME, GETSERVBYPORT, GETFDSERV.
	(serv_response_header): Define.
	(struct datahead): Add serv_response_header member.
	* nscd/nscd.c (parse_opt): Rewrite parsing of -i parameter value
	using table.
	* nscd/nscd.conf: Add entries for services database.
	* nscd/nscd.h: Adjust declaration of dbnames and serv2str.
	Declare serv_iov_disabled.
	Declare addservbyname, readdservbyname, addservbyport, and
	readdservbyport.
	* nscd/nscd_conf.c (dbnames): Mark as const.  Add services entry.
	(find_db): Fix error message.
	* nscd/nscd_proto.h: Declare __nss_not_use_nscd_services,
	__nscd_getservbyname_r, and __nscd_getservbyport_r.
	* nscd/selinux.c (perms): Add entries for services database.
	* nss/Versions: Export __nss_services_lookup with GLIBC_PRIVATE.
	* nss/nsswitch.c (__nss_disable_nscd): Also disable services database.

	* nscd/grpcache.c: Remove obsolete code.  Cleanups.
	* nscd/hstcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.

	* nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): Correct
	computation of keylen.

	* include/string.h: Only redefine strndupa if this is really for
	libc code.

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

	* nscd/nscd_gethst_r.c: Minor cleanups.

	* nscd/connections.c (handle_request): Check selinux permissions
	for all non-admin commands.

	* sysdeps/i386/i486/bits/atomic.h: Define
	atomic_compare_and_exchange_val_acq,
	atomic_compare_and_exchange_bool_acq, and atomic_exchange_and_add
	using __sync_* built-ins for gcc >= 4.1.
	* sysdeps/x86_64/bits/atomic.h: Likewise.

	[BZ #3840]
	* scripts/check-local-headers.sh: Restrict to testing .o.d, .os.d,
	and .oS.d files.

2007-01-05  Steven Munroe  <sjmunroe@us.ibm.com>

	* stdlib/tst-makecontext.c: Include errno.h.  Change main()
	to do_test().  Define TEST_FUNCTION. Include test-skeleton.c.
	(do_test): Check errno and exit(0) if ENOSYS.

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

	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix handling of multi-byte
	thousands separators.
	* stdlib/Makefile: Add rules to build and run tst-strtod4.
	* stdlib/tst-strtod4.c: New test.

	[BZ #3855]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): 0x. not followed by
	hexadecimal digit should accept just the initial 0.
	* stdlib/tst-strtod2.c (tests): New variable.
	(do_test): Run several tests rather than just one.

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

	* sysdeps/i386/soft-fp/sfp-machine.h: Remove.
	* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.

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

	* io/fts.c: Make sure fts_cur is always valid after return from
	fts_read.
	Patch by Miloslav Trmac <mitr@redhat.com>.

2006-10-27  Richard Sandiford  <richard@codesourcery.com>

	* elf/elf.h (R_MIPS_GLOB_DAT): Define.
	(R_MIPS_NUM): Bump by 1.

2007-01-03  Jakub Jelinek  <jakub@redhat.com>

	* posix/execvp.c: Include alloca.h.
	(allocate_scripts_argv): Renamed to...
	(scripts_argv): ... this.  Don't allocate buffer here nor count
	arguments.
	(execvp): Use alloca if possible.
	* posix/Makefile: Add rules to build and run tst-vfork3 test.
	* posix/tst-vfork3.c: New test.

2007-01-03  Ulrich Drepper  <drepper@redhat.com>

	* string/Makefile (tst-strxfrm2-ENV): Define.
	* stdlib/Makefile (tst-strtod3-ENV): Define.

2007-01-02  Ulrich Drepper  <drepper@redhat.com>

	* posix/getconf.c: Update copyright year.
	* nss/getent.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* catgets/gencat.c: Likewise.
	* csu/version.c: Likewise.
	* elf/ldd.bash.in: Likewise.
	* elf/sprof.c (print_version): Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* nscd/nscd.c (print_version): Likewise.
	* debug/xtrace.sh: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/mtrace.pl: Likewise.
	* debug/catchsegv.sh: Likewise.

2006-12-24  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
	attempts.

2006-12-23  Ulrich Drepper  <drepper@redhat.com>

	* posix/wordexp.c: Remove some unnecessary tests.

2006-12-22  Gavin Romig-Koch  <gavin@redhat.com>

	* nis/nss_compat/compat-grp.c (internal_getgrgid_r): Don't
	blacklist the group till after we look it up.

2006-12-21  Ulrich Drepper  <drepper@redhat.com>

	* include/atomic.h (atomic_forced_read): New macro.

2006-12-20  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

	* sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.

2006-12-19  Jakub Jelinek  <jakub@redhat.com>

	* nss/getXXbyYY_r.c: Include atomic.h.
	(INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
	add atomic_write_barrier () in between.

	* stdlib/Makefile (tests): Add tst-makecontext.
	* stdlib/tst-makecontext.c: New test.

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
	(__makecontext): Don't realign uc_mcontext.uc_regs.

2006-11-28  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-support.c: Include dl-procinfo.h.
	* sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
	PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
	PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
	Define.
	(_dl_string_platform): Use PPC_PLATFORM_* macros instead of
	hardcoded constants.
	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
	PPC_PLATFORM_* macros for array designators.

2006-11-11  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
	names to the beginning.
	(_dl_powerpc_platforms): Add "power6x".
	* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
	(HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
	(_DL_PLATFORMS_COUNT): Increase.
	(_dl_string_platform): Handle power6x case.
	* sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
	PPC_FEATURE_POWER6_EXT): Define.
	(PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.

2006-12-18  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3747]
	* stdlib/jrand48_r.c (__jrand48_r): Make sure result is in the
	[-2^31 .. 2^31) range.
	* stdlib/tst-rand48.c (main): Fix expected values for 64-bit
	targets.
	* stdlib/tst-rand48-2.c: New test.
	* stdlib/Makefile (tests): Add tst-rand48-2.

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

	* misc/tst-pselect.c (do_test): Fix sigblock argument.

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

	* misc/tst-pselect.c (do_test): Make sure the helper process is
	terminating when the test is aborted.

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

	* sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
	* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
	Handle relatime mount option.

	[BZ #2337]
	* libio/Makefile (tests): Add tst-setvbuf1.
	* libio/tst-setvbuf1.c: New file.

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

	[BZ #2337]
	* libio/genops.c (__uflow): Fix a typo.
	* libio/wfiledoalloc.c (_IO_wfile_doallocate): Don't stat
	nor set _IO_LINE_BUF bit here.  Size the wide buffer based on
	the narrow buffer size.

2006-11-24  Jakub Jelinek  <jakub@redhat.com>

	[BZ #2337]
	* libio/libio.h (_IO_FLAGS2_USER_WBUF): Define.
	* libio/wgenops.c (_IO_wsetb, _IO_wdefault_finish): Test and set
	_IO_FLAGS2_USER_WBUF bit in _flags2 instead of _IO_USER_BUF bit
	in _flags.
	* libio/wstrops.c (_IO_wstr_overflow, enlarge_userbuf,
	_IO_wstr_finish): Likewise.
	* libio/wmemstream.c (open_wmemstream): Likewise.
	* libio/fileops.c (_IO_new_file_close_it): Call _IO_set[bgp]
	even for wide streams.

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

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
	kernel-features.h.

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

	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
	separators also if no non-zero digits found.
	* stdlib/Makefile (tests): Add tst-strtod3.

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

	[BZ #3632]
	* include/features.h: Fix comment about default value for
	_POSIX_C_SOURCE.

	[BZ #3664]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
	empty parsed strings.
	* stdlib/Makefile (tests): Add tst-strtod2.
	* stdlib/tst-strtod2.c: New file.

	[BZ #3673]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
	computation.
	* stdlib/Makefile (tests): Add tst-atof2.
	* stdlib/tst-atof2.c: New file.

	[BZ #3674]
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
	correctly if removing trailing zero of hex-float.
	* stdlib/Makefile (tests): Add tst-atof1.
	* stdlib/tst-atof1.c: New file.

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

	* misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
	Start searching for next comma at p rather than rest.
	* misc/Makefile (tests): Add tst-mntent2.
	* misc/tst-mntent2.c: New test.

	* misc/getusershell.c (initshells): Check for integer overflows.
	Make strings buffer one bigger as fgets always succeeds when second
	argument is 1.  Don't use calloc for shells array.  Disallow
	/ as shell.

2006-12-08  Ulrich Drepper  <drepper@redhat.com>

	* malloc/memusage.c: Handle realloc with new size of zero and
	non-NULL pointer correctly.
	(me): Really write first record twice.
	(struct entry): Make format bi-arch safe.
	(dest): Write out more realloc statistics.
	* malloc/memusagestat.c (struct entry): Make format bi-arch safe.

2006-12-05  Jakub Jelinek  <jakub@redhat.com>

	* nis/nis_subr.c (nis_getnames): Revert last change.

2006-12-04  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ttyname.c: Include termios.h.
	(ttyname): Use tcgetattr instead of isatty, don't set errno to ENOTTY.
	* sysdeps/unix/sysv/linux/ttyname_r.c: Include termios.h.
	(__ttyname_r): Use tcgetattr instead of isatty, don't set errno to
	ENOTTY.
	* io/Makefile: Add rules to build and run tst-ttyname_r test.
	* io/tst-ttyname_r.c: New test.

2006-12-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.

2006-11-30  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/memcmp.S: Use jump table as the base of
	jump table entries.

2006-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
	`clone' function to ensure proper unwinding stop of gdb.
	* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.

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

	* nscd/nscd.init: Remove obsolete and commented-out -S option
	handling.

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

	[BZ #3514]
	* manual/string.texi (strncmp): Fix pastos from wcscmp description.

	[BZ #3515]
	* manual/string.texi (strtok): Remove duplicate paragraph.

2006-12-01  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
	libgcc not supporting `rflags' unwinding (register # >= 17).

2006-11-30  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
	succeeded.

2006-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
	unwind information.
	* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
	'restore_rt' even in the 'signal' directory.
	* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.

2006-11-27  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3559]
	* sunrpc/svc_run.c (svc_run): Fail instead of segfaulting if
	malloc crashed.  Don't allocate memory unnecessarily in each
	loop.

2006-10-21  Jakub Jelinek  <jakub@redhat.com>

	* resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.

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

	* resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.

2006-11-18  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
	__sysconf only after having tried to call getgroups32.

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

	* nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
	addresses for IPv4 queries if they can be mapped.

2006-11-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
	* sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
	(signmask): Add .size directive.
	(othermask): Add .type directive.

2006-11-14  Ulrich Drepper  <drepper@redhat.com>

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

	* timezone/zdump.c: Redo fix for BZ #3137.

2006-11-14  Jakub Jelinek  <jakub@redhat.com>

	* nss/nss_files/files-alias.c (get_next_alias): Set line back
	to first_unused after parsing :include: file.

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

	* timezone/africa: Update from tzdata2006o.
	* timezone/antarctica: Likewise.
	* timezone/asia: Likewise.
	* timezone/australasia: Likewise.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/iso3166.tab: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.

	* time/tzfile.c (__tzfile_read): Extend to handle new file format
	on machines with 64-bit time_t.

	* timezone/checktab.awk: Update from tzcode2006o.
	* timezone/ialloc.c: Likewise.
	* timezone/private.h: Likewise.
	* timezone/scheck.c: Likewise.
	* timezone/tzfile.h: Likewise.
	* timezone/tzselect.ksh: Likewise.
	* timezone/zdump.c: Likewise.
	* timezone/zic.c: Likewise.

	[BZ #3483]
	* elf/ldconfig.c (main): Call setlocale and textdomain.
	Patch mostly by Benno Schulenberg <bensberg@justemail.net>.

	[BZ #3480]
	* manual/argp.texi: Fix typos.
	* manual/charset.texi: Likewise.
	* manual/errno.texi: Likewise.
	* manual/filesys.texi: Likewise.
	* manual/lang.texi: Likewise.
	* manual/maint.texi: Likewise.
	* manual/memory.texi: Likewise.
	* manual/message.texi: Likewise.
	* manual/resource.texi: Likewise.
	* manual/search.texi: Likewise.
	* manual/signal.texi: Likewise.
	* manual/startup.texi: Likewise.
	* manual/stdio.texi: Likewise.
	* manual/sysinfo.texi: Likewise.
	* manual/syslog.texi: Likewise.
	* manual/time.texi: Likewise.
	Patch by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

	[BZ #3465]
	* sunrpc/clnt_raw.c: Minimal message improvements.
	* sunrpc/pm_getmaps.c: Likewise.
	* nis/nss_nisplus/nisplus-publickey.c: Likewise.
	* nis/nis_print_group_entry.c: Likewise.
	* locale/programs/repertoire.c: Likewise.
	* locale/programs/charmap.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* elf/dl-deps.c: Likewise.
	* locale/programs/ld-collate.c: Likewise.
	* libio/vswprintf.c: Likewise.
	* malloc/memusagestat.c: Likewise.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/rpc_main.c: Likewise.
	* nscd/cache.c: Likewise.
	* locale/programs/repertoire.c: Unify output messages.
	* locale/programs/charmap.c: Likewise.
	* locale/programs/ld-ctype.c: Likewise.
	* locale/programs/ld-monetary.c: Likewise.
	* locale/programs/ld-numeric.c: Likewise.
	* locale/programs/ld-time.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* nscd/selinux.c: Likewise.
	* elf/cache.c: Likewise.
	Patch mostly by Benno Schulenberg <bensberg@justemail.net>.

	[BZ #3451]
	* sysdeps/i386/fpu/bits/mathinline.h (floor): Make rounding mode
	change atomic.
	(ceil): Likewise.

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

	* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
	if N is one bigger than return value.
	* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
	and l1 last arguments, if buf is defined, verify the return value
	equals to strlen (buf) and verify no byte beyond passed length
	is modified.

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

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

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

	* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word): Add
	noinline attribute.

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

	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Add
	noinline attribute.

	* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
	Use __new_sys_siglist instead of _sys_siglist_internal as
	second macro argument.
	(_old_sys_siglist): Use declare_symbol_alias macro instead of
	strong_alias.

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

	[BZ #3493]
	* posix/unistd.h (sysconf): Remove const attribute.

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
	temporary or deprecated addresses.
	Patch by Sridhar Samudrala <sri@us.ibm.com>.

	* string/Makefile (tests): Add tst-strxfrm2.
	* string/tst-strxfrm2.c: New file.

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

	* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
	rather than r->r_brk.

2006-11-08  Jakub Jelinek  <jakub@redhat.com>

	* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
	optimization even if needed > n.

	* elf/dl-load.c (decompose_rpath): Return bool rather than void.
	If l->l_name is on inhibit_rpath list, set sps->dirs to -1 and
	return false, otherwise return true.
	(cache_rpath): Return decompose_rpath return value.

2006-11-07  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h (declare_symbol): Rename to...
	(declare_symbol_alias): ... this.  Add ORIGINAL argument, imply
	strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
	.size directive.
	* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
	changes.
	* sysdeps/gnu/siglist.c: Likewise.

2006-11-03  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/fpu/bits/mathinline.h
	[__LIBC_INTERNAL_MATH_INLINES]: Moved to ...
	* sysdeps/powerpc/fpu/math_private.h: ...here.  New file.

2006-11-05  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
	Update handling of cache descriptor 0x49 for new models.
	* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
	Likewise.

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

	* malloc/memusage.c (dest): Reset not_me back to false after
	printing statistics.

2006-11-02  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Work around ld --help change and avoid -z relro
	test completely if the architecture doesn't care about security.

2006-11-01  Ulrich Drepper  <drepper@redhat.com>

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

2006-10-31  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/atexit.c (atexit): Don't mark as hidden when used to
	generate compatibility version.

2006-10-29  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Relax -z relro requirement a bit.

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

2006-10-29  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
	* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
	* elf/dl-close.c (_dl_close_worker): Likewise.
	* elf/dl-open.c (_dl_open_worker): Likewise.
	* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.

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

	* configure.in: Require assembler support for visibility, compiler
	support for visibility and aliases, linker support for various -z
	options.
	* Makeconfig: Remove conditional code which now is unnecessary.
	* config.h.in: Likewise.
	* config.make.in: Likewise.
	* dlfcn/Makefile: Likewise.
	* elf/Makefile: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/libc-symbols.h: Likewise.
	* include/stdio.h: Likewise.
	* io/Makefile: Likewise.
	* io/fstat.c: Likewise.
	* io/fstat64.c: Likewise.
	* io/fstatat.c: Likewise.
	* io/fstatat64.c: Likewise.
	* io/lstat.c: Likewise.
	* io/lstat64.c: Likewise.
	* io/mknod.c: Likewise.
	* io/mknodat.c: Likewise.
	* io/stat.c: Likewise.
	* io/stat64.c: Likewise.
	* libio/stdio.c: Likewise.
	* nscd/Makefile: Likewise.
	* stdlib/Makefile: Likewise.
	* stdlib/atexit.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/i386/sysdep.h: Likewise.
	* sysdeps/i386/i686/memcmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.

	* Makerules: USE_TLS support is now default.
	* tls.make.c: Likewise.
	* csu/Versions: Likewise.
	* csu/libc-start.c: Likewise.
	* csu/libc-tls.c: Likewise.
	* csu/version.c: Likewise.
	* dlfcn/dlinfo.c: Likewise.
	* elf/dl-addr.c: Likewise.
	* elf/dl-cache.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-iteratephdr.c: Likewise.
	* elf/dl-load.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-reloc.c: Likewise.
	* elf/dl-support.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-sysdep.c: Likewise.
	* elf/dl-tls.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/tst-tls-dlinfo.c: Likewise.
	* elf/tst-tls1.c: Likewise.
	* elf/tst-tls10.h: Likewise.
	* elf/tst-tls14.c: Likewise.
	* elf/tst-tls2.c: Likewise.
	* elf/tst-tls3.c: Likewise.
	* elf/tst-tls4.c: Likewise.
	* elf/tst-tls5.c: Likewise.
	* elf/tst-tls6.c: Likewise.
	* elf/tst-tls7.c: Likewise.
	* elf/tst-tls8.c: Likewise.
	* elf/tst-tls9.c: Likewise.
	* elf/tst-tlsmod1.c: Likewise.
	* elf/tst-tlsmod13.c: Likewise.
	* elf/tst-tlsmod13a.c: Likewise.
	* elf/tst-tlsmod14a.c: Likewise.
	* elf/tst-tlsmod2.c: Likewise.
	* elf/tst-tlsmod3.c: Likewise.
	* elf/tst-tlsmod4.c: Likewise.
	* elf/tst-tlsmod5.c: Likewise.
	* elf/tst-tlsmod6.c: Likewise.
	* include/errno.h: Likewise.
	* include/link.h: Likewise.
	* include/tls.h: Likewise.
	* locale/global-locale.c: Likewise.
	* locale/localeinfo.h: Likewise.
	* malloc/arena.c: Likewise.
	* malloc/hooks.c: Likewise.
	* malloc/malloc.c: Likewise.
	* resolv/Versions: Likewise.
	* sysdeps/alpha/dl-machine.h: Likewise.
	* sysdeps/alpha/libc-tls.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/generic/tls.h: Likewise.
	* sysdeps/i386/dl-machine.h: Likewise.
	* sysdeps/ia64/dl-machine.h: Likewise.
	* sysdeps/ia64/libc-tls.c: Likewise.
	* sysdeps/mach/hurd/fork.c: Likewise.
	* sysdeps/mach/hurd/i386/tls.h: Likewise.
	* sysdeps/powerpc/powerpc32/dl-machine.c: Likwise.
	* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
	* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
	* sysdeps/s390/libc-tls.c: Likewise.
	* sysdeps/s390/s390-32/dl-machine.h: Likewise.
	* sysdeps/s390/s390-64/dl-machine.h: Likewise.
	* sysdeps/sh/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
	* sysdeps/x86_64/dl-machine.h: Likewise.

	* elf/dl-close.c (_dl_close_worker): Renamed from _dl_close and
	split out locking and parameter checking.
	(_dl_close): Call _dl_close_worker after locking and checking.
	* elf/dl-open.c (_dl_open): Call _dl_close_worker instead of
	_dl_close.
	* elf/Makefile: Add rules to build and run tst-thrlock.
	* elf/tst-thrlock.c:  New file.

	[BZ #3426]
	* stdlib/stdlib.h: Adjust comment for canonicalize_file_name to
	reality.

	[BZ #3429]
	* elf/dl-open.c (dl_open_worker): Keep holding dl_load_lock until
	we are sure we do not need it anymore for _dl_close.  Also move
	the asserts inside the lock region.
	Patch mostly by Suzuki <suzuki@in.ibm.com>.

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

	* elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope
	argument.
	(_dl_lookup_symbol_x): Adjust caller.

	* sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove
	_ns_global_scope.
	* elf/rtld.c (dl_main): Don't initialize _ns_global_scope.

	* elf/dl-libc.c: Revert l_scope name changes.
	* elf/dl-load.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/rtld.c: Likewise.
	* elf/dl-close.c (_dl_close): Likewise.
	* elf/dl-open.c (dl_open_worker): Likewise.  If not SINGLE_THREAD_P,
	always use __rtld_mrlock_{change,done}.  Always free old scope list
	here if not l_scope_mem.
	* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name
	change.  Never free scope list here.  Just __rtld_mrlock_lock before
	the lookup and __rtld_mrlock_unlock it after the lookup.
	* elf/dl-sym.c: Likewise.
	* include/link.h (struct r_scoperec): Remove.
	(struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem
	with l_scope_mem and l_scoperec_lock with l_scope_lock.

2006-10-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/gnu/netinet/tcp.h: Define TCP_CONGESTION.

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

	* configure.in: Disable building profile libraries by default.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/xdr_mem.c (xdrmem_setpos): Don't compare addresses
	as signed longs, check for x_base + pos overflow.
	* sunrpc/Makefile (tests): Add tst-xdrmem2.
	* sunrpc/tst-xdrmem2.c: New test.

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

	* elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to
	_dl_lookup_symbol_x code.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-runtime.c: Include sysdep-cancel.h.
	(_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and
	scoperec->nusers only if !SINGLE_THREAD_P.  Use atomic_*
	instead of catomic_* macros.
	* elf/dl-sym.c: Include sysdep-cancel.h.
	(do_sym): Use __rtld_mrlock_* and scoperec->nusers only
	if !SINGLE_THREAD_P.  Use atomic_* instead of catomic_* macros.
	* elf/dl-close.c: Include sysdep-cancel.h.
	(_dl_close): Use __rtld_mrlock_* and scoperec->nusers only
	if !SINGLE_THREAD_P.  Use atomic_* instead of catomic_* macros.
	* elf/dl-open.c: Include sysdep-cancel.h.
	(dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only
	if !SINGLE_THREAD_P.  Use atomic_* instead of catomic_* macros.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3313]
	* malloc/malloc.c (malloc_consolidate): Set maxfb to address of last
	fastbin rather than end of fastbin array.

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

	* sysdeps/i386/i486/bits/atomic.h (catomic_decrement): Use correct
	body macro.
	* sysdeps/x86_64/bits/atomic.h
	(__arch_c_compare_and_exchange_val_64_acq): Add missing casts.
	(catomic_decrement): Use correct body macro.

2006-10-17  Jakub Jelinek  <jakub@redhat.com>

	* include/atomic.h: Add a unique prefix to all local variables
	in macros.
	* csu/tst-atomic.c (do_test): Test also catomic_* macros.

2006-10-16  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3369]
	* sysdeps/posix/getaddrinfo.c (rfc3484_sort): Fix typos in rules 4
	and 7.

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

	* resolv/arpa/nameser.h: Document that ns_t_a6 is deprecated.

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

	[BZ #3313]
	* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
	determine highest fast bin to consolidate, always look into all of
	them.
	(do_check_malloc_state): Only require for empty bins for large
	sizes in main arena.

	* libio/stdio.h: Add more __wur attributes.

	* elf/dl-minimal.c (realloc): Optimize last patch.

2006-10-12  Richard Sandiford  <richard@codesourcery.com>

	[BZ #3352]
	* elf/dl-minimal.c (realloc): Let malloc() return a new pointer,
	and use memcpy() if it does.

2006-11-12  Andreas Jaeger  <aj@suse.de>

	[BZ #2510]
	* manual/search.texi (Hash Search Function): Clarify.
	(Array Search Function): Clarify.

2006-11-12  Joseph Myers  <joseph@codesourcery.com>

	[BZ #2830]
	* math/atest-exp.c (main): Cast hex value to mp_limb_t before
	shifting.
	* math/atest-exp2.c (read_mpn_hex): Likewise.
	* math/atest-sincos.c (main): Likewise.

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

	* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
	* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait.
	* sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for
	version GLIBC_2.6.
	* Versions.def: Add GLIBC_2.6 for libc.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (DOARGS_6): Fix offset.

	* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.

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

	* malloc/malloc.c (_int_malloc): Remove unused any_larger variable.

	* nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.

	* nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
	* sysdeps/generic/unsecvars.h: Add NIS_PATH.

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

	* include/atomic.c: Define catomic_* operations.
	* sysdeps/x86_64/bits/atomic.h: Likewise.  Fix a few minor problems.
	* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
	* malloc/memusage.c: Likewise.
	* gmon/mcount.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-open.c: Likewise.
	* elf/dl-profile.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-runtime.c: Likewise.
	* elf/dl-fptr.c: Likewise.
	* resolv/res_libc.c: Likewise.

2006-10-10  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_subr.c (nis_getnames): Add trailing dot to NIS_PATH
	components which lack them.

	* nis/nis_subr.c (nis_getnames): Make sure that we always return
	at least one entry consisting of the parameter concatenated with
	the domain.

2006-10-10  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
	* sysdeps/mach/hurd/futimes.c: Likewise.
	* sysdeps/mach/hurd/lutimes.c: Likewise.

2006-10-09  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	Implement reference counting of scope records.
	* elf/dl-close.c (_dl_close): Remove all scopes from removed objects
	from the list in objects which remain.  Always allocate new scope
	record.
	* elf/dl-open.c (dl_open_worker): When growing array for scopes,
	don't resize, allocate a new one.
	* elf/dl-runtime.c: Update reference counters before using a scope
	array.
	* elf/dl-sym.c: Likewise.
	* elf/dl-libc.c: Adjust for l_scope name change.
	* elf/dl-load.c: Likewise.
	* elf/dl-object.c: Likewise.
	* elf/rtld.c: Likewise.
	* include/link.h: Include <rtld-lowlevel.h>.  Define struct
	r_scoperec.  Replace r_scope with pointer to r_scoperec structure.
	Add l_scoperec_lock.
	* sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
	* sysdeps/generic/rtld-lowlevel.h: New file.

	* include/atomic.h: Rename atomic_and to atomic_and_val and
	atomic_or to atomic_or_val.  Define new macros atomic_and and
	atomic_or which do not return values.
	* sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
	Various cleanups.
	* sysdeps/i386/i486/bits/atomic.h: Likewise.

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

2006-10-07  Ulrich Drepper  <drepper@redhat.com>

	* Versions.def: Add GLIBC_2.6 to libpthread.

	* include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
	(versioned_symbol): Likewise.
	(compat_symbol): Likewise.

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

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

	* nis/Banner: Removed.  It's been integral part forever and the
	author info is incomplete anyway.
	* libio/Banner: Likewise.

	* nis/nis_table.c (nis_list): If __follow_path fails in the new
	code, make sure the nis_freeresult call doesn't crash and that the
	result is reported correctly.

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

	* nis/nis_table.c (nis_list): Handle FOLLOW_PATH | ALL_RESULTS
	when callback is NULL.

	* nis/Versions (libnss_nisplus): Add
	_nss_nisplus_initgroups_dyn@@GLIBC_PRIVATE.
	* nis/Makefile (libnss_nisplus-routines): Add nisplus-initgroups.
	* nis/nss_nisplus/nisplus-grp.c (tablename_val, tablename_len,
	_nss_create_tablename): Rename to...
	(grp_tablename_val, grp_tablename_len, _nss_grp_create_tablename):
	... these.  No longer static.
	(internal_setgrent): Adjust users.
	(_nss_nisplus_getgrnam_r, _nss_nisplus_getgrgid_r): Likewise.
	Don't use locking around _nss_grp_create_tablename call.
	* nis/nss_nisplus/nisplus-initgroups.c: New file.

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

	* version.h (VERSION): Bump to 2.5.90 for new development tree.

2006-10-06  Andreas Jaeger  <aj@suse.de>

	* include/features.h (__GLIBC_MINOR__): It's glibc 2.5 now.

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

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

	* nscd/nscd.c (main): Fix typo in message.
	Patch by Jakub Bogsz <qboosh@pld-linux.org>.

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

	[BZ #3291]
	* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include
	errno.h, signal.h, unistd.h and sysdep-cancel.h.
	(__sigprocmask): Define.

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

	* elf/rtld.c (dl_main): Don't use prelinking if LD_DYNAMIC_WEAK is
	used.

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

	* nscd/mem.c (mempool_alloc): Round array size to 16 bytes
	in oldtotal and newtotal calculation.
	* nscd/nscd-client.h (struct mapped_database): Add datasize
	field.
	* nscd/nscd_helper.c (get_mapping): Initialize datasize field.
	(__nscd_get_map_ref): Get a new mapping even if mapping's data_size
	increased.
	(__nscd_cache_search): Add checks to make sure we never reference
	data beyond the current mapping.

2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>

	* sysdeps/posix/getaddrinfo.c (match_prefix): Make mask and val
	variables const to avoid compiler warnings.

	* io/fts.c (fts_close): Remove redundant checks.
	(fts_build): Likewise.
	(fts_palloc): Likewise.

	* manual/message.texi (Advanced gettext functions,
	Using gettextized software): Fix typos.

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

	* posix/glob.c (glob_in_dir): Add some comments and asserts to
	explain why there are no leaks.

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

	* libio/wmemstream.c: Include <wchar.h>.
	* libio/bug-wmemstream1.c: Likewise.
	* libio/tst-wmemstream1.c: Likewise.
	* libio/tst-wmemstream2.c: Likewise.

	* version.h (RELEASE): Bump to 2.5.
	* README: Regenerated.

	* locale/iso-3166.def: Add Aaland Islands and Montenegro.

	[BZ #3273]
	* nscd/nscd_initgroups.c (__nscd_getgrouplist): It is OK to have
	found no group members.
	Patch by Petr Baudis.

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

	* elf/rtld.c (_dl_start_final): If not USE___THREAD, don't
	assert bootstrap_map.l_tls_modid is zero.
	(_dl_start): Initialize bootstrap_map.l_tls_modid to 0
	if USE___THREAD.

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

	* libio/stdio.h: Move open_wmemstream prototype to ...
	* wcsmbs/wchar.h: ... here.

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

	[BZ #3252]
	* sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Handle only
	fchownat syscall and __ASSUME_LCHOWN_SYSCALL case inline, call
	__{,l}chown to handle the rest.
	* sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Handle only
	fchownat syscall and __ASSUME_32BITUIDS case inline, call
	__{,l}chown to handle the rest.
	* sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: Include
	i386/fchownat.c.
	* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/fchownat.c: Likewise.

	[BZ #3253]
	* posix/glob.c (glob_in_dir): Don't alloca one struct globlink at a
	time, rather allocate increasingly bigger arrays of pointers, if
	possible with alloca, if too large with malloc.

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

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

	* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Fix 2 typos.

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

	* sysdeps/posix/getaddrinfo.c (rfc3484_sort): Implement rule 4,
	home addresses.
	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Recognize
	IFA_F_HOMEADDRESS flag for interfaces.
	* include/ifaddrs.h (struct in6addrinfo): Define
	in6ai_homeaddress.

2006-09-21  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3225]
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (PTR_MANGLE3,
	PTR_DEMANGLE3): Define.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (PTR_MANGLE3,
	PTR_DEMANGLE3): Likewise.
	* sysdeps/powerpc/powerpc32/__longjmp-common.S (__longjmp): Use them.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (__longjmp):
	Likewise.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S (__longjmp): Likewise.

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

	* po/libc.pot: Regenerated.
	* po/be.po: Updated.
	* po/ca.po: Likewise.
	* po/cs.po: Likewise.
	* po/da.po: Likewise.
	* po/de.po: Likewise.
	* po/el.po: Likewise.
	* po/en_GB.po: Likewise.
	* po/es.po: Likewise.
	* po/fi.po: Likewise.
	* po/fr.po: Likewise.
	* po/gl.po: Likewise.
	* po/hr.po: Likewise.
	* po/hu.po: Likewise.
	* po/ja.po: Likewise.
	* po/ko.po: Likewise.
	* po/nb.po: Likewise.
	* po/nl.po: Likewise.
	* po/pl.po: Likewise.
	* po/pt_BR.po: Likewise.
	* po/ru.po: Likewise.
	* po/rw.po: Likewise.
	* po/sk.po: Likewise.
	* po/sv.po: Likewise.
	* po/tr.po: Likewise.
	* po/zh_CN.po: Likewise.
	* po/zh_TW.po: Likewise.

	[BZ #3137]
	* iconv/iconv_prog.c (main): Fix spelling in error message.
	* iconv/iconvconfig.c (main): Likewise.
	* locale/programs/ld-collate.c (handle_ellipsis): Likewise.
	* locale/programs/ld-ctype.c (charclass_symbolic_ellipsis): Likewise.
	* locale/programs/localedef.c (main): Likewise.
	* locale/programs/repertoire.c (repertoire_read): Likewise.
	* timezone/zdump.c (main): Likewise.
	* nscd/connections.c (handle_request): Fix spelling in log message.
	Patch by Malcolm Parsons <malcolm.parsons@gmail.com>.

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

	* inet/inet6_option.c: Also emit linker warnings for the RFC 2292
	interfaces.

2006-09-20  Andreas Jaeger  <aj@suse.de>

	* math/libm-test.inc (lrint_test_upward): Fix typo.

2006-06-17  Joseph S. Myers  <joseph@codesourcery.com>

	[BZ #2592]
	* math/libm-test.inc (lrint_test_tonearest): New function.
	(lrint_test_towardzero): New function.
	(lrint_test_downward): New function.
	(lrint_test_upward): New function.
	(main): Run these new tests.
	* sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Correct rounding
	of values near to 0.
	(two52): Use double not long double.
	* sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
	* sysdeps/ieee754/flt-32/s_llrintf.c (__llrintf): Likewise.
	(two23): Use float not double.
	* sysdeps/ieee754/flt-32/s_lrintf.c (__lrintf): Likewise.
	(two23): Use float not double.
	* sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Likewise.
	* sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Likewise.
	* sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.

2006-09-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c (__makecontext):
	Cast sp to unsigned long to avoid compiler warning.
	Use __makecontext_ret function instead of a trampoline on the stack.
	(__makecontext_ret): New function.
	* sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c: Likewise.

2006-09-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/dl-cache.c (HWCAP_CHECK): If _DL_PLATFORMS_COUNT, but
	platform == -1, reject any libs with non-zero _DL_HWCAP_PLATFORM
	bits.

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

	* elf/dl-close.c (_dl_close): If dependency is not unloaded make
	sure no reference to the unloaded map's search list remains in the
	dependency's scope.

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

	* elf/Makefile: Add rules to build and run unload7 test.
	* elf/unload7.c: New test.
	* elf/unload7mod1.c: New file.
	* elf/unload7mod2.c: New file.

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

	* sysdeps/unix/sysv/linux/sys/ptrace.h (PT_GETEVENTMSG): Fix pasto.
	* sysdeps/unix/sysv/linux/s390/sys/ptrace.h (PTRACE_SETOPTIONS,
	PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (PTRACE_SETOPTIONS,
	PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_SETOPTIONS,
	PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Likewise.
	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h (PTRACE_SETOPTIONS,
	PTRACE_GETEVENTMSG): Likewise.
	(PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Change to the arch independent
	values.

2006-09-17  Mike Frysinger  <vapier@gentoo.org>

	* sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SETOPTIONS,
	PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO, PTRACE_SETSIGINFO): Define.
	* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Check PTRACE_SETOPTIONS,
	PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO and PTRACE_SETSIGINFO.

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

	* sysdeps/powerpc/powerpc32/register-dump.h (register_dump): Don't
	write '\0' to the fd.
	* sysdeps/mach/hurd/powerpc/register-dump.h (register_dump): Likewise.
	* sysdeps/powerpc/powerpc64/register-dump.h (register_dump): Likewise.
	Change regs to unsigned long pointer from unsigned int, fix fscr
	offset.

2006-09-14  Jakub Jelinek  <jakub@redhat.com>

	* io/Makefile (CFLAGS-fstatat.c): Set.
	(CFLAGS-fstatat64.c): Likewise.
	(CFLAGS-mknodat.c): Likewise.

	* sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: Comment fixes.
	* sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: Rewritten.
	* sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: Rewritten.

2006-09-14  Jakub Jelinek  <jakub@redhat.com>
	    Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 4 new cap
	names to the beginning.  Rename "cell" to "cellbe".
	(_dl_powerpc_platforms): New.
	* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
	(HWCAP_IMPORTANT): Remove power{4,5,5+} and cell.
	(_DL_PLATFORMS_COUNT, _DL_FIRST_PLATFORM): Define.
	(_DL_HWCAP_PLATFORM): Define to new mask.
	(_dl_platform_string, _dl_string_platform): New functions.
	* sysdeps/powerpc/sysdep.h (PPC_FEATURE_BOOKE, PPC_FEATURE_SMT,
	PPC_FEATURE_ICACHE_SNOOP, PPC_FEATURE_ARCH_2_05): Define.

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

	[BZ #2526]
	* README.libm: Fix a thinko in sqrt algorithm description.

	[BZ #3143]
	* manual/string.texi (argz_delete): Fix prototype.
	Patch by <alpt@freaknet.org>.

2006-08-26  Joseph Myers  <joseph@codesourcery.com>

	[BZ #3138]
	* io/test-lfs.c (do_prepare): Give name_len type size_t.
	* io/tst-fcntl.c (do_prepare): Likewise.
	* posix/tst-exec.c (do_prepare): Likewise.
	* posix/tst-preadwrite.c (do_prepare): Likewise.
	* posix/tst-spawn.c (do_prepare): Likewise.
	* posix/tst-truncate.c (do_prepare): Likewise.
	* rt/tst-aio.c (do_prepare): Likewise.
	* rt/tst-aio64.c (do_prepare): Likewise.
	* stdlib/test-canon2.c (do_prepare): Give test_dir_len type
	size_t.

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

	[BZ #2821]
	* time/mktime.c (guess_time_tm): Fix overflow detection.
	* time/Makefile (tests): Add bug-mktime1.
	* time/bug-mktime1.c: New file.

	[BZ #3189, #3188]
	* misc/sys/mman.h (remap_file_pages): Make available for _GNU_SOURCE.
	(mremap): Likewise.

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

	[BZ #1006]
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela):
	Ensure relocation doesn't clobber any bits outside of the
	immediate field for R_SPARC_TLS_LE_HIX22, R_SPARC_WDISP30,
	R_SPARC_HI22 and R_SPARC_H44.

	[BZ #2775]
	* malloc/malloc.c (sYSMALLOc): Only call grow_heap if
	(long) (MINSIZE + nb - old_size) is positive.

	* malloc/arena.c (grow_heap): When growing bail even if new_size
	is negative.

	[BZ #3155]
	* sysdeps/powerpc/powerpc32/fpu/s_lrint.S (__lrint): Don't access
	stack below r1.

2006-09-06  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex_internal.c (re_string_reconstruct): Handle
	offset < pstr->valid_raw_len && pstr->offsets_needed case.
	Ensure no bytes read before raw_mbs array.  Pass a saved copy of
	pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
	re_string_context_at.
	* posix/Makefile: Add rules to build and run bug-regex26 test.
	* posix/bug-regex26.c: New test.

	* locale/programs/ld-collate.c (collate_read): Goto sym_equiv_free
	rather than col_sym_free.  Move seqp declaration earlier.

	* resolv/gai_suspend.c (gai_suspend): Make sure result is initialized.

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

	* nscd/initgrcache.c (addinitgroupsX): Move any_success
	decl before first goto out.

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

	* Makerules (shlib.lds): If have-hash-style, put .hash section
	at the end of the RO segment.

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

	* elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
	style hash table format is used.

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

	* resolv/res_mkquery.c (res_nmkquery): Set hp->id to statp->id after
	randomization rather than before.
	* resolv/res_init.c (res_randomid): Don't call gettimeofday here.

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

	* dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Add ld.so.

	* malloc/malloc.c (_int_malloc): Use full list insert and not
	shortcut which assumes the list is empty for large requests
	too.

	* elf/tst-addr1.c (do_test): Allow i.dli_sname "_IO_printf".

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

	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (splice): Add offin
	and offout arguments to the prototype.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (splice): Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list (splice): Adjust args string.

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

	* elf/dl-load.c (_dl_init_paths): Expand DSTs.

	* elf/dl-open.c (dl_open_worker): Allow $LIB and $PLATFORM in
	dlopen parameters.

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

	* inet/getnameinfo.c (getnameinfo): For AF_INET, check errno
	only if herrno is NETDB_INTERNAL.  Handle errors other than
	ERANGE outside of the loops, handle TRY_AGAIN.

	* locale/programs/ld-ctype.c (translit_flatten): Issue error
	if other's ctype category was missing.
	* locale/programs/ld-collate.c (collate_read): Return if
	copy_locale's collate category is missing.

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

	[BZ #2684]
	* malloc/malloc.c (public_rEALLOc): Try harder by using other
	arenas if allocation failed.
	Patch mostly by Jan Edler <jan.edler@indexengines.com>.

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

	* malloc/malloc.c (bin_at): Rewrite to be more clear and to not
	waste bins[0..1].
	(malloc_state): Reduce bins size by 2.
	(_int_malloc): Fix test for large enough buffer for early termination.
	When no unsorted block matches perfectly and an exiting block has
	to be split, use full list insert and not shortcut which assumes
	the list is empty.

	* locale/programs/ld-ctype.c (ctype_read): Better patch for read
	failure.

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

	* locale/programs/ld-ctype.c (ctype_read): If CTYPE is NULL, don't
	do anything.

	* sysdeps/generic/ldsodefs.h (DL_ADDR_SYM_MATCH): For undefined
	symbol require exact match (these are PLTs).
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h
	(_dl_ppc64_addr_sym_match): Likewise.

	[BZ #2683]
	* elf/dl-addr.c (_dl_addr): Don't ignore all undefined symbols.
	If symbol has a value use it.
	* elf/tst-dladdr1.c: New file.
	* elf/Makefile: Add rules to build and run tst-addr1.

2006-08-24  Jakub Jelinek  <jakub@redhat.com>

	* malloc/malloc.c (sYSMALLOc): Avoid infinite loop if MMAP
	keeps failing and heap growth or new heap creation isn't
	successful either.
	* malloc/tst-malloc.c (main): Add new tests.

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

	[BZ #2734]
	* sysdeps/i386/bits/byteswap.h (__bswap_32): Use same conditions
	as in the x86-64 code to use bswap.

2006-05-21  Joseph S. Myers  <joseph@codesourcery.com>

	[BZ #2680]
	* posix/unistd.h (getlogin_r): Condition on __USE_POSIX199506, not
	__USE_UNIX98.
	* posix/bits/unistd.h: Likewise.

2006-05-15  Mike Frysinger  <vapier@gentoo.org>

	[BZ #2751]
	* string/strchr.c: Add cast to avoid warning.

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

	* malloc/malloc.c (DEFAULT_MMAP_THRESHOLD_MAX): For 32-bit
	platforms define as 512K.  For 64-bit platforms as 32MB.  The lower
	limit is needed to avoid the exploding of the address space
	requirement for secondary heaps.
	* malloc/arena.c (HEAP_MAX_SIZE): Define using
	DEFAULT_MMAP_THRESHOLD_MAX if it is defined.

2006-07-30  Joseph S. Myers  <joseph@codesourcery.com>

	[BZ #3018]
	* Makerules (depfiles): Handle extra-test-objs the same as
	extra-objs.
	(common-mostlyclean): Likewise.
	* dlfcn/Makefile (extra-objs): Add modules to extra-test-objs
	instead.
	* elf/Makefile (extra-objs): Likewise.
	* stdlib/Makefile (extra-objs): Likewise.

2006-08-14  Eric Blake	<ebb9@byu.net>

	[BZ #3044]
	* misc/error.h: Assume C89 or better.
	* misc/error.c: Likewise.

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

	[BZ #3040]
	* sysdeps/unix/sysv/linux/openat.c: Fix compilation if
	__ASSUME_ATFCTS is defined.

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

	* malloc/malloc.c (_int_malloc): Limit number of unsorted blocks
	to sort in each call.

	* nis/nss_nis/nis-service.c (internal_nis_getservent_r): . If map
	is empty simply return and use next service.
	* nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.

	* locale/programs/charmap.c (charmap_read): Add new parameter.  It
	tells us when not finding a charmap file is an error.
	* locale/programs/charmap.h: Adjust charmap_read prototype.
	* iconv/iconv_prog.c (main): Tell charmap_read it's no error if we
	cannot find a charmap.
	* locale/programs/localedef.c (main): Adjust charmap_read call.

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

	* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use
	sysdeps/posix/pause.c implementation instead.

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

	* sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority
	to EPERM.

2006-08-13  Andreas Schwab  <schwab@suse.de>

	* sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve):
	Don't clobber caller's LRSAVE.
	(_dl_prof_resolve): Likewise.

2006-08-14  Ulrich Drepper  <drepper@redhat.com>

	[BZ #1996]
	* libio/memstream.c (open_memstream): Allocate initial buffer with
	calloc.
	* libio/wmemstream.c (open_wmemstream): Likewise.
	* libio/strops.c: Pretty printing.
	(_IO_str_overflow): Clear uninitialized part of the new buffer.
	(enlarge_userbuf): New function.
	(_IO_str_seekoff): Call it if seek position is larger than current
	buffer.
	* libio/wstrops.c: Likewise.
	* libio/vasprintf.c: Add comment as to why we do not have to use
	calloc instead of malloc to allocate initial buffer.
	* libio/Makefile (tests): Add bug-memstream1 and bug-wmemstream1.
	* libio/bug-memstream1.c: New file.
	* libio/bug-wmemstream1.c: New file.

2006-08-13  Ulrich Drepper  <drepper@redhat.com>

	* libio/wstrops.c: Remove dead macro definitions and comments.
	* libio/strops.c: Likewise.

	[BZ #2764]
	* login/utmpname.c (__utmpname): Remove unnecessary test.

2006-06-08  Joseph Myers  <jsm28@gcc.gnu.org>

	[BZ #2832]
	* math/gen-libm-test.pl (clean_up_number): Do not remove trailing
	0s from integers.

2006-08-13  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2987]
	* sysdeps/unix/sysv/linux/clock_settime.c: Add code to use syscall
	for CPU clocks.
	* sysdeps/unix/clock_settime.c: Add support for platform-specific
	setting of CPU clocks.

2006-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	[BZ #2841]
	* sysdeps/generic/stdint.h (UINT8_C, UINT16_C): Don't append 'U',
	since C99 requires the result to promote to 'int' when uint_least8_t
	and uint_least16_t promote to 'int'.

2006-08-12  Ulrich Drepper  <drepper@redhat.com>

	[BZ #3013]
	* locale/programs/ld-ctype.c (ctype_output): Adjust alignments, fix
	lenght of one output field, correct bitmask creation.
	* locale/programs/ld-time.c: Add alignment.

	[BZ #2997]
	* misc/error.c: Add space between program name and message if file
	name is missing.

2006-08-03  Eric Blake	<ebb9@byu.net>

	[BZ #2998]
	* misc/error.c (error_tail) [_LIBC]: Avoid invalid free.

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

	* malloc/memusagestat.c: Silence warnings.

	* malloc/malloc.c: Dynamically size mmap treshold if the program
	frees mmaped blocks.
	Patch by Valerie Henson and Arjan van de Ven.

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

	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_DIRECT): Protect with
	__USE_GNU.

	* stdlib/strtol_l.c (__strtol_ul_max_tab, __strtol_ul_rem_tab,
	__strtol_ull_max_tab, __strtol_ull_rem_tab): Declare.
	(DEF): Don't put the var into .gnu.linkonce.r.* section.
	Only provide var definitions in strtol_l (or for *ull*
	in strtoll_l).

	* stdio-common/bug16.c (tests): New array.
	(do_tests): Allow the first hexadecimal digit
	to be 1, 2, 4 or 8.  Do 3 additional tests.

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

	* sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c (fchownat): Use
	fchownat syscall if available.
	* sysdeps/unix/sysv/linux/powerpc/fchownat.c (fchownat): Likewise.
	* sysdeps/unix/sysv/linux/sh/fchownat.c (fchownat): Likewise.
	* sysdeps/unix/sysv/linux/i386/fchownat.c (fchownat): Likewise.

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

	* nis/nis_xdr.c: Avoid some function calls.

2006-08-07  Jakub Jelinek  <jakub@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch) [case LOWER_NAME]: Don't take
	short cut if only one name component is stripped away.

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

	* nis/nis_call.c: Minor cleanups throughout.
	(rec_dirsearch) [case HIGHER_NAME]: Correctly size ndomain array.
	(first_shoot): Add search_parent_first parameter.  Only if it is set
	search parent server first.
	If directory for table found through cold start cache is not the same
	as referenced in the cache, don't use it.
	(__nisfind_server): Take additional parameter.  Pass it on to
	first_shoot.
	(__prepare_niscall): Adjust __nisfind_server call.
	* nis/rpcsvc/nislib.h: Adjust __nisfind_server prototype.
	* nis/nis_table.c: Adjust __nisfind_server call.
	* nis/nis_lookup.c: Likewise.
	(nis_lookup): Don't loop endlessly if name is reduced to ".".

2006-08-03  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2182]
	* math/s_cacosh.c: Return values from positive branch.
	* math/s_cacoshf.c: Likewise.
	* math/s_cacoshl.c: Likewise.

	[BZ #2883]
	* sysvipc/sys/msg.h: Change return value to ssize_t.
	* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
	* sysvipc/msgrcv.c: Likewise.
	* include/sys/msg.h: Likewise.

	* grp/initgroups.c (internal_getgrouplist): Remove unnecessary
	test introduced in patch for bz #661.
	(getgrouplist): Simplify code a bit.  Don't allocate one additional
	element for NEWGROUPS.

	[BZ #2908]
	* stdio-common/printf_fphex.c (__printf_fphex): When rounding up
	'f', use '1' as leading digit not '\1'.
	* stdio-common/Makefile (tests): Add bug16.
	* stdio-common/bug16.c: New file.

	[BZ #2914]
	* sysdeps/unix/sysv/linux/gethostid.c: Don't define OLD_HOSTIDFILE
	and don't try to open it.  The patch introducing the macro
	contained a bug and used the same file name as the new file
	instead of using /var/adm/hostid.  Nobody complaint so I'm taking
	this out completely.

	[BZ #2926]
	* assert/assert.h: Move cast to void inside ?: to quiet gcc.
	Patch by Jerry James <Jerry.James@usu.edu>.

	* rt/Makefile (tests): Add tst-clock2.
	* rt/tst-clock2.c: New file.

	[BZ #2978]
	* resolv/gai_notify.c (__gai_notify_only): Copy memory for thread
	function and its parameters and pass it to new thread.
	(__gai_notify): Add support for alternative waiting for completion.
	* resolv/gai_suspend.c (gai_suspend): Add support for alternative
	waiting for completion.
	* resolv/getaddrinfo_a.c: Likewise.
	* resolv/gai_misc.h (struct waitlist): Don't add cond if alternative
	waiting for completion is used.
	* resolv/gai_misc.c: Allow overwriting code to start helper thread.
	* resolv/gai_cancel.c: Include <gai_misc.h> not "gai_misc.h".
	* resolv/gai_error.c: Likewise.
	* resolv/gai_sigqueue.c: Likewise.

2006-08-02  Thomas Schwinge  <tschwinge@gnu.org>

	* hurd/getdport.c (__getdport): Don't return EBADF; instead set
	errno to EBADF and return MACH_PORT_NULL.

2006-06-23  Joseph Myers  <joseph@codesourcery.com>

	[BZ #2980]
	* posix/Makefile (CFLAGS-waitid.c): Add -fasynchronous-unwind-tables.

2006-08-02  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-addr.c (_dl_addr): If GNU-style hash tables are present,
	walk them instead of the symbol table.

2006-08-01  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2098]
	* nscd/initgrcache.c (addinitgroupsX): Judge successful lookups by
	status of NSS calls, not the number of returned entries.

	* sysdeps/unix/sysv/linux/syscalls.list: Remove add_key,
	request_key, keyctl.

2006-07-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/dl-osinfo.h: Remove unnecessary include.

2006-07-16  Jeff Bailey  <jbailey@ubuntu.com>

	* elf/tst-auditmod1.c: Fix typo in #error.

2006-07-31  Ulrich Drepper  <drepper@redhat.com>

	* elf/tst-auditmod1.c: Remove code for unsupported architectures.

	* iconvdata/run-iconv-test.sh: Run cmp in C locale.

2006-07-20  Adam Nemet  <anemet@caviumnetworks.com>

	* stdlib/test-canon.c (do_test): Close fd before unlinking file so
	that the directory is empty even on non-POSIX filesystems.

2006-07-31  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-open.c (dl_open_worker): Add branch prediction.

	* nis/nss_compat/compat-grp.c: Avoid unnecessary setgrent calls into
	the backend NSS module.  If backend setgrent call failed, don't have
	internal_setgrent fail.  Just remember this until it is needed.
	* nis/nss_compat/compat-pwd.c: Likewise.
	* nis/nss_compat/compat-spwd.c: Likewise.

2006-07-30  Roland McGrath  <roland@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed.
	* sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: File removed.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: File removed.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: File removed.

	* sysdeps/unix/sysv/linux/not-cancel.h (pause_not_cancel): New macro.
	(nanosleep_not_cancel): New macro.
	(sigsuspend_not_cancel): new macro.
	* sysdeps/unix/sysv/linux/sigsuspend.c [__ASSUME_REALTIME_SIGNALS]
	(do_sigsuspend): Define as inline.
	(__sigsuspend): Always use do_sigsuspend.
	[! NO_CANCELLATION] (__sigsuspend_nocancel): New function.
	* include/signal.h: Declare __sigsuspend_nocancel.
	* sysdeps/posix/pause.c
	[! NO_CANCELLATION] (__pause_nocancel): New function.

	* include/unistd.h (__pause_nocancel): Add attribute_hidden.
	* include/time.h (__nanosleep_nocancel): Likewise.

2006-07-30  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/localedef.c (add_to_readlist): Rename local
	variables to avoid confusion.

	* locale/programs/charmap.c (charmap_read): Emit error message if
	charmap couldn't be found or read.

2006-07-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_FUTEX_LOCK_PI.
	* include/time.h: Declare __nanosleep_nocancel.
	* include/unistd.h: Declare __pause_nocancel.

	* dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Use this instead of
	LDFLAGS.  Add -lgcc_eh and libc_nonshared (again) to make sure we
	get the __stack_chk_fail_local definition when it's needed.

2006-07-26  Ulrich Drepper  <drepper@redhat.com>

	* dlfcn/Makefile: Add rules to build and run bug-atexit3.
	* dlfcn/bug-atexit3.c: New file.
	* dlfcn/bug-atexit3-lib.cc: New file.

	* dlfcn/dlmopen.c (dlmopen_doit): Don't allow RTLD_GLOBAL to be
	used when the namespace is not the base namespace.

2006-07-26  Gavin Romig-Koch  <gavin@redhat.com>

	* stdlib/cxa_atexit.c (__new_exitfn_called): New variable.
	(__new_exitfn): Bump it in every successful call.
	* stdlib/cxa_finalize.c (__cxa_finalize): If destructor registered
	more exit handlers, call them right away.
	* stdlib/exit.h: Declare __new_exitfn_called.

2006-07-25  Ulrich Drepper  <drepper@redhat.com>

	* stdlib/cxa_finalize.c (__cxa_finalize): Fix race condition when
	calling registered handler.

	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Fix comment.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.

2006-07-10  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-lookup.c (dl_new_hash): New functions.
	(_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
	value here.  Compute new-style hash value.  Pass new hash value
	and reference to variable with the old value to do_lookup_x.
	(_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
	old-style hash table.
	(_dl_debug_bindings): Pass new hash value and reference to variable
	with the old value to do_lookup_x.
	* elf/do-lookup.h (do_lookup_x): Accept additional parameter with
	new-style hash value and change old-style hash value parameter to
	be a reference.  Reoganize functions to determine whether
	new-style hash table is available.  Only fall back on old-style
	table.  If old-style hash value is needed, compute it here.
	* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
	entry.
	* elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
	DT_TLSDEC_GOT.  Adjust DT_ADDRNUM.
	* include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
	l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
	* Makeconfig: If linker supports --hash-style option add it to all
	linker command lines to build DSOs.
	* config.make.in: Define have-hash-style.
	* configure.in: Test whether linker supports --hash-style option.

	* elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
	* sysdeps/generic/ldsodefs.h: Adjust prototype.

2006-06-27  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-load.c (open_path): Fix test to determine whether DSO is
	auditing.

	* elf/dl-load.c (_dl_map_object): Try harder to avoid looking at
	RPATH of main map twice.

2006-06-22  Ulrich Drepper  <drepper@redhat.com>

	* intl/dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't
	look further, return original strings.
	(_nl_find_msg): Do not return found translation if the conversion
	failed.  Either signal the string is unusable or that something went
	wrong and the original should be used.

2006-06-21  Ulrich Drepper  <drepper@redhat.com>

	* string/_strerror.c (__strerror_r): Add __builtin_expect.

2006-06-14  Jakub Jelinek  <jakub@redhat.com>

	[BZ #2766]
	* misc/insremque.c (insque): Handle prev == NULL.
	* misc/Makefile (tests): Add tst-insremque.
	* misc/tst-insremque.c: New test.

2006-06-17  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2792]
	* elf/dl-deps.c (expand_dst): Rename __cnt variable to not
	conflict with DL_DST_REQUIRED.

2006-06-16  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_subr.c (nis_getnames): Fix the implementation to better
	match what Solaris does.

2006-06-04  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/spawni.c (__spawni): Use local_seteuid and
	local_setegid instead of seteuid and setegid.
	* sysdeps/generic/local-setxid.h: New file.
	* sysdeps/unix/sysv/linux/local-setxid.h: New file.

	* sysdeps/posix/spawni.c (__spawni): Use non-cancelable interfaces.

	* string/Makefile (tests): Add bug-envz1.
	* string/bug-envz1.c: New file.

2006-06-02  Jakub Jelinek  <jakub@redhat.com>

	* posix/regex_internal.c (re_string_skip_chars): If no character has
	been converted at all, set *last_wc to WEOF.  If mbrtowc failed, set wc
	to the byte which couldn't be converted.
	(re_string_reconstruct): Don't clear valid_raw_len before calling
	re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
	tip_context using re_string_context_at.
	* posix/Makefile: Add rules to build and run bug-regex25 test.
	* posix/bug-regex25.c: New test.

2006-06-02  Ryan S. Arnold  <rsa@us.ibm.com>

	[BZ #2703]
	* string/envz.c (envz_strip): Correct erroneously reversed src
	and dest parameters to memmove() invocation.

2006-05-30  Jakub Jelinek  <jakub@redhat.com>

	* nscd/nscd.h (prune_cache): Add fd argument to prototype.
	* nscd/nscd.c (parse_opt): Read response from INVALIDATE request
	to make sure the database has been already invalidated.
	* nscd/cache.c (prune_cache): Add fd argument.  Write response to fd
	after the cache has been invalidated.  Use pthread_mutex_lock rather
	than pthread_mutex_trylock if fd != -1.
	* nscd/connections.c (invalidate_cache): Add fd argument, write
	response to fd if not calling prune_cache, pass fd to prune_cache.
	(handle_request): Adjust invalidate_cache caller.
	(nscd_run): Pass -1 as fd to prune_cache.

2006-05-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (gaiconf_init): Initialize bits in
	the correct place.

2006-05-29  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd.h (struct database_dyn): Add prunelock field.
	* nscd/cache.c (prune_cache): Take prunelock before starting the
	work.  Just return in case it is already taken.
	* nscd/connections.c (dbs): Initialize .prunelock.

2006-05-25  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_removemember.c (nis_removemember): Avoid unnecessary
	copying.  No need to allocate new array for group members.  Just
	move the pointers and update the size.

	* nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying.
	Avoid memory leak in case realloc fails.  Simplification for
	better code generation.

	Avoid deprecation warning because of libc_hidden_proto for
	inet6_option_alloc.
	* inet/inet6_option.c (option_alloc): Renamed from
	inet6_option_alloc.  Made static.
	(inet6_option_alloc): Now a simple wrapper around option_alloc.
	(inet6_option_append): Call option_alloc.
	* include/netinet/in.h: Remove libc_hidden_proto for
	inet6_option_alloc.

	* nis/nis_callback.c (__nis_create_callback): Always call xdr_free
	for cleanup when cb!=NULL [Coverity CID 233].

2006-05-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #2693]
	* inet/Makefile (routines): Add inet6_opt and inet6_rth.
	* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
	inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
	inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
	inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
	and inet6_rth_getaddr.
	* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
	array.
	* inet/netinet/in.h (struct ip6_mtuinfo): Define.
	Mark inet6_option_* interfaces as deprecated.
	Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
	inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
	inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
	inet6_rth_segments, and inet6_rth_getaddr.
	* inet/inet6_opt.c: New file.
	* inet/inet6_rth.c: New file.

	* inet/netinet/icmp6.h: Pretty printing.

	[BZ #2683]
	* elf/dl-addr.c (_dl_addr): Don't match undefined references.

2006-05-23  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_lookup.c (nis_lookup): Use __prepare_niscall instead of
	doing it all here.  When server does not know the answer do not
	fail immediate, try parent first.

	* nis/nis_domain_of_r.c (nis_domain_of_r): Add missing buffer
	overflow test.

2006-05-20  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (__prepare_niscall): New function.  Split out
	from __do_niscall.
	* nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
	and exported.
	(__follow_path): New function.  Split out from nis_list.
	* nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
	_xdr_nis_result.
	* nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
	_xdr_nis_result.
	* nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
	and __follow_path.
	* nis/Versions: Export __prepare_niscall, __create_ib_request,
	__follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
	from libnsl for version GLIBC_PRIVATE.
	* nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
	Remove entry parameter from _nss_nisplus_parse_pwent and
	_nss_nisplus_parse_grent.
	* nis/nss_nisplus/nisplus-parser.c: Likewise.
	* nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
	again.  Rewrite getpwent handling to not use nis_first_entry and
	nis_next_entry.  Roll out own niscall handling.
	* nis/nss_nisplus/nisplus-grp.c: Likewise.

	* sunrpc/xdr_rec.c: Fix typo in comment.

2006-05-19  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (__do_niscall3): Avoid code duplication in error
	handling.

	* nis/nis_callback.c (internal_nis_do_callback): Don't use malloc
	to allocate memory for my_pollfd.  Better initialization of
	cb_is_running.  Use TEMP_FAILURE_RETRY.

	* malloc/memusage.sh (memusageso): Add quotes.
	(memusagestat): Likewise.
	* debug/xtrace.sh (pcprofileso): Likewise.
	(pcprofiledump): Likewise.
	* debug/Makefile ($(objpfx)xtrace): Use $LIB in SLIBDIR
	replacement.
	* malloc/Makefile ($(objpfx)memusage): Likewise.

	* nis/nis_callback.c (__nis_create_callback): Calls to
	svcudp_bufcreate and svctcp_create can fail.  Free ->xprt if
	asprintf call fails.

	* sysdeps/unix/sysv/linux/ifaddrs.c (__netlink_sendreq): Make sure
	no uninitialized memory is passed to sendto.

2006-05-18  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_callback.c (__nis_create_callback): Use asprinf instead
	of snprintf+strdup.  Handle OOM.
	* nis/nis_callback.c (__nis_create_callback): Allocate cb and
	cb->serv together.  Remove now obsolete free calls.
	(__nis_destroy_callback): Remove now obsolete free call.

2006-05-18  David Woodhouse  <dwmw2@redhat.com>

	* sysdeps/posix/getaddrinfo.c: Add unique labels to the default
	RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
	and ULA respectively). Set precedence for IPv4 address to 10 as
	defined in RFC3484 for preferring IPv6.
	* posix/gai.conf: Update to match the new default tables.

2006-05-18  Jakub Jelinek  <jakub@redhat.com>

	* nis/nss_compat/compat-pwd.c (internal_setpwent): If nss_set*ent
	returned NSS_STATUS_UNAVAIL, still return NSS_STATUS_SUCCESS.
	* nis/nss_compat/compat-spwd.c (internal_setspent): Likewise.
	* nis/nss_compat/compat-grp.c (internal_setgrent): Likewise.

	* nis/nss_compat/compat-initgroups.c (nss_setgrent, nss_endgrent):
	Removed.
	(init_nss_interface): Remove initialization of these variables.

2006-05-18  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch): Little optimization: pull
	nis_free_directory forward to avoid duplication.

2006-05-17  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_call.c (rec_dirsearch): Handle __nis_finddirectory and
	rec_dirsearch returning NULL.
	(first_shoot): Handle __nis_finddirectory returning NULL.
	(__nisfind_server): Fix leak when rec_dirsearch returns NULL.

	* sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOSE, IN_MOVE,
	IN_ONLYDIR, IN_DONT_FOLLOW, and IN_MASK_ADD.

2006-05-17  Jakub Jelinek  <jakub@redhat.com>

	* sunrpc/key_call.c (getkeyserv_handle): Call auth_destroy if
	pid changed.

2006-05-15  Ulrich Drepper  <drepper@redhat.com>

	* include/rpc/pmap_prot.h: Mark all functions as hidden.

	* nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
	* nscd/nscd_getgr_r.c: Likewise.

	* include/rpc/pmap_rmt.h: Mark all functions as hidden.

	* nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
	* nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.

	* stdlib/longlong.h (__clz_tab): Mark as hidden.

	* iconv/gconv_int.h: Mark __gconv_lock as hidden.

	* include/rpc/key_prot.h: Mark all _internal functions as hidden.

	* include/rpc/auth.h: Mark xdr_des_block_internal and
	xdr_opaque_auth_internal as hidden.

	* sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
	hidden.

	* include/rpc/xdr.h: Mark all _internal functions as hidden.

	* misc/getusershell.c (okshells): Don't use static initializers,
	do it dynamically.

	* stdlib/fmtmsg.c (keywords): Change type of len element to
	uint32_t to not waste space on 64bit machines.

	* locale/setlocale.c: Change _nl_category_names into a string.
	Add new _nl_category_name_idxs.  Change all users.
	* locale/localeinfo.h: Adjust declaration of _nl_category_names.
	Declare _nl_category_name_idxs.
	* locale/findlocale.c: Adjust for _nl_category_names change.
	* locale/loadlocale.c: Likewise.
	* locale/newlocale.c: Likewise.
	* intl/dcigettext.c: Likewise.

	* iconv/gconv_conf.c (add_alias): Move actual alias handling to...
	(add_alias2): ...here.  New function.
	(__gconv_read_conf): Simplify builtin alias handling.
	(builtin_aliases): Convert to string to avoid relocations.
	* iconv/gconv_builtin.h: Add comment about correct formatting.

2006-05-15  Jakub Jelinek  <jakub@redhat.com>

	* resolv/res_debug.c (loc_ntoa): Make error const.

2006-05-14  Andreas Schwab  <schwab@suse.de>

	* math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH.

2006-05-12  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h.
	(__sched_getaffinity_new): Don't crash if cpusetsize is smaller than
	sizeof (cpu_set_t).

2006-05-11  Ulrich Drepper  <drepper@redhat.com>

	* resolv/res_debug.c (loc_ntoa): Define error as array, not pointer.

	* include/arpa/nameser.h: Declare _ns_flagdata as hidden.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_master.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_master.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypbind_resp.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypbind_resp.

	* nis/nis_xdr.c: Add libnsl_hidden_def for xdr_cback_data.
	* include/rpcsvc/nis_callback.h: Add libnsl_hidden_proto for
	xdr_cback_data.

	* nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypupdate_args.
	* include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
	xdr_ypupdate_args.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_order.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_order.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_maplist.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_maplist.

	* nis/nis_xdr.c: Add libnsl_hidden_def for xdr_obj_p.
	* include/rpcsvc/nis_callback.h: New file.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypresp_val.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypresp_val.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypmaplist.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypmaplist.

	* nis/yp_xdr.c: Add libnsl_hidden_def for xdr_ypreq_nokey.
	* include/rpcsvc/yp.h: Add libnsl_hidden_proto for xdr_ypreq_nokey.

	* nis/ypupdate_xdr.c: Add libnsl_hidden_def for xdr_ypdelete_args.
	* include/rpcsvc/ypupd.h: Add libnsl_hidden_proto for
	xdr_ypdelete_args.

	* nis/nis_xdr.h: Mark all functions as hidden.  Remove
	__BEGIN_DECLS and __END_DECLS, the header is not installed.

	* nis/nis_error.c: Remove table of strings.  Use position
	independent mechanism.
	* nis/nis_error.h: New file.

2006-05-11  Jakub Jelinek  <jakub@redhat.com>

	* locale/programs/ld-time.c (time_finish): If wide era name or
	format aren't provided, set both wname and wformat to L"".

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

	* sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Only store
	results if the call was succesful.

	* nis/nss-nis.h: Mark __yperr2nss_tab and __yperr2nss_count as hidden.

	* nis/nss-nisplus.h: Mark __niserr2nss_tab and __niserr2nss_count
	as hidden.

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

	* misc/sys/queue.h: Remove uses of all QUEUEDEBUG_* macros.

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

	* posix/wordexp.c (parse_glob): No need to check ifs for NULL, the
	caller makes sure this is not the case.
	(wordexp): Simplify ifs_white creation.  [Coverity CID 231]

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

	* posix/wordexp.c: Remove numerous NULL pointer tests before FREE
	calls.

	* io/ftw.c (open_dir_stream): Return right away if REALLOC fails.
	[Coverity CID 229, 230]

	* argp/argp-help.c (hol_entry_help): Handle STATE==NULL in ARG and
	DGETTEXT calls.
	(hol_help): Likewise.  [Coverity CID 226, 227]

	* string/argz-replace.c (__argz_replace): Unconditionally call
	free on SRC.  [Coverity CID 225]

	* nis/nis_creategroup.c (nis_creategroup): No need to duplicate
	the return value of __nis_default_owner and __nis_default_group,
	it has been especially allocated.  [Coverity CID 224]

	* nis/nis_defaults.c (searchXYX): New functions.  Used by both
	searchgroup and searchowner.  Significantly simplified.
	(__nis_default_owner): Remove duplication.  Do not locally copy the
	string before duplicating it.
	(__nis_default_group): Likewise.

	* nis/nis_lookup.c (nis_lookup): After calling nis_free_directory,
	we must clear the variable before calling __nisfind_server.

	* nis/nis_lookup.c (nis_lookup): Always free memory allocated with
	nis_getnames.  [Coverity CID 223]

	* locale/programs/locfile.c (locfile_read): Use alloca instead of
	xmalloc to allocate local repertoire name.  [Coverity CID 222]

	* iconv/iconv_charmap.c (use_to_charmap): No need to dynamically
	allocate memory for the input to add_bytes.  [Coverity CID 221]

	* posix/wordexp.c (w_addword): Free word if realloc fails and it
	was allocated here.  [Coverity CID 219, 220]

	* posix/getconf.c (print_all): Free confstr data after printing.
	[Coverity CID 218]

	* sysdeps/posix/getaddrinfo.c (gaih_inet): Free canon string if
	list allocation fails.  [Coverity CID 215]

	* nss/nsswitch.c (__nss_configure_lookup): Fix loop end condition.
	[Coverity CID 213]

	* argp/argp-help.c (hol_entry_cmp): Don't call canon_doc_option if
	string is NULL.  [Coverity CID 212]
	* argp/Makefile: Add rules to build and run bug-argp1.
	* argp/bug-argp1.c: New file.

	* io/ftw.c (ftw_dir): Use __rawmemchr instead of strchr to find
	end of string.
	* stdlib/canonicalize.c (__realpath): Likewise.

	* locale/programs/ld-time.c (time_finish): Don't dereference NULL
	pointer.  [Coverity CID 206]

	* elf/dl-dst.h (DL_DST_REQUIRED): Be prepared for missing link map
	in statically linked code.
	* elf/dl-load.c (_dl_dst_substitute): When replacing ORIGIN in
	statically built code, be prepared to have no link map.
	[Coverity CID 205]

	* argp/argp-help.c (fill_in_uparams): Handle STATE==NULL in
	dgettext calls. [Coverity CID 204]

	* argp/argp-help.c (struct uparams): Remove valid member.  Change
	the one user.
	(uparam_names): Reduce size.  Avoid relative relocations.
	Moved to read-only segment.
	(fill_in_uparams): Update for new layout.

	* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Parameter can be
	assumed to always be != NULL. [Coverity CID 202]

	* argp/argp-help.c (hol_entry_help): Remove some dead code
	[Coverity CID 200].

	* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Optimize
	away a few more unconditional yperr2nss calls.
	(_nss_nis_getservbyname_r): Likewise.

2006-05-06  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/generic/ldsodefs.h: Remove support for non-core
	architectures.

	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Make sure
	that unused memory passed to sendto is nevertheless initialized.

	[BZ #2499]
	* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Avoid
	possibly unaligned memory accesses.

	* include/arpa/nameser.h: Also optimize NS_PUT16 and NS_PUT32.
	* resolv/res_mkquery.c: Use NS_PUT16 and NS_PUT32 instead of __putshort
	and __putlong respectively.  Correct buffer overflow check for
	NS_NOTIFY_OP.

	* resolv/res_send.c (send_vc): Use ns_put16 instead of putshort.

	* resolv/res_send.c (res_queriesmatch): Fix typo in comment.
	(send_dg): Rewrite error handling to be more compact and avoid
	double recomputation of timeouts.  Pass MSG_NOSIGNAL to send.

	* include/arpa/nameser.h: Add optimizations for NS_GET16 and NS_GET32.

	* resolv/res_send.c (res_nameinquery): Use NS_GET16 directly
	instead of ns_get16.
	(res_queriesmatch): Likewise.  Minor optimization.

	[BZ #2499]
	* resolv/res_query.c (__libc_res_nquery): If answerp != NULL,
	__libc_res_nsend might reallocate the buffer for the answer.  In
	this case we have to reload the HP pointer.

2006-05-05  Ulrich Drepper  <drepper@redhat.com>

	* stdio-common/vfscanf.c (memory_error): Remove definition.  Add
	some branch prediction hints.

	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define SPLICE_F_*.
	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.

2006-05-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/s390/s390-32/elf/start.S: Replace pc relative relocation
	by a GOT relocation to make Scrt1.o position independent.
	* sysdeps/s390/s390-64/elf/start.S: Likewise.

	* sysdeps/unix/sysv/linux/s390/s390-32/syscall.S: Add support for
	six system call parameters.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise.

2006-05-05  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/svcauth_des.c (cache_init): Use calloc instead of
	malloc&bzero.

	* sunrpc/svc_udp.c (BZERO): Remove definition.
	(CALLOC): Define.
	(svc_enablecache): Use CALLOC instead of ALLOC&BZERO.

	* sunrpc/des_impl.c: Remove ALT_ECB support.  We never used it.
	(des_SPtrans): Use uint32_t type.
	(des_skb): Likewise.

	* sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.

2006-05-05  Jakub Jelinek  <jakub@redhat.com>

	[BZ #2509]
	* stdio-common/tst-printf.sh: Adjust for tst-printf.c change even
	on 32-bit arches.

2006-05-05  Ulrich Drepper  <drepper@redhat.com>

	* locale/programs/ld-address.c (address_finish): Fix one more
	place where the iso639 array might be accessed beyond the limits.

2006-05-04  Ulrich Drepper  <drepper@redhat.com>

	* nis/nis_table.c (nis_list): Avoid clearing res twice before
	filling it for the first time.

	* nis/nis_table.c (get_tablepath): Renamed from __get_tablepath.
	Adjust all callers.
	Free res object content before returning.

	* sunrpc/xdr_array.c (xdr_array): Use calloc instead of malloc&bzero.

	* sunrpc/key_call.c (__rpc_thread_key_cleanup): Also free
	client->cl_auth.

	* sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
	cleanup for initial thread, just the free call on TVP.

	* nscd/gai.c (__getline): Define.


See ChangeLog.16 for earlier changes.
