[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r13698 - in /trunk: libc/ libc/conform/data/ libc/elf/ libc/grp/ libc/include/ libc/include/rpc/ libc/inet/ libc/io/ libc/li...



Author: joseph
Date: Thu May  5 04:06:02 2011
New Revision: 13698

Log:
Merge changes between r13354 and r13697 from /fsf/trunk.

Added:
    trunk/libc/nss/nss_files/files-initgroups.c
      - copied unchanged from r13697, fsf/trunk/libc/nss/nss_files/files-initgroups.c
    trunk/libc/stdlib/bug-getcontext.c
      - copied unchanged from r13697, fsf/trunk/libc/stdlib/bug-getcontext.c
    trunk/libc/sysdeps/x86_64/memmove.c
      - copied unchanged from r13697, fsf/trunk/libc/sysdeps/x86_64/memmove.c
    trunk/ports/sysdeps/arm/dl-irel.h
      - copied unchanged from r13697, fsf/trunk/ports/sysdeps/arm/dl-irel.h
Modified:
    trunk/libc/ChangeLog
    trunk/libc/Makefile
    trunk/libc/NEWS
    trunk/libc/conform/data/netdb.h-data
    trunk/libc/elf/cache.c
    trunk/libc/elf/dl-load.c
    trunk/libc/elf/dl-lookup.c
    trunk/libc/elf/dl-object.c
    trunk/libc/elf/dl-tls.c
    trunk/libc/elf/elf.h
    trunk/libc/elf/ldconfig.c
    trunk/libc/grp/initgroups.c
    trunk/libc/include/features.h
    trunk/libc/include/libc-symbols.h
    trunk/libc/include/rpc/auth.h
    trunk/libc/include/rpc/auth_des.h
    trunk/libc/include/rpc/auth_unix.h
    trunk/libc/include/rpc/clnt.h
    trunk/libc/include/rpc/des_crypt.h
    trunk/libc/include/rpc/key_prot.h
    trunk/libc/include/rpc/pmap_clnt.h
    trunk/libc/include/rpc/pmap_prot.h
    trunk/libc/include/rpc/pmap_rmt.h
    trunk/libc/include/rpc/rpc_msg.h
    trunk/libc/include/rpc/svc.h
    trunk/libc/include/rpc/svc_auth.h
    trunk/libc/include/rpc/xdr.h
    trunk/libc/inet/getnameinfo.c
    trunk/libc/io/fchmod.c
    trunk/libc/libio/fileops.c
    trunk/libc/libio/oldfileops.c
    trunk/libc/libio/wfileops.c
    trunk/libc/locale/programs/ld-collate.c
    trunk/libc/malloc/malloc.c
    trunk/libc/manual/stdio.texi
    trunk/libc/misc/fchflags.c
    trunk/libc/misc/ftruncate.c
    trunk/libc/misc/ftruncate64.c
    trunk/libc/misc/tst-efgcvt.c
    trunk/libc/nis/Makefile
    trunk/libc/nptl/ChangeLog
    trunk/libc/nptl/allocatestack.c
    trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_kill.c
    trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_sigqueue.c
    trunk/libc/nptl/tst-kill4.c
    trunk/libc/nscd/connections.c
    trunk/libc/nscd/selinux.h
    trunk/libc/nss/Makefile
    trunk/libc/nss/Versions
    trunk/libc/nss/getnssent_r.c
    trunk/libc/nss/nsswitch.conf
    trunk/libc/po/ru.po
    trunk/libc/resolv/netdb.h
    trunk/libc/stdlib/Makefile
    trunk/libc/stdlib/gmp-impl.h
    trunk/libc/sunrpc/Makefile
    trunk/libc/sunrpc/auth_des.c
    trunk/libc/sunrpc/auth_none.c
    trunk/libc/sunrpc/auth_unix.c
    trunk/libc/sunrpc/authdes_prot.c
    trunk/libc/sunrpc/authuxprot.c
    trunk/libc/sunrpc/clnt_gen.c
    trunk/libc/sunrpc/clnt_perr.c
    trunk/libc/sunrpc/clnt_raw.c
    trunk/libc/sunrpc/clnt_simp.c
    trunk/libc/sunrpc/clnt_tcp.c
    trunk/libc/sunrpc/clnt_udp.c
    trunk/libc/sunrpc/clnt_unix.c
    trunk/libc/sunrpc/des_crypt.c
    trunk/libc/sunrpc/des_soft.c
    trunk/libc/sunrpc/get_myaddr.c
    trunk/libc/sunrpc/key_call.c
    trunk/libc/sunrpc/key_prot.c
    trunk/libc/sunrpc/netname.c
    trunk/libc/sunrpc/pm_getmaps.c
    trunk/libc/sunrpc/pm_getport.c
    trunk/libc/sunrpc/pmap_clnt.c
    trunk/libc/sunrpc/pmap_prot.c
    trunk/libc/sunrpc/pmap_prot2.c
    trunk/libc/sunrpc/pmap_rmt.c
    trunk/libc/sunrpc/publickey.c
    trunk/libc/sunrpc/rpc_cmsg.c
    trunk/libc/sunrpc/rpc_common.c
    trunk/libc/sunrpc/rpc_dtable.c
    trunk/libc/sunrpc/rpc_prot.c
    trunk/libc/sunrpc/rpc_thread.c
    trunk/libc/sunrpc/rtime.c
    trunk/libc/sunrpc/svc.c
    trunk/libc/sunrpc/svc_auth.c
    trunk/libc/sunrpc/svc_authux.c
    trunk/libc/sunrpc/svc_raw.c
    trunk/libc/sunrpc/svc_run.c
    trunk/libc/sunrpc/svc_simple.c
    trunk/libc/sunrpc/svc_tcp.c
    trunk/libc/sunrpc/svc_udp.c
    trunk/libc/sunrpc/svc_unix.c
    trunk/libc/sunrpc/svcauth_des.c
    trunk/libc/sunrpc/xcrypt.c
    trunk/libc/sunrpc/xdr.c
    trunk/libc/sunrpc/xdr_array.c
    trunk/libc/sunrpc/xdr_float.c
    trunk/libc/sunrpc/xdr_intXX_t.c
    trunk/libc/sunrpc/xdr_mem.c
    trunk/libc/sunrpc/xdr_rec.c
    trunk/libc/sunrpc/xdr_ref.c
    trunk/libc/sunrpc/xdr_sizeof.c
    trunk/libc/sunrpc/xdr_stdio.c
    trunk/libc/sysdeps/generic/tls.h
    trunk/libc/sysdeps/i386/dl-tls.h
    trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
    trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3.S
    trunk/libc/sysdeps/i386/stpncpy.S
    trunk/libc/sysdeps/ia64/dl-tls.h
    trunk/libc/sysdeps/ia64/fpu/libm_lgammal.S
    trunk/libc/sysdeps/ia64/fpu/s_erfcl.S
    trunk/libc/sysdeps/ia64/fpu/s_expm1l.S
    trunk/libc/sysdeps/ia64/memcmp.S
    trunk/libc/sysdeps/ia64/strcpy.S
    trunk/libc/sysdeps/mach/hurd/fchflags.c
    trunk/libc/sysdeps/mach/hurd/fchmod.c
    trunk/libc/sysdeps/mach/hurd/ftruncate.c
    trunk/libc/sysdeps/posix/getaddrinfo.c
    trunk/libc/sysdeps/powerpc/dl-tls.h
    trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
    trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S
    trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S
    trunk/libc/sysdeps/powerpc/powerpc32/power4/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc32/power4/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S
    trunk/libc/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S
    trunk/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc32/power7/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc32/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/memcmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power4/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power6/memcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/memcmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/power7/strncmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/strchr.S
    trunk/libc/sysdeps/powerpc/powerpc64/strcmp.S
    trunk/libc/sysdeps/powerpc/powerpc64/strcpy.S
    trunk/libc/sysdeps/powerpc/powerpc64/strlen.S
    trunk/libc/sysdeps/powerpc/powerpc64/strncmp.S
    trunk/libc/sysdeps/s390/dl-tls.h
    trunk/libc/sysdeps/s390/s390-32/elf/start.S
    trunk/libc/sysdeps/s390/s390-64/utf16-utf32-z9.c
    trunk/libc/sysdeps/s390/s390-64/utf8-utf16-z9.c
    trunk/libc/sysdeps/s390/s390-64/utf8-utf32-z9.c
    trunk/libc/sysdeps/sh/dl-tls.h
    trunk/libc/sysdeps/sparc/dl-tls.h
    trunk/libc/sysdeps/unix/sysv/linux/bits/time.h
    trunk/libc/sysdeps/unix/sysv/linux/check_pf.c
    trunk/libc/sysdeps/unix/sysv/linux/ftruncate64.c
    trunk/libc/sysdeps/unix/sysv/linux/i386/sysconf.c
    trunk/libc/sysdeps/unix/sysv/linux/ifaddrs.c
    trunk/libc/sysdeps/unix/sysv/linux/pathconf.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c
    trunk/libc/sysdeps/unix/sysv/linux/sys/syscall.h
    trunk/libc/sysdeps/unix/sysv/linux/truncate64.c
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/getcontext.S
    trunk/libc/sysdeps/x86_64/Versions
    trunk/libc/sysdeps/x86_64/cacheinfo.c
    trunk/libc/sysdeps/x86_64/dl-tls.h
    trunk/libc/sysdeps/x86_64/memcpy.S
    trunk/libc/sysdeps/x86_64/multiarch/memcpy-ssse3-back.S
    trunk/libc/sysdeps/x86_64/multiarch/memcpy-ssse3.S
    trunk/libc/sysdeps/x86_64/multiarch/memcpy.S
    trunk/libc/sysdeps/x86_64/multiarch/memmove.c
    trunk/libc/time/strptime_l.c
    trunk/libc/wcsmbs/wchar.h
    trunk/ports/ChangeLog.arm
    trunk/ports/ChangeLog.m68k
    trunk/ports/ChangeLog.mips
    trunk/ports/sysdeps/arm/dl-machine.h
    trunk/ports/sysdeps/arm/dl-tls.h
    trunk/ports/sysdeps/m68k/dl-tls.h
    trunk/ports/sysdeps/mips/dl-tls.h
    trunk/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S
    trunk/ports/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Thu May  5 04:06:02 2011
@@ -1,3 +1,258 @@
+2011-05-03  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* elf/ldconfig.c (add_dir): Don't crash on empty path.
+
+2011-04-28  Maciej Babinski  <mbabinski@xxxxxxxxxx>
+
+	[BZ #12714]
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't bypass
+	gethostbyname4_r when IPv6 results are possible.
+
+2011-05-02  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12723]
+	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Implement
+	_PC_PIPE_BUF handling.
+
+2011-04-30  Bruno Haible  <bruno@xxxxxxxxx>
+
+	[BZ #12717]
+	* conform/data/netdb.h-data (getnameinfo): Make POSIX compliant.
+	* resolv/netdb.h (getnameinfo): Change type of flags parameter
+	to 'int'.
+	* inet/getnameinfo.c (getnameinfo): Likewise.
+
+2011-04-29  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* grp/initgroups.c (internal_getgrouplist): Prefer initgroups setting
+	to groups setting in database lookup.
+	* nss/nsswitch.conf: Add initgroups entry.
+
+2011-04-22  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12685]
+	* libio/fileops.c (_IO_new_file_fopen): Scan up to 7 bytes of the
+	mode string.
+	Patch by Eric Blake <eblake@xxxxxxxxxx>.
+
+2011-04-20  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sunrpc/Makefile (need-export-routines): Add svc_run.
+	(routines): Remove svc_run.
+	($(objpfx)thrsvc): Add $(common-objpfx)linkobj/libc.so.
+	* sunrpc/clnt_perr.c (clnt_perrno): Export.
+	* sunrpc/svc_run.c (svc_run): Likewise.
+	* sunrpc/svc_udp.c (svcudp_create): Likewise.
+
+2011-04-21  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Fix
+	problem in reallocation in last patch.
+
+2011-04-20  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* sunrpc/Makefile: Move inclusion of Rules.
+
+2011-04-19  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* nss/nss_files/files-initgroups.c: New file.
+	* nss/Makefile (libnss_files-routines): Add files-initgroups.
+	* nss/Versions (libnss_files) [GLIBC_PRIVATE]: Export
+	_nss_files_initgroups_dyn.
+
+2011-03-31  Richard Sandiford  <richard.sandiford@xxxxxxxxxx>
+
+	* elf/elf.h (R_ARM_IRELATIVE): Define.
+
+2011-04-19  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* po/ru.po: Update from translation team.
+
+2011-04-17  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* sunrpc/Makefile ($(rpc-compat-routines.os)): Add before-compile to
+	dependencies.
+
+2011-02-06  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	[BZ #12653]
+	* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Only protect
+	MEMCPY_CHK with USE_AS_BCOPY ifdef check.
+	* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
+	* sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise.
+	* sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise.
+
+2011-03-28  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/power4/strncmp.S: Don't read past
+	differing bytes.
+	* sysdeps/powerpc/powerpc64/power4/strncmp.S: Likewise.
+	* sysdeps/powerpc/powerpc32/power7/strncmp.S: Likewise.
+	* sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise.
+
+2011-04-17  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12420]
+	* sysdeps/unix/sysv/linux/x86_64/getcontext.S: Reload context after
+	storing it.
+	* stdlib/bug-getcontext.c: New file.
+	* stdlib/Makefile: Add rules to build and run bug-getcontext.
+
+2011-04-13  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+	* sysdeps/s390/s390-64/utf16-utf32-z9.c: Wrap the z9-109
+	instructions into .machine "z9-109".
+	* sysdeps/s390/s390-64/utf8-utf16-z9.c: Likewise.
+	* sysdeps/s390/s390-64/utf8-utf32-z9.c: Likewise.
+
+2011-04-11  Andreas Krebbel  <Andreas.Krebbel@xxxxxxxxxx>
+
+	* sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes
+	between environment variables and auxiliary vector.
+
+2011-04-16  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* Makefile: Add rules to build linkobj/libc.so.
+	* include/libc-symbols.h: Define libc_hidden_nolink.
+	* include/rpc/auth.h: Mark functions which are to be hidden.
+	* include/rpc/auth_des.h: Likewise.
+	* include/rpc/auth_unix.h: Likewise.
+	* include/rpc/clnt.h: Likewise.
+	* include/rpc/des_crypt.h: Likewise.
+	* include/rpc/key_prot.h: Likewise.
+	* include/rpc/pmap_clnt.h: Likewise.
+	* include/rpc/pmap_prot.h: Likewise.
+	* include/rpc/pmap_rmt.h: Likewise.
+	* include/rpc/rpc_msg.h: Likewise.
+	* include/rpc/svc.h: Likewise.
+	* include/rpc/svc_auth.h: Likewise.
+	* include/rpc/xdr.h: Likewise.
+	* nis/Makefile: Link all DSOs against linkobj/libc.so.
+	* nss/Makefile: Likewise.
+	* sunrpc/Makefile: Don't install headers.  Build library with normal
+	entry points.  Don't build rpcinfo.  Link RPC tests appropriately.
+	* sunrpc/auth_des.c: Hide exported symbols by default, export some
+	for the compat linking library.  Remove use of INTDEF/INTUSE.
+	* sunrpc/auth_none.c: Likewise.
+	* sunrpc/auth_unix.c: Likewise.
+	* sunrpc/authdes_prot.c: Likewise.
+	* sunrpc/authuxprot.c: Likewise.
+	* sunrpc/clnt_gen.c: Likewise.
+	* sunrpc/clnt_perr.c: Likewise.
+	* sunrpc/clnt_raw.c: Likewise.
+	* sunrpc/clnt_simp.c: Likewise.
+	* sunrpc/clnt_tcp.c: Likewise.
+	* sunrpc/clnt_udp.c: Likewise.
+	* sunrpc/clnt_unix.c: Likewise.
+	* sunrpc/des_crypt.c: Likewise.
+	* sunrpc/des_soft.c: Likewise.
+	* sunrpc/get_myaddr.c: Likewise.
+	* sunrpc/key_call.c: Likewise.
+	* sunrpc/key_prot.c: Likewise.
+	* sunrpc/netname.c: Likewise.
+	* sunrpc/pm_getmaps.c: Likewise.
+	* sunrpc/pm_getport.c: Likewise.
+	* sunrpc/pmap_clnt.c: Likewise.
+	* sunrpc/pmap_prot.c: Likewise.
+	* sunrpc/pmap_prot2.c: Likewise.
+	* sunrpc/pmap_rmt.c: Likewise.
+	* sunrpc/publickey.c: Likewise.
+	* sunrpc/rpc_cmsg.c: Likewise.
+	* sunrpc/rpc_common.c: Likewise.
+	* sunrpc/rpc_dtable.c: Likewise.
+	* sunrpc/rpc_prot.c: Likewise.
+	* sunrpc/rpc_thread.c: Likewise.
+	* sunrpc/rtime.c: Likewise.
+	* sunrpc/svc.c: Likewise.
+	* sunrpc/svc_auth.c: Likewise.
+	* sunrpc/svc_authux.c: Likewise.
+	* sunrpc/svc_raw.c: Likewise.
+	* sunrpc/svc_run.c: Likewise.
+	* sunrpc/svc_simple.c: Likewise.
+	* sunrpc/svc_tcp.c: Likewise.
+	* sunrpc/svc_udp.c: Likewise.
+	* sunrpc/svc_unix.c: Likewise.
+	* sunrpc/svcauth_des.c: Likewise.
+	* sunrpc/xcrypt.c: Likewise.
+	* sunrpc/xdr.c: Likewise.
+	* sunrpc/xdr_array.c: Likewise.
+	* sunrpc/xdr_float.c: Likewise.
+	* sunrpc/xdr_intXX_t.c: Likewise.
+	* sunrpc/xdr_mem.c: Likewise.
+	* sunrpc/xdr_rec.c: Likewise.
+	* sunrpc/xdr_ref.c: Likewise.
+	* sunrpc/xdr_sizeof.c: Likewise.
+	* sunrpc/xdr_stdio.c: Likewise.
+
+2011-04-10  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12650]
+	* sysdeps/i386/dl-tls.h: Define TLS_DTV_UNALLOCATED.
+	* sysdeps/ia64/dl-tls.h: Likewise.
+	* sysdeps/powerpc/dl-tls.h: Likewise.
+	* sysdeps/s390/dl-tls.h: Likewise.
+	* sysdeps/sh/dl-tls.h: Likewise.
+	* sysdeps/sparc/dl-tls.h: Likewise.
+	* sysdeps/x86_64/dl-tls.h: Likewise.
+	* elf/dl-tls.c: Don't define TLS_DTV_UNALLOCATED here.
+
+2011-03-14  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* elf/dl-load.c (_dl_dst_substitute): When skipping the first
+	rpath element also skip the following colon.
+	(expand_dynamic_string_token): Add is_path parameter and pass
+	down to DL_DST_REQUIRED and _dl_dst_substitute.
+	(decompose_rpath): Call expand_dynamic_string_token with
+	non-zero is_path.  Ignore empty rpaths.
+	(_dl_map_object_from_fd): Call expand_dynamic_string_token
+	with zero is_path.
+
+2011-04-08  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c:
+	Make cancelable.
+
+2011-04-09  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12655]
+	* sysdeps/unix/sysv/linux/sys/syscall.h: Fix comment.
+	Patch by Filipe David Manana <fdmanana@xxxxxxxxxx>.
+
+2011-04-07  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (CALL_FAIL):
+	Maintain aligned stack.
+	(CHECK_RSP): Remove unused macro.
+
+2011-04-03  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* sysdeps/x86_64/cacheinfo.c (intel_02_known): Fix typo in table.
+	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.
+
+2011-04-02  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/time.h (CLOCK_BOOTTIME): Define.
+
+	* include/features.h: Mention __USE_XOPEN2K8 in comment.
+
+2011-03-26  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #12518]
+	* sysdeps/x86_64/Versions: Add memcpy to GLIBC_2.14.
+	* sysdeps/x86_64/memcpy.S: Provide GLIBC_2_14 memcpy.
+	* sysdeps/x86_64/memmove.c: New file.
+	* sysdeps/x86_64/multiarch/memcpy.S: Include <shlib-compat.h>.
+	(memcpy): Renamed to ...
+	(__new_memcpy): This.
+	(memcpy): Provide GLIBC_2_14 memcpy.
+	* sysdeps/x86_64/multiarch/memmove.c: Include <shlib-compat.h>.
+	(memcpy): Provide GLIBC_2_2_5 memcpy.
+
+2011-04-01  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12631]
+	* wcsmbs/wchar.h: Make wcpcpy and wcpncpy visible for __USE_XOPEN2K8.
+
 2011-03-30  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* misc/syncfs.c: New file.

Modified: trunk/libc/Makefile
==============================================================================
--- trunk/libc/Makefile (original)
+++ trunk/libc/Makefile Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2002,2003,2004,2005,2006,2008,2009
+# Copyright (C) 1991-2002,2003,2004,2005,2006,2008,2009,2011
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -63,8 +63,8 @@
 +subdir_targets	:= subdir_lib objects objs others subdir_mostlyclean	\
 		   subdir_clean subdir_distclean subdir_realclean	\
 		   tests xtests subdir_lint.out				\
-		   subdir_update-abi subdir_check-abi 			\
-		   subdir_echo-headers 					\
+		   subdir_update-abi subdir_check-abi			\
+		   subdir_echo-headers					\
 		   subdir_install					\
 		   subdir_objs subdir_stubs subdir_testclean		\
 		   $(addprefix install-, no-libc.a bin lib data headers others)
@@ -144,6 +144,20 @@
 ifeq (yes,$(build-shared))
 # Build the shared object from the PIC object library.
 lib: $(common-objpfx)libc.so
+
+lib: $(common-objpfx)linkobj/libc.so
+
+$(common-objpfx)linkobj/libc.so: $(elfobjdir)/soinit.os $(common-objpfx)linkobj/libc_pic.a $(elfobjdir)/sofini.os $(elfobjdir)/interp.os $(elfobjdir)/ld.so $(common-objpfx)shlib.lds $(common-objpfx)elf/ld.so
+	$(build-shlib)
+
+$(common-objpfx)linkobj/libc_pic.a: $(common-objpfx)libc_pic.a $(common-objpfx)sunrpc/librpc_compat_pic.a
+	$(..)./scripts/mkinstalldirs $(common-objpfx)linkobj
+	(cd $(common-objpfx)linkobj; \
+	 $(AR) x ../libc_pic.a; \
+	 rm $$($(AR) t ../sunrpc/librpc_compat_pic.a | sed 's/^compat-//'); \
+	 $(AR) x ../sunrpc/librpc_compat_pic.a; \
+	 $(AR) cr libc_pic.a *.os; \
+	 rm *.os)
 endif
 
 
@@ -267,11 +281,11 @@
 tests: $(objpfx)c++-types-check.out $(objpfx)check-local-headers.out
 ifneq ($(CXX),no)
 check-data := $(firstword $(wildcard \
-	        $(foreach D,$(add-ons) scripts,\
-	        	  $(patsubst %,$D/data/c++-types-%.data,\
-			   	     $(abi-name) \
-			   	     $(addsuffix -$(config-os),\
-				     		 $(config-machine) \
+		$(foreach D,$(add-ons) scripts,\
+			  $(patsubst %,$D/data/c++-types-%.data,\
+				     $(abi-name) \
+				     $(addsuffix -$(config-os),\
+						 $(config-machine) \
 						 $(base-machine))))))
 ifneq (,$(check-data))
 $(objpfx)c++-types-check.out: $(check-data) scripts/check-c++-types.sh
@@ -428,18 +442,18 @@
 endif
 endif
 
-headers2_0 := 	__math.h bytesex.h confname.h direntry.h elfclass.h  	\
-		errnos.h fcntlbits.h huge_val.h ioctl-types.h 		\
-		ioctls.h iovec.h jmp_buf.h libc-lock.h local_lim.h 	\
-		mathcalls.h mpool.h nan.h ndbm.h posix1_lim.h  		\
-		posix2_lim.h posix_opt.h resourcebits.h schedbits.h 	\
-		selectbits.h semaphorebits.h sigaction.h sigcontext.h 	\
-		signum.h sigset.h sockaddrcom.h socketbits.h stab.def 	\
-		statbuf.h statfsbuf.h stdio-lock.h stdio_lim.h 		\
-		syscall-list.h termbits.h timebits.h ustatbits.h 	\
-		utmpbits.h utsnamelen.h waitflags.h waitstatus.h 	\
-		xopen_lim.h gnu/types.h sys/ipc_buf.h 			\
-		sys/kernel_termios.h sys/msq_buf.h sys/sem_buf.h 	\
+headers2_0 :=	__math.h bytesex.h confname.h direntry.h elfclass.h	\
+		errnos.h fcntlbits.h huge_val.h ioctl-types.h		\
+		ioctls.h iovec.h jmp_buf.h libc-lock.h local_lim.h	\
+		mathcalls.h mpool.h nan.h ndbm.h posix1_lim.h		\
+		posix2_lim.h posix_opt.h resourcebits.h schedbits.h	\
+		selectbits.h semaphorebits.h sigaction.h sigcontext.h	\
+		signum.h sigset.h sockaddrcom.h socketbits.h stab.def	\
+		statbuf.h statfsbuf.h stdio-lock.h stdio_lim.h		\
+		syscall-list.h termbits.h timebits.h ustatbits.h	\
+		utmpbits.h utsnamelen.h waitflags.h waitstatus.h	\
+		xopen_lim.h gnu/types.h sys/ipc_buf.h			\
+		sys/kernel_termios.h sys/msq_buf.h sys/sem_buf.h	\
 		sys/shm_buf.h sys/socketcall.h sigstack.h
 
 .PHONY: remove-old-headers

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-4-1
+GNU C Library NEWS -- history of user-visible changes.  2011-5-2
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -7,11 +7,19 @@
 
 Version 2.14
 
-* New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at
+* The RPC implementation in libc is obsoleted.  Old programs keep working
+  but new programs cannot be linked with the routines in libc anymore.
+  Programs in need of RPC functionality must be linked against TI-RPC.
+  The TI-RPC implemtation is IPv6 enabled and there are other benefits.
+  Implemented by Ulrich Drepper.
+
+* New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at,
+  syncfs
 
 * The following bugs are resolved with this release:
 
-  11724, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12583, 12587, 12597
+  11724, 12420, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12518, 12583,
+  12587, 12597, 12631, 12650, 12653, 12655, 12685, 12714, 12717, 12723
 
 Version 2.13
 

Modified: trunk/libc/conform/data/netdb.h-data
==============================================================================
--- trunk/libc/conform/data/netdb.h-data (original)
+++ trunk/libc/conform/data/netdb.h-data Thu May  5 04:06:02 2011
@@ -89,7 +89,7 @@
 function {struct hostent*} gethostbyaddr (const void*, socklen_t, int)
 function {struct hostent*} gethostbyname (const char*)
 function {struct hostent*} gethostent (void)
-function int getnameinfo (const struct sockaddr*, socklen_t, char*, socklen_t, char*, socklen_t, unsigned)
+function int getnameinfo (const struct sockaddr*, socklen_t, char*, socklen_t, char*, socklen_t, int)
 function {struct netent*} getnetbyaddr (uint32_t, int)
 function {struct netent*} getnetbyname (const char*)
 function {struct netent*} getnetent (void)

Modified: trunk/libc/elf/cache.c
==============================================================================
--- trunk/libc/elf/cache.c (original)
+++ trunk/libc/elf/cache.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2003,2005,2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2003,2005,2006,2007,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 1999.
 
@@ -361,7 +361,7 @@
 	{
 	  /* We could subtract file_entries_new_size from str_offset -
 	     not doing so makes the code easier, the string table
-	     always begins at the beginning of the the new cache
+	     always begins at the beginning of the new cache
 	     struct.  */
 	  file_entries_new->libs[idx_new].flags = entry->flags;
 	  file_entries_new->libs[idx_new].osversion = entry->osversion;

Modified: trunk/libc/elf/dl-load.c
==============================================================================
--- trunk/libc/elf/dl-load.c (original)
+++ trunk/libc/elf/dl-load.c Thu May  5 04:06:02 2011
@@ -1,5 +1,5 @@
 /* Map in a shared object's segments from the file.
-   Copyright (C) 1995-2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1995-2005, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -284,6 +284,10 @@
 	      name += len;
 	      while (*name != '\0' && (!is_path || *name != ':'))
 		++name;
+	      /* Also skip following colon if this is the first rpath
+		 element, but keep an empty element at the end.  */
+	      if (wp == result && is_path && *name == ':' && name[1] != '\0')
+		++name;
 	    }
 	  else
 	    /* No DST we recognize.  */
@@ -310,7 +314,7 @@
    belonging to the map is loaded.  In this case the path element
    containing $ORIGIN is left out.  */
 static char *
-expand_dynamic_string_token (struct link_map *l, const char *s)
+expand_dynamic_string_token (struct link_map *l, const char *s, int is_path)
 {
   /* We make two runs over the string.  First we determine how large the
      resulting string is and then we copy it over.  Since this is no
@@ -321,7 +325,7 @@
   char *result;
 
   /* Determine the number of DST elements.  */
-  cnt = DL_DST_COUNT (s, 1);
+  cnt = DL_DST_COUNT (s, is_path);
 
   /* If we do not have to replace anything simply copy the string.  */
   if (__builtin_expect (cnt, 0) == 0)
@@ -335,7 +339,7 @@
   if (result == NULL)
     return NULL;
 
-  return _dl_dst_substitute (l, s, result, 1);
+  return _dl_dst_substitute (l, s, result, is_path);
 }
 
 
@@ -551,11 +555,19 @@
 
   /* Make a writable copy.  At the same time expand possible dynamic
      string tokens.  */
-  copy = expand_dynamic_string_token (l, rpath);
+  copy = expand_dynamic_string_token (l, rpath, 1);
   if (copy == NULL)
     {
       errstring = N_("cannot create RUNPATH/RPATH copy");
       goto signal_error;
+    }
+
+  /* Ignore empty rpaths.  */
+  if (*copy == 0)
+    {
+      free (copy);
+      sps->dirs = (char *) -1;
+      return false;
     }
 
   /* Count the number of necessary elements in the result array.  */
@@ -2183,7 +2195,7 @@
     {
       /* The path may contain dynamic string tokens.  */
       realname = (loader
-		  ? expand_dynamic_string_token (loader, name)
+		  ? expand_dynamic_string_token (loader, name, 0)
 		  : local_strdup (name));
       if (realname == NULL)
 	fd = -1;

Modified: trunk/libc/elf/dl-lookup.c
==============================================================================
--- trunk/libc/elf/dl-lookup.c (original)
+++ trunk/libc/elf/dl-lookup.c Thu May  5 04:06:02 2011
@@ -194,7 +194,7 @@
 	       might exist in more than one form
 
 	       If the library does not provide symbol version information
-	       there is no problem at at: we simply use the symbol if it
+	       there is no problem at all: we simply use the symbol if it
 	       is defined.
 
 	       These two lookups need to be handled differently if the

Modified: trunk/libc/elf/dl-object.c
==============================================================================
--- trunk/libc/elf/dl-object.c (original)
+++ trunk/libc/elf/dl-object.c Thu May  5 04:06:02 2011
@@ -112,7 +112,7 @@
 
   /* new->l_global = 0;	We use calloc therefore not necessary.  */
 
-  /* Use the 'l_scope_mem' array by default for the the 'l_scope'
+  /* Use the 'l_scope_mem' array by default for the 'l_scope'
      information.  If we need more entries we will allocate a large
      array dynamically.  */
   new->l_scope = new->l_scope_mem;

Modified: trunk/libc/elf/dl-tls.c
==============================================================================
--- trunk/libc/elf/dl-tls.c (original)
+++ trunk/libc/elf/dl-tls.c Thu May  5 04:06:02 2011
@@ -1,5 +1,5 @@
 /* Thread-local storage handling in the ELF dynamic linker.  Generic version.
-   Copyright (C) 2002,2003,2004,2005,2006,2008 Free Software Foundation, Inc.
+   Copyright (C) 2002-2006,2008,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -32,9 +32,6 @@
 /* Amount of excess space to allocate in the static TLS area
    to allow dynamic loading of modules defining IE-model TLS data.  */
 #define TLS_STATIC_SURPLUS	64 + DL_NNS * 100
-
-/* Value used for dtv entries for which the allocation is delayed.  */
-#define TLS_DTV_UNALLOCATED	((void *) -1l)
 
 
 /* Out-of-memory handler.  */

Modified: trunk/libc/elf/elf.h
==============================================================================
--- trunk/libc/elf/elf.h (original)
+++ trunk/libc/elf/elf.h Thu May  5 04:06:02 2011
@@ -1,5 +1,5 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009,2010
+   Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009,2010,2011
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -2359,6 +2359,7 @@
 #define R_ARM_TLS_LE32		108	/* 32 bit offset relative to static
 					   TLS block */
 #define	R_ARM_THM_TLS_DESCSEQ	129
+#define R_ARM_IRELATIVE		160
 #define R_ARM_RXPC25		249
 #define R_ARM_RSBREL32		250
 #define R_ARM_THM_RPC22		251

Modified: trunk/libc/elf/ldconfig.c
==============================================================================
--- trunk/libc/elf/ldconfig.c (original)
+++ trunk/libc/elf/ldconfig.c Thu May  5 04:06:02 2011
@@ -387,14 +387,17 @@
     }
 
   /* Canonify path: for now only remove leading and trailing
-     whitespace and the trailing slashes slashes.  */
-  i = strlen (entry->path) - 1;
-
-  while (isspace (entry->path[i]) && i > 0)
-    entry->path[i--] = '\0';
-
-  while (entry->path[i] == '/' && i > 0)
-    entry->path[i--] = '\0';
+     whitespace and the trailing slashes.  */
+  i = strlen (entry->path);
+
+  while (i > 0 && isspace (entry->path[i - 1]))
+    entry->path[--i] = '\0';
+
+  while (i > 0 && entry->path[i - 1] == '/')
+    entry->path[--i] = '\0';
+
+  if (i == 0)
+    return;
 
   char *path = entry->path;
   if (opt_chroot)

Modified: trunk/libc/grp/initgroups.c
==============================================================================
--- trunk/libc/grp/initgroups.c (original)
+++ trunk/libc/grp/initgroups.c Thu May  5 04:06:02 2011
@@ -1,4 +1,5 @@
-/* Copyright (C) 1989,91,93,1996-2006,2008,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1989,1991,1993,1996-2006,2008,2010,2011
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -85,7 +86,7 @@
       nip = __nss_group_database;
     }
   else
-    no_more = __nss_database_lookup ("group", NULL,
+    no_more = __nss_database_lookup ("initgroups", "group",
 				     "compat [NOTFOUND=return] files", &nip);
 
   while (! no_more)

Modified: trunk/libc/include/features.h
==============================================================================
--- trunk/libc/include/features.h (original)
+++ trunk/libc/include/features.h Thu May  5 04:06:02 2011
@@ -68,6 +68,7 @@
    __USE_UNIX98		Define Single Unix V2 things.
    __USE_XOPEN2K        Define XPG6 things.
    __USE_XOPEN2KXSI     Define XPG6 XSI things.
+   __USE_XOPEN2K8       Define XPG7 things.
    __USE_XOPEN2K8XSI    Define XPG7 XSI things.
    __USE_LARGEFILE	Define correct standard I/O things.
    __USE_LARGEFILE64	Define LFS things with separate names.

Modified: trunk/libc/include/libc-symbols.h
==============================================================================
--- trunk/libc/include/libc-symbols.h (original)
+++ trunk/libc/include/libc-symbols.h Thu May  5 04:06:02 2011
@@ -1,6 +1,7 @@
 /* Support macros for making weak and strong aliases for symbols,
    and for using symbol sets and linker warnings with GNU ld.
-   Copyright (C) 1995-1998,2000-2006,2008,2009 Free Software Foundation, Inc.
+   Copyright (C) 1995-1998,2000-2006,2008,2009,2011
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -266,7 +267,7 @@
 # else
 #  define link_warning(symbol, msg)		\
      asm (".stabs \"" msg "\",30,0,0,0\n\t"	\
-          ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n");
+	  ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n");
 # endif /* XCOFF */
 # define libc_freeres_ptr(decl) decl
 # define __libc_freeres_fn_section
@@ -606,6 +607,15 @@
 #  define hidden_weak(name) \
 	__hidden_ver1(__GI_##name, name, name) __attribute__((weak));
 #  define hidden_data_weak(name)	hidden_weak(name)
+#  define hidden_nolink(name, lib, version) \
+  __hidden_nolink1 (__GI_##name, __EI_##name, name, VERSION_##lib##_##version)
+#  define __hidden_nolink1(local, internal, name, version) \
+  __hidden_nolink2 (local, internal, name, version)
+#  define __hidden_nolink2(local, internal, name, version) \
+  extern __typeof (name) internal __attribute__ ((alias (#local))); \
+  __hidden_nolink3 (local, internal, #name "@" #version)
+#  define __hidden_nolink3(local, internal, vername) \
+  __asm__ (".symver " #internal ", " vername);
 # else
 /* For assembly, we need to do the opposite of what we do in C:
    in assembly gcc __REDIRECT stuff is not in place, so functions
@@ -646,6 +656,7 @@
 # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
 # define libc_hidden_def(name) hidden_def (name)
 # define libc_hidden_weak(name) hidden_weak (name)
+# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
 # define libc_hidden_ver(local, name) hidden_ver (local, name)
 # define libc_hidden_data_def(name) hidden_data_def (name)
 # define libc_hidden_data_weak(name) hidden_data_weak (name)

Modified: trunk/libc/include/rpc/auth.h
==============================================================================
--- trunk/libc/include/rpc/auth.h (original)
+++ trunk/libc/include/rpc/auth.h Thu May  5 04:06:02 2011
@@ -13,7 +13,7 @@
 
 #define DECLARE_NSS_PROTOTYPES(service)					\
 extern enum nss_status _nss_ ##service ## _netname2user			\
-                       (char netname[MAXNETNAMELEN + 1], uid_t *uidp,	\
+		       (char netname[MAXNETNAMELEN + 1], uid_t *uidp,	\
 			gid_t *gidp, int *gidlenp, gid_t *gidlist,	\
 			int *errnop);
 
@@ -22,23 +22,23 @@
 
 #undef DECLARE_NSS_PROTOTYPES
 
-extern bool_t xdr_des_block_internal (XDR *__xdrs, des_block *__blkp)
-  attribute_hidden;
-extern bool_t xdr_opaque_auth_internal (XDR *, struct opaque_auth *)
-  attribute_hidden;
-
-extern AUTH *authunix_create_internal (char *__machname, __uid_t __uid,
-				       __gid_t __gid, int __len,
-				       __gid_t *__aup_gids) attribute_hidden;
-extern AUTH *authunix_create_default_internal (void) attribute_hidden;
-extern AUTH *authnone_create_internal (void) attribute_hidden;
-extern AUTH *authdes_pk_create_internal (const char *, netobj *, u_int,
-					 struct sockaddr *,
-					 des_block *) attribute_hidden;
-
 libc_hidden_proto (key_encryptsession_pk)
 libc_hidden_proto (key_decryptsession_pk)
 
 libc_hidden_proto (_null_auth)
+libc_hidden_proto (authnone_create)
+libc_hidden_proto (authunix_create)
+libc_hidden_proto (authunix_create_default)
+libc_hidden_proto (xdr_des_block)
+libc_hidden_proto (xdr_opaque_auth)
+libc_hidden_proto (authdes_create)
+libc_hidden_proto (authdes_pk_create)
+libc_hidden_proto (key_decryptsession)
+libc_hidden_proto (key_encryptsession)
+libc_hidden_proto (key_get_conv)
+libc_hidden_proto (key_secretkey_is_set)
+libc_hidden_proto (key_setnet)
+libc_hidden_proto (key_setsecret)
+libc_hidden_proto (netname2host)
 
 #endif

Modified: trunk/libc/include/rpc/auth_des.h
==============================================================================
--- trunk/libc/include/rpc/auth_des.h (original)
+++ trunk/libc/include/rpc/auth_des.h Thu May  5 04:06:02 2011
@@ -3,6 +3,7 @@
 #include <sunrpc/rpc/auth_des.h>
 
 libc_hidden_proto (getpublickey)
+libc_hidden_proto (getsecretkey)
 libc_hidden_proto (rtime)
 
 extern bool_t xdr_authdes_cred (XDR *xdrs, struct authdes_cred *cred);
@@ -16,9 +17,9 @@
 
 #define DECLARE_NSS_PROTOTYPES(service)					\
 extern enum nss_status _nss_ ## service ## _getpublickey		\
-                       (const char *netname, char *pkey, int *errnop);	\
+		       (const char *netname, char *pkey, int *errnop);	\
 extern enum nss_status _nss_ ## service ## _getsecretkey		\
-                       (const char *netname, char *skey, char *passwd,	\
+		       (const char *netname, char *skey, char *passwd,	\
 			int *errnop);
 
 DECLARE_NSS_PROTOTYPES (files)
@@ -27,4 +28,8 @@
 
 #undef DECLARE_NSS_PROTOTYPES
 
+libc_hidden_proto (authdes_getucred)
+libc_hidden_proto (xdr_authdes_cred)
+libc_hidden_proto (xdr_authdes_verf)
+
 #endif

Modified: trunk/libc/include/rpc/auth_unix.h
==============================================================================
--- trunk/libc/include/rpc/auth_unix.h (original)
+++ trunk/libc/include/rpc/auth_unix.h Thu May  5 04:06:02 2011
@@ -1,4 +1,3 @@
 #include <sunrpc/rpc/auth_unix.h>
 
-extern bool_t xdr_authunix_parms_internal (XDR *__xdrs,
-					   struct authunix_parms *__p);
+libc_hidden_proto (xdr_authunix_parms)

Modified: trunk/libc/include/rpc/clnt.h
==============================================================================
--- trunk/libc/include/rpc/clnt.h (original)
+++ trunk/libc/include/rpc/clnt.h Thu May  5 04:06:02 2011
@@ -4,44 +4,27 @@
 /* Now define the internal interfaces.  */
 extern int _openchild (const char *command, FILE **fto, FILE **ffrom);
 
-extern CLIENT *clnt_create_internal (__const char *__host,
-				     __const u_long __prog,
-				     __const u_long __vers,
-				     __const char *__prot) attribute_hidden;
-extern CLIENT *clnttcp_create_internal (struct sockaddr_in *__raddr,
-					u_long __prog, u_long __version,
-					int *__sockp, u_int __sendsz,
-					u_int __recvsz) attribute_hidden;
-extern CLIENT *clntudp_create_internal (struct sockaddr_in *__raddr,
-					u_long __program, u_long __version,
-					struct timeval __wait_resend,
-					int *__sockp) attribute_hidden;
-extern CLIENT *clntudp_bufcreate_internal (struct sockaddr_in *__raddr,
-					   u_long __program, u_long __version,
-					   struct timeval __wait_resend,
-					   int *__sockp, u_int __sendsz,
-					   u_int __recvsz) attribute_hidden;
 extern CLIENT *__libc_clntudp_bufcreate (struct sockaddr_in *__raddr,
 					 u_long __program, u_long __version,
 					 struct timeval __wait_resend,
 					 int *__sockp, u_int __sendsz,
 					 u_int __recvsz, int __flags);
-extern CLIENT *__libc_clntudp_bufcreate_internal (struct sockaddr_in *__raddr,
-						  u_long __program,
-						  u_long __version,
-						  struct timeval __wait_resend,
-						  int *__sockp, u_int __sendsz,
-						  u_int __recvsz, int __flags)
-  attribute_hidden;
-extern CLIENT *clntunix_create_internal (struct sockaddr_un *__raddr,
-					 u_long __program, u_long __version,
-					 int *__sockp, u_int __sendsz,
-					 u_int __recvsz) attribute_hidden;
 
 libc_hidden_proto (clnt_sperrno)
 libc_hidden_proto (clnt_spcreateerror)
 libc_hidden_proto (clnt_perror)
 libc_hidden_proto (clnt_sperror)
 libc_hidden_proto (_rpc_dtablesize)
+libc_hidden_proto (callrpc)
+libc_hidden_proto (clnt_create)
+libc_hidden_proto (clnt_pcreateerror)
+libc_hidden_proto (clnt_perrno)
+libc_hidden_proto (clntraw_create)
+libc_hidden_proto (clnttcp_create)
+libc_hidden_proto (clntudp_bufcreate)
+libc_hidden_proto (clntudp_create)
+libc_hidden_proto (get_myaddress)
+libc_hidden_proto (clntunix_create)
+libc_hidden_proto (__libc_clntudp_bufcreate)
 
 #endif

Modified: trunk/libc/include/rpc/des_crypt.h
==============================================================================
--- trunk/libc/include/rpc/des_crypt.h (original)
+++ trunk/libc/include/rpc/des_crypt.h Thu May  5 04:06:02 2011
@@ -9,5 +9,7 @@
 libc_hidden_proto (des_setparity)
 libc_hidden_proto (ecb_crypt)
 libc_hidden_proto (cbc_crypt)
+libc_hidden_proto (xencrypt)
+libc_hidden_proto (xdecrypt)
 
 #endif

Modified: trunk/libc/include/rpc/key_prot.h
==============================================================================
--- trunk/libc/include/rpc/key_prot.h (original)
+++ trunk/libc/include/rpc/key_prot.h Thu May  5 04:06:02 2011
@@ -1,15 +1,12 @@
 #include <sunrpc/rpc/key_prot.h>
 
-extern bool_t xdr_cryptkeyres_internal (XDR *xdrs, cryptkeyres *objp)
-  attribute_hidden;
-extern bool_t xdr_keystatus_internal (XDR *, keystatus*) attribute_hidden;
-extern bool_t xdr_keybuf_internal (XDR *, keybuf) attribute_hidden;
-extern bool_t xdr_cryptkeyarg_internal (XDR *, cryptkeyarg*) attribute_hidden;
-extern bool_t xdr_cryptkeyarg2_internal (XDR *, cryptkeyarg2*)
-  attribute_hidden;
-extern bool_t xdr_key_netstres_internal (XDR *, key_netstres*)
-  attribute_hidden;
-extern bool_t xdr_key_netstarg_internal (XDR *, key_netstarg*)
-  attribute_hidden;
-extern bool_t xdr_netnamestr_internal (XDR *, netnamestr*) attribute_hidden;
-extern bool_t xdr_unixcred_internal (XDR *, unixcred*) attribute_hidden;
+libc_hidden_proto (xdr_cryptkeyarg)
+libc_hidden_proto (xdr_cryptkeyarg2)
+libc_hidden_proto (xdr_cryptkeyres)
+libc_hidden_proto (xdr_key_netstarg)
+libc_hidden_proto (xdr_key_netstres)
+libc_hidden_proto (xdr_keybuf)
+libc_hidden_proto (xdr_keystatus)
+libc_hidden_proto (xdr_getcredres)
+libc_hidden_proto (xdr_netnamestr)
+libc_hidden_proto (xdr_unixcred)

Modified: trunk/libc/include/rpc/pmap_clnt.h
==============================================================================
--- trunk/libc/include/rpc/pmap_clnt.h (original)
+++ trunk/libc/include/rpc/pmap_clnt.h Thu May  5 04:06:02 2011
@@ -14,4 +14,8 @@
      internal_function;
 libc_hidden_proto (__libc_rpc_getport)
 
+libc_hidden_proto (clnt_broadcast)
+libc_hidden_proto (pmap_getmaps)
+libc_hidden_proto (pmap_rmtcall)
+
 #endif

Modified: trunk/libc/include/rpc/pmap_prot.h
==============================================================================
--- trunk/libc/include/rpc/pmap_prot.h (original)
+++ trunk/libc/include/rpc/pmap_prot.h Thu May  5 04:06:02 2011
@@ -1,7 +1,4 @@
 #include <sunrpc/rpc/pmap_prot.h>
 
-
-extern bool_t xdr_pmap_internal (XDR *__xdrs, struct pmap *__regs)
-  attribute_hidden;
-extern bool_t xdr_pmaplist_internal (XDR *__xdrs, struct pmaplist **__rp)
-  attribute_hidden;
+libc_hidden_proto (xdr_pmap)
+libc_hidden_proto (xdr_pmaplist)

Modified: trunk/libc/include/rpc/pmap_rmt.h
==============================================================================
--- trunk/libc/include/rpc/pmap_rmt.h (original)
+++ trunk/libc/include/rpc/pmap_rmt.h Thu May  5 04:06:02 2011
@@ -1,7 +1,4 @@
 #include <sunrpc/rpc/pmap_rmt.h>
 
-extern bool_t xdr_rmtcall_args_internal (XDR *__xdrs,
-					 struct rmtcallargs *__crp)
-  attribute_hidden;
-extern bool_t xdr_rmtcallres_internal (XDR *__xdrs, struct rmtcallres *__crp)
-  attribute_hidden;
+libc_hidden_proto (xdr_rmtcall_args)
+libc_hidden_proto (xdr_rmtcallres)

Modified: trunk/libc/include/rpc/rpc_msg.h
==============================================================================
--- trunk/libc/include/rpc/rpc_msg.h (original)
+++ trunk/libc/include/rpc/rpc_msg.h Thu May  5 04:06:02 2011
@@ -7,8 +7,11 @@
 
 extern bool_t xdr_rejected_reply (XDR *xdrs, struct rejected_reply *rr);
 extern bool_t xdr_accepted_reply (XDR *xdrs, struct accepted_reply *ar);
-extern bool_t xdr_callmsg_internal (XDR *__xdrs, struct rpc_msg *__cmsg);
-extern bool_t xdr_callhdr_internal (XDR *__xdrs, struct rpc_msg *__cmsg);
-extern bool_t xdr_replymsg_internal (XDR *__xdrs, struct rpc_msg *__rmsg);
+
+libc_hidden_proto (xdr_accepted_reply)
+libc_hidden_proto (xdr_callhdr)
+libc_hidden_proto (xdr_callmsg)
+libc_hidden_proto (xdr_rejected_reply)
+libc_hidden_proto (xdr_replymsg)
 
 #endif

Modified: trunk/libc/include/rpc/svc.h
==============================================================================
--- trunk/libc/include/rpc/svc.h (original)
+++ trunk/libc/include/rpc/svc.h Thu May  5 04:06:02 2011
@@ -10,24 +10,29 @@
 libc_hidden_proto (svcerr_progvers)
 
 /* Now define the internal interfaces.  */
-extern int registerrpc (u_long prognum, u_long versnum, u_long procnum,
-			char *(*progname) (char *), xdrproc_t inproc,
-			xdrproc_t outproc);
-
 extern SVCXPRT *svcfd_create (int fd, u_int sendsize, u_int recvsize);
 
 extern int svcudp_enablecache (SVCXPRT *transp, u_long size);
 extern SVCXPRT *svcunixfd_create (int fd, u_int sendsize, u_int recvsize);
-extern bool_t svc_sendreply_internal (SVCXPRT *xprt, xdrproc_t __xdr_results,
-				      caddr_t __xdr_location) attribute_hidden;
-extern void svcerr_decode_internal (SVCXPRT *__xprt) attribute_hidden;
-extern void svc_getreq_internal (int __rdfds) attribute_hidden;
-extern void svc_getreq_common_internal (const int __fd) attribute_hidden;
-extern void svc_getreqset_internal (fd_set *__readfds) attribute_hidden;
-extern void svc_getreq_poll_internal (struct pollfd *,
-				      const int) attribute_hidden;
-extern SVCXPRT *svcudp_create_internal (int __sock) attribute_hidden;
-extern SVCXPRT *svcudp_bufcreate_internal (int __sock, u_int __sendsz,
-					   u_int __recvsz) attribute_hidden;
+
+libc_hidden_proto (svc_exit)
+libc_hidden_proto (svc_getreq)
+libc_hidden_proto (svc_getreqset)
+libc_hidden_proto (svc_run)
+libc_hidden_proto (svc_sendreply)
+libc_hidden_proto (svcerr_decode)
+libc_hidden_proto (svcerr_noproc)
+libc_hidden_proto (svcerr_systemerr)
+libc_hidden_proto (svcerr_weakauth)
+libc_hidden_proto (svcfd_create)
+libc_hidden_proto (svcraw_create)
+libc_hidden_proto (svctcp_create)
+libc_hidden_proto (svcudp_bufcreate)
+libc_hidden_proto (svcudp_create)
+libc_hidden_proto (svcudp_enablecache)
+libc_hidden_proto (svcunix_create)
+libc_hidden_proto (svcunixfd_create)
+libc_hidden_proto (svc_getreq_common)
+libc_hidden_proto (svc_getreq_poll)
 
 #endif

Modified: trunk/libc/include/rpc/svc_auth.h
==============================================================================
--- trunk/libc/include/rpc/svc_auth.h (original)
+++ trunk/libc/include/rpc/svc_auth.h Thu May  5 04:06:02 2011
@@ -6,7 +6,7 @@
 				     struct rpc_msg *msg);
 extern enum auth_stat _svcauth_short (struct svc_req *rqst,
 				      struct rpc_msg *msg);
-extern enum auth_stat _authenticate_internal (struct svc_req *__rqst,
-				struct rpc_msg *__msg) attribute_hidden;
+
+libc_hidden_proto (_authenticate)
 
 #endif

Modified: trunk/libc/include/rpc/xdr.h
==============================================================================
--- trunk/libc/include/rpc/xdr.h (original)
+++ trunk/libc/include/rpc/xdr.h Thu May  5 04:06:02 2011
@@ -1,54 +1,47 @@
 #include <sunrpc/rpc/xdr.h>
 
-extern bool_t xdr_void_internal (void) attribute_hidden;
-extern bool_t xdr_bool_internal (XDR *__xdrs, bool_t *__bp) attribute_hidden;
-extern bool_t xdr_u_hyper_internal (XDR *__xdrs, u_quad_t *__ullp)
-  attribute_hidden;
-extern bool_t xdr_u_long_internal (XDR *__xdrs, u_long *__ulp)
-  attribute_hidden;
-extern bool_t xdr_u_int_internal (XDR *__xdrs, u_int *__up)
-  attribute_hidden;
-extern bool_t xdr_u_short_internal (XDR *__xdrs, u_short *__usp)
-  attribute_hidden;
-extern bool_t xdr_hyper_internal (XDR *__xdrs, quad_t *__ullp)
-  attribute_hidden;
-extern bool_t xdr_long_internal (XDR *__xdrs, long *__ulp)
-  attribute_hidden;
-extern bool_t xdr_int_internal (XDR *__xdrs, int *__up)
-  attribute_hidden;
-extern bool_t xdr_short_internal (XDR *__xdrs, short *__usp)
-  attribute_hidden;
-extern bool_t xdr_enum_internal (XDR *__xdrs, enum_t *__ep)
-  attribute_hidden;
-extern bool_t xdr_union_internal (XDR *__xdrs, enum_t *__dscmp, char *__unp,
-				  const struct xdr_discrim *choices,
-				  xdrproc_t dfault) attribute_hidden;
-extern bool_t xdr_string_internal (XDR *__xdrs, char **__cpp, u_int __maxsize);
-extern bool_t xdr_array_internal (XDR * _xdrs, caddr_t *__addrp,
-				  u_int *__sizep, u_int __maxsize,
-				  u_int __elsize, xdrproc_t __elproc)
-  attribute_hidden;
-extern bool_t xdr_reference_internal (XDR *__xdrs, caddr_t *__xpp,
-				      u_int __size, xdrproc_t __proc)
-  attribute_hidden;
-extern bool_t xdr_bytes_internal (XDR *xdrs, char **cpp, u_int *sizep,
-				  u_int maxsize) attribute_hidden;
-extern bool_t xdr_netobj_internal (XDR *__xdrs, struct netobj *__np)
-  attribute_hidden;
-extern bool_t xdr_opaque_internal (XDR *__xdrs, caddr_t __cp, u_int __cnt)
-  attribute_hidden;
-extern void xdrrec_create_internal (XDR *__xdrs, u_int __sendsize,
-				    u_int __recvsize, caddr_t __tcp_handle,
-				    int (*__readit) (char *, char *, int),
-				    int (*__writeit) (char *, char *, int))
-  attribute_hidden;
-extern void xdrmem_create_internal (XDR *, const caddr_t, u_int, enum xdr_op)
-  attribute_hidden;
-extern bool_t xdrrec_endofrecord_internal (XDR *__xdrs, bool_t __sendnow)
-  attribute_hidden;
-extern bool_t xdrrec_skiprecord_internal (XDR *__xdrs)
-  attribute_hidden;
-extern bool_t xdrrec_eof_internal (XDR *__xdrs)
-  attribute_hidden;
-
 libc_hidden_proto (xdrstdio_create)
+libc_hidden_proto (xdr_array)
+libc_hidden_proto (xdr_bool)
+libc_hidden_proto (xdr_bytes)
+libc_hidden_proto (xdr_char)
+libc_hidden_proto (xdr_double)
+libc_hidden_proto (xdr_enum)
+libc_hidden_proto (xdr_float)
+libc_hidden_proto (xdr_free)
+libc_hidden_proto (xdr_int)
+libc_hidden_proto (xdr_long)
+libc_hidden_proto (xdr_netobj)
+libc_hidden_proto (xdr_opaque)
+libc_hidden_proto (xdr_pointer)
+libc_hidden_proto (xdr_reference)
+libc_hidden_proto (xdr_short)
+libc_hidden_proto (xdr_string)
+libc_hidden_proto (xdr_u_char)
+libc_hidden_proto (xdr_u_int)
+libc_hidden_proto (xdr_u_long)
+libc_hidden_proto (xdr_u_short)
+libc_hidden_proto (xdr_union)
+libc_hidden_proto (xdr_vector)
+libc_hidden_proto (xdr_void)
+libc_hidden_proto (xdr_wrapstring)
+libc_hidden_proto (xdrmem_create)
+libc_hidden_proto (xdrrec_create)
+libc_hidden_proto (xdrrec_endofrecord)
+libc_hidden_proto (xdrrec_eof)
+libc_hidden_proto (xdrrec_skiprecord)
+libc_hidden_proto (xdr_int16_t)
+libc_hidden_proto (xdr_int32_t)
+libc_hidden_proto (xdr_int8_t)
+libc_hidden_proto (xdr_sizeof)
+libc_hidden_proto (xdr_uint16_t)
+libc_hidden_proto (xdr_uint32_t)
+libc_hidden_proto (xdr_uint8_t)
+libc_hidden_proto (xdr_hyper)
+libc_hidden_proto (xdr_u_hyper)
+libc_hidden_proto (xdr_longlong_t)
+libc_hidden_proto (xdr_u_longlong_t)
+libc_hidden_proto (xdr_int64_t)
+libc_hidden_proto (xdr_uint64_t)
+libc_hidden_proto (xdr_quad_t)
+libc_hidden_proto (xdr_u_quad_t)

Modified: trunk/libc/inet/getnameinfo.c
==============================================================================
--- trunk/libc/inet/getnameinfo.c (original)
+++ trunk/libc/inet/getnameinfo.c Thu May  5 04:06:02 2011
@@ -159,7 +159,7 @@
 int
 getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
 	     socklen_t hostlen, char *serv, socklen_t servlen,
-	     unsigned int flags)
+	     int flags)
 {
   int serrno = errno;
   int tmpbuflen = 1024;
@@ -385,7 +385,7 @@
 	break;
 
       default:
-        return EAI_FAMILY;
+	return EAI_FAMILY;
     }
 
   if (serv && (servlen > 0))

Modified: trunk/libc/io/fchmod.c
==============================================================================
--- trunk/libc/io/fchmod.c (original)
+++ trunk/libc/io/fchmod.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-/* Change the protections of the file FD refers to to MODE.  */
+/* Change the permissions of the file referenced by FD to MODE.  */
 int
 __fchmod (fd, mode)
      int fd;

Modified: trunk/libc/libio/fileops.c
==============================================================================
--- trunk/libc/libio/fileops.c (original)
+++ trunk/libc/libio/fileops.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007, 2008, 2009
+/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007, 2008, 2009, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@xxxxxxxxxx>.
@@ -291,7 +291,7 @@
 #ifdef _LIBC
   last_recognized = mode;
 #endif
-  for (i = 1; i < 6; ++i)
+  for (i = 1; i < 7; ++i)
     {
       switch (*++mode)
 	{
@@ -515,7 +515,7 @@
   if (fp->_flags & _IO_IS_APPENDING)
     /* On a system without a proper O_APPEND implementation,
        you would need to sys_seek(0, SEEK_END) here, but is
-       is not needed nor desirable for Unix- or Posix-like systems.
+       not needed nor desirable for Unix- or Posix-like systems.
        Instead, just indicate that offset (before and after) is
        unpredictable. */
     fp->_offset = _IO_pos_BAD;
@@ -1005,18 +1005,18 @@
       /* Adjust for read-ahead (bytes is buffer). */
       offset -= fp->_IO_read_end - fp->_IO_read_ptr;
       if (fp->_offset == _IO_pos_BAD)
-        {
-          if (mode != 0)
-            goto dumb;
-          else
-            {
-              result = _IO_SYSSEEK (fp, 0, dir);
-              if (result == EOF)
-                return result;
-
-              fp->_offset = result;
-            }
-        }
+	{
+	  if (mode != 0)
+	    goto dumb;
+	  else
+	    {
+	      result = _IO_SYSSEEK (fp, 0, dir);
+	      if (result == EOF)
+		return result;
+
+	      fp->_offset = result;
+	    }
+	}
       /* Make offset absolute, assuming current pointer is file_ptr(). */
       offset += fp->_offset;
       if (offset < 0)
@@ -1117,7 +1117,7 @@
   /* We need to do it since it is possible that the file offset in
      the kernel may be changed behind our back. It may happen when
      we fopen a file and then do a fork. One process may access the
-     the file and the kernel file offset will be changed. */
+     file and the kernel file offset will be changed. */
   if (fp->_offset >= 0)
     _IO_SYSSEEK (fp, fp->_offset, 0);
 
@@ -1278,7 +1278,7 @@
 	{
 	  f->_flags |= _IO_ERR_SEEN;
 	  break;
-        }
+	}
       to_do -= count;
       data = (void *) ((char *) data + count);
     }
@@ -1366,12 +1366,12 @@
       do_write = to_do - (block_size >= 128 ? to_do % block_size : 0);
 
       if (do_write)
-        {
+	{
 	  count = new_do_write (f, s, do_write);
 	  to_do -= count;
 	  if (count < do_write)
 	    return n - to_do;
-        }
+	}
 
       /* Now write out the remainder.  Normally, this will fit in the
 	 buffer, but it's somewhat messier for line-buffered files,

Modified: trunk/libc/libio/oldfileops.c
==============================================================================
--- trunk/libc/libio/oldfileops.c (original)
+++ trunk/libc/libio/oldfileops.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997-2004, 2005, 2007
+/* Copyright (C) 1993, 1995, 1997-2004, 2005, 2007, 2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@xxxxxxxxxx>.
@@ -299,7 +299,7 @@
   if (fp->_flags & _IO_IS_APPENDING)
     /* On a system without a proper O_APPEND implementation,
        you would need to sys_seek(0, SEEK_END) here, but is
-       is not needed nor desirable for Unix- or Posix-like systems.
+       not needed nor desirable for Unix- or Posix-like systems.
        Instead, just indicate that offset (before and after) is
        unpredictable. */
     fp->_old_offset = _IO_pos_BAD;
@@ -654,7 +654,7 @@
   /* We need to do it since it is possible that the file offset in
      the kernel may be changed behind our back. It may happen when
      we fopen a file and then do a fork. One process may access the
-     the file and the kernel file offset will be changed. */
+     file and the kernel file offset will be changed. */
   if (fp->_old_offset >= 0)
     _IO_SYSSEEK (fp, fp->_old_offset, 0);
 

Modified: trunk/libc/libio/wfileops.c
==============================================================================
--- trunk/libc/libio/wfileops.c (original)
+++ trunk/libc/libio/wfileops.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,1995,1997-2004,2006,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1993,1995,1997-2004,2006,2009,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@xxxxxxxxxx>.
    Based on the single byte version by Per Bothner <bothner@xxxxxxxxxx>.
@@ -759,7 +759,7 @@
   /* We need to do it since it is possible that the file offset in
      the kernel may be changed behind our back. It may happen when
      we fopen a file and then do a fork. One process may access the
-     the file and the kernel file offset will be changed. */
+     file and the kernel file offset will be changed. */
   if (fp->_offset >= 0)
     _IO_SYSSEEK (fp, fp->_offset, 0);
 

Modified: trunk/libc/locale/programs/ld-collate.c
==============================================================================
--- trunk/libc/locale/programs/ld-collate.c (original)
+++ trunk/libc/locale/programs/ld-collate.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2003, 2005-2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2003, 2005-2008, 2009, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1995.
 
@@ -2454,7 +2454,7 @@
  	  elem_table[idx * 2] = hash;
 	  elem_table[idx * 2 + 1] = obstack_object_size (&extrapool);
 
-	  /* The the string itself including length.  */
+	  /* The string itself including length.  */
 	  obstack_1grow (&extrapool, namelen);
 	  obstack_grow (&extrapool, runp->name, namelen);
 

Modified: trunk/libc/malloc/malloc.c
==============================================================================
--- trunk/libc/malloc/malloc.c (original)
+++ trunk/libc/malloc/malloc.c Thu May  5 04:06:02 2011
@@ -1,5 +1,5 @@
 /* Malloc implementation for multiple threads without lock contention.
-   Copyright (C) 1996-2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1996-2009, 2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Wolfram Gloger <wg@xxxxxxxxx>
    and Doug Lea <dl@xxxxxxxxxxxxx>, 2001.
@@ -2774,7 +2774,7 @@
     always true of any allocated chunk; i.e., that each allocated
     chunk borders either a previously allocated and still in-use
     chunk, or the base of its memory arena. This is ensured
-    by making all allocations from the the `lowest' part of any found
+    by making all allocations from the `lowest' part of any found
     chunk.  This does not necessarily hold however for chunks
     recycled via fastbins.
   */

Modified: trunk/libc/manual/stdio.texi
==============================================================================
--- trunk/libc/manual/stdio.texi (original)
+++ trunk/libc/manual/stdio.texi Thu May  5 04:06:02 2011
@@ -4329,7 +4329,7 @@
 @item
 In a call to @code{fseek} or @code{fseeko} on a text stream, either the
 @var{offset} must be zero, or @var{whence} must be @code{SEEK_SET} and
-and the @var{offset} must be the result of an earlier call to @code{ftell}
+the @var{offset} must be the result of an earlier call to @code{ftell}
 on the same stream.
 
 @item

Modified: trunk/libc/misc/fchflags.c
==============================================================================
--- trunk/libc/misc/fchflags.c (original)
+++ trunk/libc/misc/fchflags.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2004, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 #include <stddef.h>
 #include <sys/stat.h>
 
-/* Change the flags of the file FD refers to to FLAGS.  */
+/* Change the flags of the file referenced by FD to FLAGS.  */
 
 int fchflags (int fd, int flags) __THROW;
 

Modified: trunk/libc/misc/ftruncate.c
==============================================================================
--- trunk/libc/misc/ftruncate.c (original)
+++ trunk/libc/misc/ftruncate.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 1998, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-/* Truncate the file FD refers to to LENGTH bytes.  */
+/* Truncate the file referenced by FD to LENGTH bytes.  */
 int
 __ftruncate (fd, length)
      int fd;

Modified: trunk/libc/misc/ftruncate64.c
==============================================================================
--- trunk/libc/misc/ftruncate64.c (original)
+++ trunk/libc/misc/ftruncate64.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2001, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <unistd.h>
 
-/* Truncate the file FD refers to to LENGTH bytes.  */
+/* Truncate the file referenced by FD to LENGTH bytes.  */
 int
 __ftruncate64 (fd, length)
      int fd;

Modified: trunk/libc/misc/tst-efgcvt.c
==============================================================================
--- trunk/libc/misc/tst-efgcvt.c (original)
+++ trunk/libc/misc/tst-efgcvt.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2004, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -184,7 +184,7 @@
   (void) ecvt (123.456, 10000, &decpt, &sign);
   (void) fcvt (123.456, 10000, &decpt, &sign);
 
-  /* Some tests for for the reentrant functions.  */
+  /* Some tests for the reentrant functions.  */
   /* Use a too small buffer.  */
   res = ecvt_r (123.456, 10, &decpt, &sign, buf, 1);
   if (res == 0)

Modified: trunk/libc/nis/Makefile
==============================================================================
--- trunk/libc/nis/Makefile (original)
+++ trunk/libc/nis/Makefile Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1996,1997,1998,2001,2004,2006 Free Software Foundation, Inc.
+# Copyright (C) 1996-1998,2001,2004,2006,2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -54,9 +54,9 @@
 vpath %.c $(subdir-dirs)
 
 libnsl-routines = yp_xdr ypclnt ypupdate_xdr \
-                  nis_subr nis_local_names nis_free nis_file \
-                  nis_print nis_error nis_call nis_lookup\
-                  nis_table nis_xdr nis_server nis_ping \
+		  nis_subr nis_local_names nis_free nis_file \
+		  nis_print nis_error nis_call nis_lookup\
+		  nis_table nis_xdr nis_server nis_ping \
 		  nis_checkpoint nis_mkdir nis_rmdir nis_getservlist\
 		  nis_verifygroup nis_ismember nis_addmember nis_util\
 		  nis_removemember nis_creategroup nis_destroygroup\
@@ -87,8 +87,9 @@
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
+libnsl-libc = $(common-objpfx)linkobj/libc.so
 $(services-y:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: \
-	$(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
+	$(libnsl-libc) $(common-objpfx)libc_nonshared.a
 
 
 ifeq ($(build-shared),yes)

Modified: trunk/libc/nptl/ChangeLog
==============================================================================
--- trunk/libc/nptl/ChangeLog (original)
+++ trunk/libc/nptl/ChangeLog Thu May  5 04:06:02 2011
@@ -1,3 +1,10 @@
+2011-04-10  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12650]
+	* allocatestack.c (get_cached_stack): Deallocate DTV entries before
+	clearing memory.
+	Patch partly by Robert Rex <robert.rex@xxxxxxxxxx>.
+
 2011-01-19  Roland McGrath  <roland@xxxxxxxxxx>
 
 	* pthread_cond_wait.c (__pthread_cond_wait): Fix comment typo.

Modified: trunk/libc/nptl/allocatestack.c
==============================================================================
--- trunk/libc/nptl/allocatestack.c (original)
+++ trunk/libc/nptl/allocatestack.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2007, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -26,6 +26,7 @@
 #include <sys/mman.h>
 #include <sys/param.h>
 #include <dl-sysdep.h>
+#include <dl-tls.h>
 #include <tls.h>
 #include <lowlevellock.h>
 #include <kernel-features.h>
@@ -241,6 +242,10 @@
 
   /* Clear the DTV.  */
   dtv_t *dtv = GET_DTV (TLS_TPADJ (result));
+  for (size_t cnt = 0; cnt < dtv[-1].counter; ++cnt)
+    if (! dtv[1 + cnt].pointer.is_static
+	&& dtv[1 + cnt].pointer.val != TLS_DTV_UNALLOCATED)
+      free (dtv[1 + cnt].pointer.val);
   memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t));
 
   /* Re-initialize the TLS.  */

Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_kill.c
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_kill.c (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_kill.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2006, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -45,7 +45,7 @@
     /* Not a valid thread handle.  */
     return ESRCH;
 
-  /* Disallow sending the signal we use for cancellation, timers, for
+  /* Disallow sending the signal we use for cancellation, timers,
      for the setxid implementation.  */
   if (signo == SIGCANCEL || signo == SIGTIMER || signo == SIGSETXID)
     return EINVAL;

Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_sigqueue.c
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_sigqueue.c (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/pthread_sigqueue.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2009.
 
@@ -49,7 +49,7 @@
     /* Not a valid thread handle.  */
     return ESRCH;
 
-  /* Disallow sending the signal we use for cancellation, timers, for
+  /* Disallow sending the signal we use for cancellation, timers,
      for the setxid implementation.  */
   if (signo == SIGCANCEL || signo == SIGTIMER || signo == SIGSETXID)
     return EINVAL;

Modified: trunk/libc/nptl/tst-kill4.c
==============================================================================
--- trunk/libc/nptl/tst-kill4.c (original)
+++ trunk/libc/nptl/tst-kill4.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2003.
 
@@ -67,7 +67,7 @@
 
   /* The following only works because we assume here something about
      the implementation.  Namely, that the memory allocated for the
-     thread descriptor is not going away, that the the TID field is
+     thread descriptor is not going away, that the TID field is
      cleared and therefore the signal is sent to process 0, and that
      we can savely assume there is no other process with this ID at
      that time.  */

Modified: trunk/libc/nscd/connections.c
==============================================================================
--- trunk/libc/nscd/connections.c (original)
+++ trunk/libc/nscd/connections.c Thu May  5 04:06:02 2011
@@ -1583,7 +1583,7 @@
 
 
 /* This is the main loop.  It is replicated in different threads but
-   the the use of the ready list makes sure only one thread handles an
+   the use of the ready list makes sure only one thread handles an
    incoming connection.  */
 static void *
 __attribute__ ((__noreturn__))

Modified: trunk/libc/nscd/selinux.h
==============================================================================
--- trunk/libc/nscd/selinux.h (original)
+++ trunk/libc/nscd/selinux.h Thu May  5 04:06:02 2011
@@ -45,7 +45,7 @@
 extern void nscd_avc_print_stats (struct avc_cache_stats *cstats);
 
 # ifdef HAVE_LIBCAP
-/* Preserve capabilities to connect to connnect to the audit daemon.  */
+/* Preserve capabilities to connect to the audit daemon. */
 extern cap_t preserve_capabilities (void);
 /* Install final capabilities.  */
 extern void install_real_capabilities (cap_t new_caps);

Modified: trunk/libc/nss/Makefile
==============================================================================
--- trunk/libc/nss/Makefile (original)
+++ trunk/libc/nss/Makefile Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-1998,2000-2002,2007,2009,2010
+# Copyright (C) 1996-1998,2000-2002,2007,2009,2010,2011
 # Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -72,7 +72,7 @@
 
 
 libnss_files-routines	:= $(addprefix files-,$(databases-y)) \
-			   files-have_o_cloexec
+			   files-initgroups files-have_o_cloexec
 distribute		+= files-XXX.c files-parse.c
 
 
@@ -130,7 +130,8 @@
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
-$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so \
+libnss-libc = $(common-objpfx)linkobj/libc.so
+$(services:%=$(objpfx)libnss_%.so): $(libnss-libc) \
 				    $(common-objpfx)libc_nonshared.a
 
 

Modified: trunk/libc/nss/Versions
==============================================================================
--- trunk/libc/nss/Versions (original)
+++ trunk/libc/nss/Versions Thu May  5 04:06:02 2011
@@ -95,5 +95,7 @@
     _nss_netgroup_parseline;
     _nss_files_getpublickey;
     _nss_files_getsecretkey;
+
+    _nss_files_initgroups_dyn;
   }
 }

Modified: trunk/libc/nss/getnssent_r.c
==============================================================================
--- trunk/libc/nss/getnssent_r.c (original)
+++ trunk/libc/nss/getnssent_r.c Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002, 2004, 2007, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -171,7 +171,7 @@
       status = DL_CALL_FCT (fct.f,
 			    (resbuf, buffer, buflen, &errno, h_errnop));
 
-      /* The the status is NSS_STATUS_TRYAGAIN and errno is ERANGE the
+      /* The status is NSS_STATUS_TRYAGAIN and errno is ERANGE the
 	 provided buffer is too small.  In this case we should give
 	 the user the possibility to enlarge the buffer and we should
 	 not simply go on with the next service (even if the TRYAGAIN

Modified: trunk/libc/nss/nsswitch.conf
==============================================================================
--- trunk/libc/nss/nsswitch.conf (original)
+++ trunk/libc/nss/nsswitch.conf Thu May  5 04:06:02 2011
@@ -5,6 +5,7 @@
 
 passwd:		db files
 group:		db files
+initgroups:	db files
 shadow:		db files
 gshadow:	files
 

Modified: trunk/libc/po/ru.po
==============================================================================
--- trunk/libc/po/ru.po (original)
+++ trunk/libc/po/ru.po Thu May  5 04:06:02 2011
@@ -7,19 +7,20 @@
 # Oleg Tihonov <ost@xxxxxxxxxx>, 2005, 2007.
 # Dimitriy Ryazantcev <DJm00n@xxxxxxx>, 2009.
 # Pavel Maryanov <acid_jack@xxxxxxx>, 2009.
-# Yuri Kozlov <yuray@xxxxxxxxxxxx>, 2009.
+# Yuri Kozlov <yuray@xxxxxxxxxxxx>, 2009, 2011.
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.9.90\n"
+"Project-Id-Version: libc 2.11.1\n"
 "POT-Creation-Date: 2009-02-06 12:40-0800\n"
-"PO-Revision-Date: 2009-03-07 09:59+0300\n"
+"PO-Revision-Date: 2011-04-18 21:17+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@xxxxxxxxxxxx>\n"
 "Language-Team: Russian <gnu@xxxxx>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 1.0\n"
 
 #: argp/argp-help.c:228
 #, c-format
@@ -267,7 +268,7 @@
 
 #: debug/pcprofiledump.c:53
 msgid "Don't buffer output"
-msgstr "Не буферировать вывод"
+msgstr "Не буферизировать вывод"
 
 #: debug/pcprofiledump.c:58
 msgid "Dump information generated by PC profiling."
@@ -409,17 +410,17 @@
 #: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430
 #, c-format
 msgid "Writing of cache data failed"
-msgstr "Запись данных кэша неуспешна"
+msgstr "Запись данных кэша завершилась неудачно"
 
 #: elf/cache.c:435
 #, c-format
 msgid "Changing access rights of %s to %#o failed"
-msgstr "Изменение прав доступа для %s на %#o неуспешно"
+msgstr "Изменение прав доступа для %s на %#o завершилось неудачно"
 
 #: elf/cache.c:440
 #, c-format
 msgid "Renaming of %s to %s failed"
-msgstr "Переименование %s в %s неуспешно"
+msgstr "Переименование %s в %s завершилось неудачно"
 
 #: elf/dl-close.c:378 elf/dl-open.c:460
 msgid "cannot create scope list"
@@ -794,7 +795,7 @@
 
 #: elf/ldconfig.c:519
 msgid " (changed)\n"
-msgstr " (именено)\n"
+msgstr " (изменено)\n"
 
 #: elf/ldconfig.c:521
 msgid " (SKIPPED)\n"
@@ -1112,12 +1113,12 @@
 #: elf/sprof.c:555 elf/sprof.c:649
 #, c-format
 msgid "reading of section headers failed"
-msgstr "чтение заголовков секции неуспешно"
+msgstr "чтение заголовков секции завершилось неудачно"
 
 #: elf/sprof.c:563 elf/sprof.c:657
 #, c-format
 msgid "reading of section header string table failed"
-msgstr "чтение строки заголовка секции неуспешно"
+msgstr "чтение строки заголовка секции завершилось неудачно"
 
 #: elf/sprof.c:589
 #, c-format
@@ -1132,7 +1133,7 @@
 #: elf/sprof.c:642
 #, c-format
 msgid "reading of ELF header failed"
-msgstr "считывание заголовка ELF неуспешно"
+msgstr "считывание заголовка ELF завершилось неудачно"
 
 #: elf/sprof.c:678
 #, c-format
@@ -1237,7 +1238,7 @@
 
 #: iconv/iconv_prog.c:65 locale/programs/localedef.c:127
 msgid "Output control:"
-msgstr "Усправление выводом:"
+msgstr "Управление выводом:"
 
 #: iconv/iconv_prog.c:66
 msgid "omit invalid characters from output"
@@ -1412,7 +1413,7 @@
 
 #: inet/rcmd.c:481
 msgid "lstat failed"
-msgstr "lstat неуспешна"
+msgstr "lstat завершился неудачно"
 
 #: inet/rcmd.c:488
 msgid "cannot open"
@@ -1420,7 +1421,7 @@
 
 #: inet/rcmd.c:490
 msgid "fstat failed"
-msgstr "fstat неуспешна"
+msgstr "fstat завершился неудачно"
 
 #: inet/rcmd.c:492
 msgid "bad owner"
@@ -1444,7 +1445,7 @@
 
 #: inet/ruserpass.c:185
 msgid "Remove password or make file unreadable by others."
-msgstr "Удалите пароль или сделайте файл нечитаемым другими."
+msgstr "Удалите пароль или сделайте файл недоступным для чтения другими."
 
 #: inet/ruserpass.c:277
 #, c-format
@@ -1606,7 +1607,7 @@
 
 #: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
 msgid "hexadecimal range format should use only capital characters"
-msgstr "в шестнадцатиричном формате диапазона следует использовать только заглавные буквы"
+msgstr "в шестнадцатеричном формате диапазона следует использовать только заглавные буквы"
 
 #: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
 #, c-format
@@ -1897,7 +1898,7 @@
 #: locale/programs/ld-collate.c:3164
 #, c-format
 msgid "%s: unknown character in equivalent definition value"
-msgstr "%s: неизвестный знак в значении определеная эквивалентности"
+msgstr "%s: неизвестный знак в эквиваленте определяемого значения"
 
 #: locale/programs/ld-collate.c:3174
 #, c-format
@@ -2128,7 +2129,7 @@
 
 #: locale/programs/ld-ctype.c:2517
 msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
-msgstr "с UCS-значениями диапазона следует использовать шестнадцатиричный символьный эллипсис «..»"
+msgstr "с UCS-значениями диапазона следует использовать шестнадцатеричный символьный эллипсис «..»"
 
 #: locale/programs/ld-ctype.c:2531
 msgid "with character code range values one must use the absolute ellipsis `...'"
@@ -2175,7 +2176,7 @@
 #: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364
 #, c-format
 msgid "%s: character `%s' in charmap not representable with one byte"
-msgstr "%s: знак «%s» в отображении знаков непредставим одним байтом"
+msgstr "%s: знак «%s» в отображении знаков не представим одним байтом"
 
 #: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433
 #, c-format
@@ -2384,7 +2385,7 @@
 
 #: locale/programs/linereader.c:669
 msgid "non-symbolic character value should not be used"
-msgstr "не стоит использовать несимвольное знаковое значение"
+msgstr "не стоит использовать не символьное знаковое значение"
 
 #: locale/programs/linereader.c:816
 #, c-format
@@ -2688,7 +2689,7 @@
 #: locale/programs/locarchive.c:1148
 #, c-format
 msgid "stat of \"%s\" failed: %s: ignored"
-msgstr "операция stat для «%s» неуспешна: %s: игнорировано"
+msgstr "операция stat для «%s» завершилась неудачно: %s: игнорировано"
 
 #: locale/programs/locarchive.c:1154
 #, c-format
@@ -2788,7 +2789,7 @@
 "\n"
 "%s"
 msgstr ""
-"Владелец устанавлен в текущего пользователя, группа устанавлена в «%s», права доступа устанавлены в «%o».\n"
+"Владелец установлен в текущего пользователя, группа установлена в «%s», права доступа установлены в «%o».\n"
 "\n"
 "%s"
 
@@ -3092,7 +3093,7 @@
 
 #: nis/nis_error.h:36
 msgid "Modify operation failed"
-msgstr "Операция модификации неуспешна"
+msgstr "Операция по изменению завершилась неудачно"
 
 #: nis/nis_error.h:37
 msgid "Query illegal for named table"
@@ -3112,7 +3113,7 @@
 
 #: nis/nis_error.h:41
 msgid "NIS+ operation failed"
-msgstr "Операция NIS+ неуспешна"
+msgstr "Операция NIS+ завершилась неудачно"
 
 #: nis/nis_error.h:42
 msgid "NIS+ service is unavailable or not installed"
@@ -3124,11 +3125,11 @@
 
 #: nis/nis_error.h:44
 msgid "Unable to authenticate NIS+ server"
-msgstr "Не удалось аутенфицировать сервер NIS+"
+msgstr "Не удалось аутентифицировать сервер NIS+"
 
 #: nis/nis_error.h:45
 msgid "Unable to authenticate NIS+ client"
-msgstr "Не удалось аутенфицировать клиент NIS+"
+msgstr "Не удалось аутентифицировать клиент NIS+"
 
 #: nis/nis_error.h:46
 msgid "No file space on server"
@@ -3577,7 +3578,7 @@
 
 #: nis/ypclnt.c:974
 msgid "yp_update: cannot convert host to netname\n"
-msgstr "yp_update: невозможно преобразовать хост в netname\n"
+msgstr "yp_update: невозможно преобразовать узел в сетевое имя\n"
 
 #: nis/ypclnt.c:992
 msgid "yp_update: cannot get server address\n"
@@ -3586,12 +3587,12 @@
 #: nscd/aicache.c:82 nscd/hstcache.c:481
 #, c-format
 msgid "Haven't found \"%s\" in hosts cache!"
-msgstr "Не найдено «%s» в кэше хостов!"
+msgstr "Не найдено «%s» в кэше узлов!"
 
 #: nscd/aicache.c:84 nscd/hstcache.c:483
 #, c-format
 msgid "Reloading \"%s\" in hosts cache!"
-msgstr "Перезагрузка «%s» в кэше хостов!"
+msgstr "Перезагрузка «%s» в кэше узлов!"
 
 #: nscd/cache.c:150
 #, c-format
@@ -3610,7 +3611,7 @@
 #: nscd/cache.c:328
 #, c-format
 msgid "pruning %s cache; time %ld"
-msgstr "очитка %s кэша; время %ld"
+msgstr "очистка %s кэша; время %ld"
 
 #: nscd/cache.c:357
 #, c-format
@@ -4162,7 +4163,7 @@
 #: nscd/selinux.c:178 nscd/selinux.c:241
 #, c-format
 msgid "prctl(KEEPCAPS) failed"
-msgstr "prctl(KEEPCAPS) неуспешна"
+msgstr "prctl(KEEPCAPS) завершился неудачно"
 
 #: nscd/selinux.c:192
 msgid "Failed to initialize drop of capabilities"
@@ -4171,7 +4172,7 @@
 #: nscd/selinux.c:193
 #, c-format
 msgid "cap_init failed"
-msgstr "cap_init неуспешна"
+msgstr "cap_init завершился неудачно"
 
 #: nscd/selinux.c:214 nscd/selinux.c:231
 msgid "Failed to drop capabilities"
@@ -4180,7 +4181,7 @@
 #: nscd/selinux.c:215 nscd/selinux.c:232
 #, c-format
 msgid "cap_set_proc failed"
-msgstr "cap_set_proc неуспешна"
+msgstr "cap_set_proc завершился неудачно"
 
 #: nscd/selinux.c:240
 msgid "Failed to unset keep-capabilities"
@@ -4530,11 +4531,11 @@
 
 #: resolv/herror.c:69
 msgid "Unknown host"
-msgstr "Неизвестный хост"
+msgstr "Неизвестный узел"
 
 #: resolv/herror.c:70
 msgid "Host name lookup failure"
-msgstr "Сбой поиска имени хоста"
+msgstr "Сбой поиска имени узла"
 
 #: resolv/herror.c:71
 msgid "Unknown server error"
@@ -4685,7 +4686,7 @@
 
 #: sunrpc/clnt_perr.c:210
 msgid "RPC: Unknown host"
-msgstr "RPC: Неизвестный хост"
+msgstr "RPC: Неизвестный узел"
 
 #: sunrpc/clnt_perr.c:214
 msgid "RPC: Unknown protocol"
@@ -5077,15 +5078,15 @@
 
 #: sunrpc/rpcinfo.c:691
 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
-msgstr "Usage: rpcinfo [ -n номер-порта ] -u хост номер-программы [ номер-версии ]\n"
+msgstr "Usage: rpcinfo [ -n номер-порта ] -u узел номер-программы [ номер-версии ]\n"
 
 #: sunrpc/rpcinfo.c:693
 msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
-msgstr "       rpcinfo [ -n номер-порта ] -t хост номер-программы [ номер-версии ]\n"
+msgstr "       rpcinfo [ -n номер-порта ] -t узел номер-программы [ номер-версии ]\n"
 
 #: sunrpc/rpcinfo.c:695
 msgid "       rpcinfo -p [ host ]\n"
-msgstr "       rpcinfo -p [ хост ]\n"
+msgstr "       rpcinfo -p [ узел ]\n"
 
 #: sunrpc/rpcinfo.c:696
 msgid "       rpcinfo -b prognum versnum\n"
@@ -5103,7 +5104,7 @@
 #: sunrpc/rpcinfo.c:759
 #, c-format
 msgid "rpcinfo: %s is unknown host\n"
-msgstr "rpcinfo: хост %s неизвестен\n"
+msgstr "rpcinfo: узел %s неизвестен\n"
 
 #: sunrpc/svc_run.c:70
 msgid "svc_run: - out of memory"
@@ -5111,7 +5112,7 @@
 
 #: sunrpc/svc_run.c:90
 msgid "svc_run: - poll failed"
-msgstr "svc_run: -- опрос неуспешен"
+msgstr "svc_run: — опрос завершился неудачно"
 
 #: sunrpc/svc_simple.c:87
 #, c-format
@@ -5767,12 +5768,12 @@
 #. TRANS The remote host for a requested network connection is down.
 #: sysdeps/gnu/errlist.c:726
 msgid "Host is down"
-msgstr "Хост выключен"
+msgstr "Узел выключен"
 
 #. TRANS The remote host for a requested network connection is not reachable.
 #: sysdeps/gnu/errlist.c:735
 msgid "No route to host"
-msgstr "Нет пути до хоста"
+msgstr "Нет маршрута до узла"
 
 #. TRANS Directory not empty, where an empty directory was expected.  Typically,
 #. TRANS this error occurs when you are trying to delete a directory.
@@ -5804,7 +5805,7 @@
 #. TRANS the NFS file system on the local host.
 #: sysdeps/gnu/errlist.c:787
 msgid "Stale NFS file handle"
-msgstr "Устаревший хэндл файла NFS"
+msgstr "Устаревший дескриптор файла NFS"
 
 #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
 #. TRANS already specifies an NFS-mounted file.
@@ -6174,7 +6175,7 @@
 
 #: sysdeps/posix/gai_strerror-strs.h:1
 msgid "Address family for hostname not supported"
-msgstr "Семейство адресов не поддерживается для данного имени хоста"
+msgstr "Семейство адресов не поддерживается для данного имени узла"
 
 #: sysdeps/posix/gai_strerror-strs.h:2
 msgid "Temporary failure in name resolution"
@@ -6198,7 +6199,7 @@
 
 #: sysdeps/posix/gai_strerror-strs.h:7
 msgid "No address associated with hostname"
-msgstr "С именем хоста не связано ни одного адреса"
+msgstr "С именем узла не связано ни одного адреса"
 
 #: sysdeps/posix/gai_strerror-strs.h:8
 msgid "Name or service not known"

Modified: trunk/libc/resolv/netdb.h
==============================================================================
--- trunk/libc/resolv/netdb.h (original)
+++ trunk/libc/resolv/netdb.h Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-  /* Copyright (C) 1996-2004, 2009, 2010 Free Software Foundation, Inc.
+  /* Copyright (C) 1996-2004, 2009, 2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -679,7 +679,7 @@
 extern int getnameinfo (__const struct sockaddr *__restrict __sa,
 			socklen_t __salen, char *__restrict __host,
 			socklen_t __hostlen, char *__restrict __serv,
-			socklen_t __servlen, unsigned int __flags);
+			socklen_t __servlen, int __flags);
 #endif	/* POSIX */
 
 #ifdef __USE_GNU

Modified: trunk/libc/stdlib/Makefile
==============================================================================
--- trunk/libc/stdlib/Makefile (original)
+++ trunk/libc/stdlib/Makefile Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1991-2009, 2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -80,7 +80,7 @@
 		   test-a64l tst-qsort tst-system bug-strtod2		    \
 		   tst-atof1 tst-atof2 tst-strtod2 tst-rand48-2             \
 		   tst-makecontext tst-qsort2 tst-makecontext2 tst-strtod6  \
-		   tst-unsetenv1 tst-makecontext3
+		   tst-unsetenv1 tst-makecontext3 bug-getcontext
 tests-$(OPTION_EGLIBC_LOCALE_CODE) \
 		+= tst-strtod3 tst-strtod4 tst-strtod5 testmb2
 tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \
@@ -159,3 +159,10 @@
 $(objpfx)tst-putenvmod.so: $(objpfx)tst-putenvmod.os
 	$(build-module)
 CFLAGS-tst-putenvmod.c = -DNOT_IN_libc=1
+
+ifeq ($(build-shared),yes)
+link-libm = $(common-objpfx)math/libm.so
+else
+link-libm = $(common-objpfx)math/libm.a
+endif
+$(objpfx)bug-getcontext: $(link-libm)

Modified: trunk/libc/stdlib/gmp-impl.h
==============================================================================
--- trunk/libc/stdlib/gmp-impl.h (original)
+++ trunk/libc/stdlib/gmp-impl.h Thu May  5 04:06:02 2011
@@ -1,6 +1,6 @@
 /* Include file for internal GNU MP types and definitions.
 
-Copyright (C) 1991, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+Copyright (C) 1991, 1993, 1994, 1995, 1996, 2011 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -241,7 +241,7 @@
     (r) = _r;								\
     (q) = _q;								\
   } while (0)
-/* Like udiv_qrnnd_preinv, but for for any value D.  DNORM is D shifted left
+/* Like udiv_qrnnd_preinv, but for any value D.  DNORM is D shifted left
    so that its most significant bit is set.  LGUP is ceil(log2(D)).  */
 #define udiv_qrnnd_preinv2gen(q, r, nh, nl, d, di, dnorm, lgup) \
   do {									\

Modified: trunk/libc/sunrpc/Makefile
==============================================================================
--- trunk/libc/sunrpc/Makefile (original)
+++ trunk/libc/sunrpc/Makefile Thu May  5 04:06:02 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1994-2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1994-2004, 2005, 2006, 2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -49,46 +49,61 @@
 rpcsvc = bootparam_prot.x nlm_prot.x rstat.x \
 	 yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
 	 rusers.x spray.x nfs_prot.x rquota.x key_prot.x
-headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \
-			   pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \
-			   svc_auth.h types.h xdr.h auth_des.h \
-			   des_crypt.h key_prot.h rpc_des.h) \
-	  $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
+headers_in_tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
+				    pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h \
+				    svc.h svc_auth.h types.h xdr.h auth_des.h \
+				    des_crypt.h)
+headers_not_in_tirpc = $(addprefix rpc/,netdb.h key_prot.h rpc_des.h) \
+		       $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
 generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
 	    $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
 generated-dirs := rpcsvc
 
+include ../Makeconfig
+
+ifeq ($(versioning),yes)
+need-export-routines-$(OPTION_EGLIBC_SUNRPC) += \
+			auth_des auth_unix clnt_gen clnt_perr clnt_tcp \
+			clnt_udp get_myaddr key_call netname pm_getport \
+			rpc_thread svc svc_tcp svc_udp xdr_array xdr \
+			xdr_intXX_t xdr_mem xdr_ref xdr_sizeof xdr_stdio \
+			svc_run
+
+need-export-routines-y += xcrypt
+
+need-export-routines := $(need-export-routines-y)
+
 routines-$(OPTION_EGLIBC_SUNRPC) \
-         += auth_none auth_unix authuxprot bindrsvprt \
-	    clnt_gen clnt_perr clnt_raw clnt_simp clnt_tcp \
-	    clnt_udp rpc_dtable get_myaddr getrpcport \
-	    pmap_clnt pm_getmaps pm_getport pmap_prot \
-	    pmap_prot2 pmap_rmt rpc_prot rpc_common rpc_cmsg rpc_thread \
-	    svc svc_auth svc_authux svc_raw svc_run svc_simple \
-	    svc_tcp svc_udp xdr xdr_array xdr_float xdr_mem \
-	    xdr_rec xdr_ref xdr_stdio publickey xdr_sizeof \
-	    auth_des authdes_prot \
-	    key_call key_prot netname openchild rtime svcauth_des \
-	    clnt_unix svc_unix create_xid xdr_intXX_t
+	 += auth_none authuxprot bindrsvprt clnt_raw clnt_simp \
+	    rpc_dtable getrpcport pmap_clnt pm_getmaps pmap_prot pmap_prot2 \
+	    pmap_rmt rpc_prot rpc_common rpc_cmsg svc_auth svc_authux svc_raw \
+	    svc_simple xdr_float xdr_rec publickey authdes_prot \
+	    key_prot openchild rtime svcauth_des \
+	    clnt_unix svc_unix create_xid
 
 # xdecrypt is also used by nss/nss_files/files-key.c.
-routines-y += xcrypt des_crypt des_impl des_soft
-
-others-$(OPTION_EGLIBC_SUNRPC) += rpcinfo
+routines-y += des_crypt des_impl des_soft $(need-export-routines)
+
+# We only add the RPC for compatibility to libc.so.
+shared-only-routines = $(routines)
+endif
+
+# We do not build rpcinfo anymore.  It is not needed for a bootstrap
+# and not wanted on complete systems.
+# others-$(OPTION_EGLIBC_SUNRPC) += rpcinfo
+# install-sbin-$(OPTION_EGLIBC_SUNRPC) += rpcinfo
 install-bin-$(OPTION_EGLIBC_SUNRPC) += rpcgen
-install-sbin-$(OPTION_EGLIBC_SUNRPC) += rpcinfo
 rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
 	      rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \
 	      rpc_tblout.o rpc_sample.o
 # These headers are part of rpcgen.
 distribute := proto.h rpc_util.h rpc_parse.h rpc_scan.h \
+	      $(headers_in_tirpc) $(headers_not_in_tirpc) \
 	      $(rpcgen-objs:.o=.c) etc.rpc \
 	      errqueue.h
 extra-objs-$(OPTION_EGLIBC_SUNRPC) += $(rpcgen-objs)
 
 all: # Make this the default target; it will be defined in Rules.
-
-include ../Makeconfig
 
 install-others-$(OPTION_EGLIBC_SUNRPC) += $(inst_sysconfdir)/rpc
 
@@ -113,6 +128,19 @@
 librpcsvc-routines = $(rpcsvc:%.x=x%)
 librpcsvc-inhibit-o = .os # Build no shared rpcsvc library.
 omit-deps = $(librpcsvc-routines)
+endif
+
+include ../Rules
+
+ifeq (yes,$(build-shared))
+rpc-compat-routines = $(addprefix compat-,$(need-export-routines))
+rpc-compat-routines.os = $(addprefix $(objpfx), \
+				     $(addsuffix .os,$(rpc-compat-routines)))
+subdir_lib: $(objpfx)librpc_compat_pic.a
+$(objpfx)librpc_compat_pic.a: $(rpc-compat-routines.os)
+	$(AR) cr$(verbose) $@ $^
+$(rpc-compat-routines.os): $(objpfx)compat-%.os: %.c $(before-compile)
+	$(compile-command.c) -DEXPORT_RPC_SYMBOLS
 endif
 
 CFLAGS-xbootparam_prot.c = -Wno-unused $(PIC-ccflag)
@@ -136,7 +164,9 @@
 
 CPPFLAGS += -D_RPC_THREAD_SAFE_
 
-include ../Rules
+$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so
+$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so
+$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
 
 $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \
   $(sort $(filter $(common-objpfx)libc%,$(link-libc))) \
@@ -213,4 +243,4 @@

[... 5905 lines stripped ...]