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

[Commits] r18464 - in /fsf/trunk/libc: ./ bits/ elf/ hurd/ hurd/hurd/ include/ include/sys/ io/ libio/ locale/bits/ math/ misc/ nis/ n...



Author: eglibc
Date: Fri May 11 00:01:35 2012
New Revision: 18464

Log:
Import glibc-mainline for 2012-05-11

Added:
    fsf/trunk/libc/sysdeps/gnu/configure
    fsf/trunk/libc/sysdeps/gnu/configure.in
    fsf/trunk/libc/sysdeps/mach/hurd/accept4.c
    fsf/trunk/libc/sysdeps/mach/hurd/bits/socket.h
    fsf/trunk/libc/sysdeps/mach/hurd/dup3.c
    fsf/trunk/libc/sysdeps/mach/hurd/i386/____longjmp_chk.S
    fsf/trunk/libc/sysdeps/mach/hurd/i386/signal-defines.sym
    fsf/trunk/libc/sysdeps/mach/hurd/readlinkat.c
Removed:
    fsf/trunk/libc/sysdeps/unix/sysv/syscalls.list
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/bits/in.h
    fsf/trunk/libc/bits/libc-lock.h
    fsf/trunk/libc/bits/sigaction.h
    fsf/trunk/libc/config.h.in
    fsf/trunk/libc/config.make.in
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/elf/Makefile
    fsf/trunk/libc/hurd/catch-signal.c
    fsf/trunk/libc/hurd/hurd/fd.h
    fsf/trunk/libc/hurd/hurdchdir.c
    fsf/trunk/libc/hurd/hurdselect.c
    fsf/trunk/libc/hurd/hurdsock.c
    fsf/trunk/libc/hurd/intern-fd.c
    fsf/trunk/libc/hurd/lookup-retry.c
    fsf/trunk/libc/hurd/port2fd.c
    fsf/trunk/libc/include/libc-symbols.h
    fsf/trunk/libc/include/stdc-predef.h
    fsf/trunk/libc/include/sys/socket.h
    fsf/trunk/libc/include/unistd.h
    fsf/trunk/libc/io/fcntl.h
    fsf/trunk/libc/libio/fileops.c
    fsf/trunk/libc/libio/freopen.c
    fsf/trunk/libc/libio/freopen64.c
    fsf/trunk/libc/locale/bits/locale.h
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/math/w_ilogbf.c
    fsf/trunk/libc/misc/syslog.c
    fsf/trunk/libc/nis/Makefile
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lockP.h
    fsf/trunk/libc/nscd/connections.c
    fsf/trunk/libc/nscd/netgroupcache.c
    fsf/trunk/libc/nss/makedb.c
    fsf/trunk/libc/nss/nss_db/db-initgroups.c
    fsf/trunk/libc/posix/tst-sysconf.c
    fsf/trunk/libc/streams/stropts.h
    fsf/trunk/libc/sunrpc/Makefile
    fsf/trunk/libc/sunrpc/auth_des.c
    fsf/trunk/libc/sunrpc/auth_none.c
    fsf/trunk/libc/sunrpc/auth_unix.c
    fsf/trunk/libc/sunrpc/authdes_prot.c
    fsf/trunk/libc/sunrpc/authuxprot.c
    fsf/trunk/libc/sunrpc/clnt_gen.c
    fsf/trunk/libc/sunrpc/clnt_perr.c
    fsf/trunk/libc/sunrpc/clnt_raw.c
    fsf/trunk/libc/sunrpc/clnt_simp.c
    fsf/trunk/libc/sunrpc/clnt_tcp.c
    fsf/trunk/libc/sunrpc/clnt_udp.c
    fsf/trunk/libc/sunrpc/clnt_unix.c
    fsf/trunk/libc/sunrpc/des_crypt.c
    fsf/trunk/libc/sunrpc/des_soft.c
    fsf/trunk/libc/sunrpc/get_myaddr.c
    fsf/trunk/libc/sunrpc/key_call.c
    fsf/trunk/libc/sunrpc/key_prot.c
    fsf/trunk/libc/sunrpc/netname.c
    fsf/trunk/libc/sunrpc/pm_getmaps.c
    fsf/trunk/libc/sunrpc/pm_getport.c
    fsf/trunk/libc/sunrpc/pmap_clnt.c
    fsf/trunk/libc/sunrpc/pmap_prot.c
    fsf/trunk/libc/sunrpc/pmap_prot2.c
    fsf/trunk/libc/sunrpc/pmap_rmt.c
    fsf/trunk/libc/sunrpc/proto.h
    fsf/trunk/libc/sunrpc/publickey.c
    fsf/trunk/libc/sunrpc/rpc_cmsg.c
    fsf/trunk/libc/sunrpc/rpc_common.c
    fsf/trunk/libc/sunrpc/rpc_dtable.c
    fsf/trunk/libc/sunrpc/rpc_prot.c
    fsf/trunk/libc/sunrpc/rpc_thread.c
    fsf/trunk/libc/sunrpc/rtime.c
    fsf/trunk/libc/sunrpc/svc.c
    fsf/trunk/libc/sunrpc/svc_auth.c
    fsf/trunk/libc/sunrpc/svc_raw.c
    fsf/trunk/libc/sunrpc/svc_run.c
    fsf/trunk/libc/sunrpc/svc_tcp.c
    fsf/trunk/libc/sunrpc/svc_udp.c
    fsf/trunk/libc/sunrpc/svc_unix.c
    fsf/trunk/libc/sunrpc/svcauth_des.c
    fsf/trunk/libc/sunrpc/xcrypt.c
    fsf/trunk/libc/sunrpc/xdr.c
    fsf/trunk/libc/sunrpc/xdr_array.c
    fsf/trunk/libc/sunrpc/xdr_float.c
    fsf/trunk/libc/sunrpc/xdr_intXX_t.c
    fsf/trunk/libc/sunrpc/xdr_mem.c
    fsf/trunk/libc/sunrpc/xdr_rec.c
    fsf/trunk/libc/sunrpc/xdr_ref.c
    fsf/trunk/libc/sunrpc/xdr_sizeof.c
    fsf/trunk/libc/sunrpc/xdr_stdio.c
    fsf/trunk/libc/sysdeps/generic/ldsodefs.h
    fsf/trunk/libc/sysdeps/generic/paths.h
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/s_logb.c
    fsf/trunk/libc/sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c
    fsf/trunk/libc/sysdeps/ieee754/flt-32/s_logbf.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128/s_logbl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_logbl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-96/s_logbl.c
    fsf/trunk/libc/sysdeps/mach/bits/libc-lock.h
    fsf/trunk/libc/sysdeps/mach/hurd/Makefile
    fsf/trunk/libc/sysdeps/mach/hurd/accept.c
    fsf/trunk/libc/sysdeps/mach/hurd/bits/fcntl.h
    fsf/trunk/libc/sysdeps/mach/hurd/bits/ioctls.h
    fsf/trunk/libc/sysdeps/mach/hurd/bits/libc-lock.h
    fsf/trunk/libc/sysdeps/mach/hurd/bits/posix_opt.h
    fsf/trunk/libc/sysdeps/mach/hurd/bits/stat.h
    fsf/trunk/libc/sysdeps/mach/hurd/brk.c
    fsf/trunk/libc/sysdeps/mach/hurd/chroot.c
    fsf/trunk/libc/sysdeps/mach/hurd/configure
    fsf/trunk/libc/sysdeps/mach/hurd/configure.in
    fsf/trunk/libc/sysdeps/mach/hurd/dirfd.c
    fsf/trunk/libc/sysdeps/mach/hurd/dl-sysdep.c
    fsf/trunk/libc/sysdeps/mach/hurd/dl-sysdep.h
    fsf/trunk/libc/sysdeps/mach/hurd/dup2.c
    fsf/trunk/libc/sysdeps/mach/hurd/i386/Makefile
    fsf/trunk/libc/sysdeps/mach/hurd/i386/init-first.c
    fsf/trunk/libc/sysdeps/mach/hurd/ioctl.c
    fsf/trunk/libc/sysdeps/mach/hurd/kernel-features.h
    fsf/trunk/libc/sysdeps/mach/hurd/mkdir.c
    fsf/trunk/libc/sysdeps/mach/hurd/mkdirat.c
    fsf/trunk/libc/sysdeps/mach/hurd/mlock.c
    fsf/trunk/libc/sysdeps/mach/hurd/openat.c
    fsf/trunk/libc/sysdeps/mach/hurd/opendir.c
    fsf/trunk/libc/sysdeps/mach/hurd/recvfrom.c
    fsf/trunk/libc/sysdeps/mach/hurd/setitimer.c
    fsf/trunk/libc/sysdeps/mach/hurd/setresgid.c
    fsf/trunk/libc/sysdeps/mach/hurd/setresuid.c
    fsf/trunk/libc/sysdeps/mach/hurd/xmknodat.c
    fsf/trunk/libc/sysdeps/mach/hurd/xstatconv.c
    fsf/trunk/libc/sysdeps/mach/nanosleep.c
    fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
    fsf/trunk/libc/sysdeps/posix/getcwd.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/configure
    fsf/trunk/libc/sysdeps/unix/sysv/linux/configure.in
    fsf/trunk/libc/sysdeps/unix/sysv/linux/syscalls.list
    fsf/trunk/libc/sysdeps/x86_64/dl-machine.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri May 11 00:01:35 2012
@@ -1,3 +1,398 @@
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* io/fcntl.h (mode_t, off_t, pid_t): Define types.
+	(__mode_t_defined, __off_t_defined, __pid_t_defined): Define macros.
+	* streams/stropts.h (t_scalar_t): Define type.
+
+	* sysdeps/generic/paths.h (_PATH_MAN): Set to "/usr/share/man"
+	(_PATH_PRESERVE): Set to "/var/lib".
+	(_PATH_RWHODIR): Set to "/var/spool/rwho".
+
+	* sysdeps/mach/hurd/openat.c (__openat): Set type of MODE to mode_t
+	instead of int.
+
+	* sysdeps/mach/hurd/xmknodat.c (__xmknodat): Deallocate NODE port only
+	if __dir_mkfile succeeded.
+
+	* sysdeps/mach/hurd/dup3.c: Lock _hurd_dtable_lock before
+	checking for _hurd_dtablesize.  Unlock it right after having
+	finished _hurd_dtable allocation.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/configure.in: Remove warning for --prefix=[...].
+	* sysdeps/mach/hurd/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/configure.in: Move --prefix=/usr
+	special-casing to...
+	* sysdeps/gnu/configure.in: ... this new file.
+	* sysdeps/unix/sysv/linux/configure: Regenerated.
+	* sysdeps/gnu/configure: New generated file.
+
+	* sysdeps/mach/hurd/bits/stat.h (struct stat): Align to what is done
+	for Linux: use nsec instead of usec, as well as:
+	[__USE_MISC || __USE_XOPEN2K8] (st_atim, st_mtim, st_ctim): New
+	members of type struct timespec.
+	[__USE_MISC || __USE_XOPEN2K8] (st_atime, st_mtime, st_ctime):
+	New macros.
+	(struct stat64): Likewise.
+	(_STATBUF_ST_NSEC): New macro.
+	* sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Adapt to that.
+
+	* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use
+	__strtoul_internal rather than strtoul.
+
+2012-05-10  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* hurd/hurdsock.c (_hurd_socket_server): Check for negative domains,
+	and reject them.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/setresgid.c (__setresgid): Handle the -1 case,
+	which preserves existing values.
+	* sysdeps/mach/hurd/setresuid.c (__setresuid): Likewise.
+
+2012-05-10  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* hurd/hurdselect.c (_hurd_select): Return EINVAL for negative
+	TIMEOUT values.  Return EINVAL for NFDS values either negative or
+	greater than FD_SETSIZE.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/brk.c (_hurd_set_brk): When more space needs to be
+	allocated, call __vm_protect to finish enabling the existing space, and
+	pass a copy of _hurd_data_end instead of PAGEBRK to __vm_allocate to
+	allocate the remainder.
+
+2012-05-10  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Check also for a null
+	address port.  Set ADDR_LEN to 0 when not filling ADDRARG.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/readlinkat.c: New file, heavily derived from
+	sysdeps/mach/hurd/readlink.c.
+
+	* posix/tst-sysconf.c (posix_options): Only use
+	_POSIX_PRIORITIZED_IO, _POSIX_PRIORITY_SCHEDULING, and
+	_POSIX_SYNCHRONIZED_IO when they are defined
+	* sysdeps/mach/hurd/bits/posix_opt.h:
+	(_POSIX_PRIORITY_SCHEDULING): Undefine macro.
+	(_XOPEN_REALTIME): Undefine macro.
+	(_XOPEN_REALTIME_THREADS): Undefine macro.
+	(_XOPEN_SHM): Undefine macro.
+	[__USE_XOPEN2K8] (_POSIX_THREAD_ROBUST_PRIO_INHERIT): Define
+	macro to -1.
+	[__USE_XOPEN2K8] (_POSIX_THREAD_ROBUST_PRIO_PROTECT): Define
+	macro to -1.
+	(_POSIX_ASYNC_IO): Undefine macro.
+	(_POSIX_PRIORITIZED_IO): Undefine macro.
+	(_POSIX_SPIN_LOCKS): Define macro to -1.
+
+	* bits/sigaction.h [__USE_XOPEN2K8]: Define SA_RESTART,
+	SA_NODEFER, SA_RESETHAND.
+	* sysdeps/mach/hurd/bits/fcntl.h [__USE_XOPEN2K8]: Define
+	O_NOFOLLOW, O_DIRECTORY, O_CLOEXEC, F_GETOWN, F_SETOWN,
+	F_DUPFD_CLOEXEC.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* elf/Makefile (pldd-modules): Define unconditionally.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/opendir.c (__opendirat): New function.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* hurd/hurdchdir.c (_hurd_change_directory_port_from_name):
+	Return ENOENT when name is empty.
+	* sysdeps/mach/hurd/chroot.c (chroot): Likewise.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* include/libc-symbols.h [NO_HIDDEN] (hidden_nolink): New macro.
+
+	* nss/makedb.c (MAP_POPULATE): If not defined, define to zero.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	Fix mlock in all cases except non-readable pages.
+	* sysdeps/mach/hurd/mlock.c (mlock): Give VM_PROT_READ
+	instead of VM_PROT_ALL as parameter to __vm_wire function.
+
+	* sysdeps/mach/hurd/mkdir.c: Include <string.h>.
+	(__mkdir): When path is `/', just fail with EEXIST.
+	* sysdeps/mach/hurd/mkdirat.c: Likewise.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* nss/makedb.c: Include <sys/param.h> (for MAX and roundup), and
+	<sys/uio.h> (for writev).
+	* nss/nss_db/db-initgroups.c: Include <limits.h> (for ULONG_MAX),
+	and <sys/param.h> (for MIN).
+
+2012-05-10  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* sysdeps/mach/nanosleep.c: Return EINVAL for invalid values of
+	REQUESTED_TIME.  Properly set the remaining time and return EINTR
+	if interrupted.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/Makefile ($(common-objpfx)linkobj/libc.so):
+	Depend on against $(link-rpcuserlibs).
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/generic/ldsodefs.h [LIBC_STACK_END_NOT_RELRO]
+	(__libc_stack_end): Do not use attribute_relro.
+	* sysdeps/mach/hurd/dl-sysdep.h (LIBC_STACK_END_NOT_RELRO): Define.
+	* sysdeps/mach/hurd/i386/init-first.c (init): Update __libc_stack_end
+	to libthread-provided value.
+	* sysdeps/mach/hurd/dl-sysdep.c (__libc_stack_end): Do not use
+	attribute_relro.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	[BZ #3748]
+	* bits/libc-lock.h (__libc_once_get): New macro.
+	* sysdeps/mach/bits/libc-lock.h: Likewise.
+	* sysdeps/mach/hurd/bits/libc-lock.h: Likewise.
+	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Use __libc_once_get
+	instead of using implementation details.
+
+	* libio/fileops.c: Unconditionally include <kernel-features.h>.
+	* libio/freopen.c: Likewise.
+	* libio/freopen64.c: Likewise.
+	* misc/syslog.c: Likewise.
+	* nscd/connections.c: Likewise.
+	* nscd/netgroupcache.c: Likewise.
+	* sysdeps/posix/getcwd.c: Likewise.
+
+2012-05-10  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* math/w_ilogbf.c: Add #include <limits.h>.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/setitimer.c (setitimer_locked): Use common exit
+	path instead of returning without unlocking.
+
+	* sysdeps/mach/hurd/bits/ioctls.h (_IOIW): New macro for
+	immediate-write ioctls.
+	* sysdeps/mach/hurd/ioctl.c: Handle cases with no arguments.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/i386/init-first.c (init): Use
+	__builtin_frame_address instead of making assumptions about the
+	location of the return address relative to DATA.  Force early load of
+	the return address.
+	(_dl_init_first, doinit1 in doinit in _hurd_stack_setup): Don't use
+	__builtin_frame_address.
+
+	dup3 for GNU Hurd.
+	* include/unistd.h: Declare __dup3 and use libc_hidden_proto on it.
+	* sysdeps/mach/hurd/dup3.c: New file, copy from dup2.c.  Evolve it to
+	implement dup3 and do some further code clean-ups.
+	* sysdeps/mach/hurd/dup2.c (__dup2): Reimplement using __dup3.
+	* sysdeps/mach/hurd/kernel-features.h (__ASSUME_DUP3): Define.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/dl-sysdep.c: Conditionalize contents on [SHARED].
+
+	* hurd/hurd/fd.h (_hurd_fd_get): Call HURD_CRITICAL_BEGIN/
+	HURD_CRITICAL_END around holding _hurd_dtable_lock.
+	* sysdeps/mach/hurd/dirfd (dirfd): Likewise.
+	* sysdeps/mach/hurd/opendir.c (_hurd_fd_opendir): Call
+	HURD_CRITICAL_BEGIN/HURD_CRITICAL_END around holding
+	d->port.lock.
+
+	* hurd/catch-signal.c (hurd_catch_signal): Use sigsetjmp/siglongjmp
+	instead of setjmp/longjmp to restore the signal mask.  Call sigsetjmp
+	when handler == SIG_ERR, not when handler != SIG_ERR.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/bits/socket.h: New file, copy from the bsd4.4 one.
+	(SOCK_MAX, SOCK_TYPE_MASK, SOCK_CLOEXEC, SOCK_NONBLOCK): New
+	definitions.
+
+	accept4 for GNU Hurd.
+	* include/sys/socket.h (__libc_accept4): New prototype.
+	* sysdeps/mach/hurd/accept4.c: New file, copy from accept.c.  Evolve it
+	to implement __libc_accept4.
+	* sysdeps/mach/hurd/accept.c (accept): Reimplement using
+	__libc_accept4.
+	* sysdeps/mach/hurd/kernel-features.h (__ASSUME_ACCEPT4): Define.
+
+	* sysdeps/mach/hurd/i386/____longjmp_chk.S: New file.
+	* sysdeps/mach/hurd/i386/signal-defines.sym: New file.
+	* sysdeps/mach/hurd/i386/Makefile (gen-as-const-headers): Add
+	signal-defines.sym.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* bits/in.h (SOL_IP, SOL_IPV6, SOL_ICMPV6): New macros.
+
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	* sysdeps/mach/hurd/dl-sysdep.c (open_file): Do not raise
+	assertion on O_CLOEXEC flag.
+	* hurd/hurd/fd.h: Update comment to mention O_CLOEXEC.
+	* hurd/intern-fd.c: Likewise.
+	* hurd/port2fd.c: Likewise.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	[BZ #3906]
+	* bits/in.h (IPV6_PKTINFO): Define new macro.
+	(IPV6_RXINFO,IPV6_TXINFO,SCM_SRCINFO): Redefine to IPV6_PKTINFO.
+
+2012-05-09  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	[BZ #13954]
+	[BZ #13955]
+	[BZ #13956]
+	* sysdeps/ieee754/dbl-64/s_logb.c (__logb): Fix for subnormal number.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c (__logb): Likewise.
+	* sysdeps/ieee754/flt-32/s_logbf.c (__logf): Likewise.
+	* sysdeps/ieee754/ldbl-128/s_logbl.c (__logbl): Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/s_logbl.c (__logbl): Likewise.
+	* sysdeps/ieee754/ldbl-96/s_logbl.c (__logbl): Likewise.
+	* math/libm-test.inc (logb_test) : Additional logb tests.
+
+2012-05-09  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+	    Andreas Jaeger  <aj@xxxxxxx>
+
+	* configure.in (obsolete-rpc): Add new option --enable-obsolete-rpc.
+	* configure: Regenerated.
+	* config.h.in (LINK_OBSOLETE_RPC): New macro.
+	* config.make.in (link-obsolete-rpc): New substituted variable.
+	* include/libc-symbols.h (libc_hidden_nolink_sunrpc): Rename from
+	libc_hidden_nolink and define based on LINK_OBSOLETE_RPC.
+	* sunrpc/Makefile (headers) [link-obsolete-rpc]: Add rpc headers.
+	(shared-only-routines): Don't set it under [link-obsolete-rpc],
+	so that libc.a contains the symbols.
+	* nis/Makefile (headers) [link-obsolete-rpc]: Add rpc headers.
+	* sunrpc/auth_des.c: Use libc_hidden_nolink_sunrpc.
+	* 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_raw.c: Likewise.
+	* sunrpc/svc_run.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.
+
+2012-05-10  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Fix typo in last
+	change.  Update copyright years.
+
+2012-05-10  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* include/stdc-predef.h (__STDC_NO_THREADS__): Define.
+
+2012-05-10  Maxim Kuvyrkov  <maxim@xxxxxxxxxxxxxxxx>
+	    Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+	    Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	[BZ #14012]
+	* sunrpc/Makefile [cross-compiling] (headers): Enable additions
+	requiring rpcgen.
+	[cross-compiling] (extra-libs): Likewise.
+	[cross-compiling] (extra-libs-others): Likewise.
+	[cross-compiling] (librpcsvc-routines): Likewise.
+	[cross-compiling] (librpcsvc-inhibit-o): Likewise.
+	[cross-compiling] (omit-deps): Likewise.
+	(sunrpc-CPPFLAGS): New variable.
+	(CPPFLAGS): Define using $(sunrpc-CPPFLAGS).
+	(BUILD_CPPFLAGS): Append $(sunrpc-CPPFLAGS).
+	(cross-rpcgen-objs): New variable.
+	(extra-objs): Append $(cross-rpcgen-objs).
+	($(cross-rpcgen-objs)): New rule.
+	($(objpfx)cross-rpcgen): Likewise.
+	(rpcgen-cmd): Define to use $(built-program-file).  Expand
+	comment.
+	($(objpfx)rpcsvc/%.stmp): Depend on cross-rpcgen.
+	($(objpfx)x%.stmp): Likewise.
+	* sunrpc/proto.h [IS_IN_build] (_): Define.
+	[IS_IN_build] (_libc_intl_domainname): Likewise.
+
+2012-05-10  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/dl-machine.h (elf_machine_rela) [__ILP32__]:
+	Sign extend relocation result to 64 bits for R_X86_64_DTPOFF64
+	and R_X86_64_TPOFF64.
+
+2012-05-10  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/syscalls.list (alarm): Add entry from
+	sysdeps/unix/sysv/syscalls.list.
+	(stime): Likewise.
+	(utime): Likewise.
+	* sysdeps/unix/sysv/syscalls.list: Remove file.
+
+2012-05-10  Paul Eggert  <eggert@xxxxxxxxxxx>
+
+	[BZ #3440]
+	* locale/bits/locale.h (__LC_CTYPE, __LC_NUMERIC, __LC_TIME)
+	(__LC_COLLATE, __LC_MONETARY, __LC_MESSAGES, __LC_ALL, __LC_PAPER)
+	(__LC_NAME, __LC_ADDRESS, __LC_TELEPHONE, __LC_MEASUREMENT)
+	(__LC_IDENTIFICATION): Make these macros useful in #if
+	expressions, as required by C99.
+
+2012-05-10  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sunrpc/Makefile (extra-objs) [$(build-shared) = yes]: Add
+	$(addsuffix .os,$(rpc-compat-routines)).  Move include ../Rules
+	after this.
+
 2012-05-09  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 
 	* stdlib/longlong.h: Updated from GCC.
@@ -10,16 +405,16 @@
 	(main): Remove informal message about syslog.
 	(options): Fix typo.
 
-        [BZ #14053]
-        * sysdeps/x86_64/fpu/bits/mathinline.h (lrintf): Add __volatile
+	[BZ #14053]
+	* sysdeps/x86_64/fpu/bits/mathinline.h (lrintf): Add __volatile
 	to asm.
-        (lrint): Likewise.
-        (llrintf): Likewise.
-        (llrint): Likewise.
-        (rint): Likewise.
-        (rintf): Likewise.
-        (nearbyint): Likewise.
-        (nearbyintf): Likewise.
+	(lrint): Likewise.
+	(llrintf): Likewise.
+	(llrint): Likewise.
+	(rint): Likewise.
+	(rintf): Likewise.
+	(nearbyint): Likewise.
+	(nearbyintf): Likewise.
 
 2012-05-09  Andreas Jaeger  <aj@xxxxxxx>
 	    Pedro Alves  <palves@xxxxxxxxxx>
@@ -30,12 +425,12 @@
 2012-05-09  Alexandre Oliva  <aoliva@xxxxxxxxxx>
 	    Andreas Jaeger  <aj@xxxxxxx>
 
-        * nscd/nscd.c (go_background): Replaced with...
-        (run_mode): ... this.
+	* nscd/nscd.c (go_background): Replaced with...
+	(run_mode): ... this.
 	(RUN_FOREGROUND, RUN_DAEMONIZE, RUN_DEBUG): Add.
-        (options): Add -F --foreground.
-        (main): Implement it.
-        (parse_opt): Parse it.
+	(options): Add -F --foreground.
+	(main): Implement it.
+	(parse_opt): Parse it.
 
 2012-05-09  Andreas Jaeger  <aj@xxxxxxx>
 
@@ -211,9 +606,9 @@
 
 2012-05-08  Roland Mc Grath  <roland@xxxxxxxxxxxxx>
 
-        [BZ #13979]
-        * include/features.h: Warn if user requests __FORTIFY_SOURCE
-        checking but the checks are disabled for any reason.
+	[BZ #13979]
+	* include/features.h: Warn if user requests __FORTIFY_SOURCE
+	checking but the checks are disabled for any reason.
 
 2012-05-08  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri May 11 00:01:35 2012
@@ -10,21 +10,22 @@
 * The following bugs are resolved with this release:
 
   174, 350, 369, 411, 706, 887, 2074, 2541, 2547, 2548, 2550, 2551, 2552,
-  2553, 2554, 2562, 2563, 2565, 2566, 2570, 2576, 2636, 2678, 3335, 3768,
-  3866, 3868, 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993,
-  6471, 6486, 6578, 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895, 6907,
-  6911, 6959, 7064, 9739, 9902, 10110, 10135, 10140, 10153, 10210, 10254,
-  10346, 10545, 10716, 11174, 11322, 11365, 11451, 11494, 11521, 11959,
-  12047, 12340, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531,
-  13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13563, 13566,
-  13583, 13592, 13618, 13637, 13656, 13658, 13673, 13691, 13695, 13704,
-  13705, 13706, 13726, 13738, 13739, 13758, 13760, 13761, 13775, 13786,
-  13787, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, 13852,
-  13854, 13871, 13872, 13873, 13879, 13883, 13884, 13885, 13886, 13892,
-  13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917,
-  13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928,
-  13938, 13941, 13942, 13963, 13967, 13970, 13973, 13979, 13983, 14027,
-  14033, 14034, 14040, 14049, 14053, 14055, 14064, 14080, 14083
+  2553, 2554, 2562, 2563, 2565, 2566, 2570, 2576, 2636, 2678, 3335, 3440,
+  3768, 3866, 3868, 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805,
+  5993, 6471, 6486, 6578, 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895,
+  6907, 6911, 6959, 7064, 9739, 9902, 10110, 10135, 10140, 10153, 10210,
+  10254, 10346, 10545, 10716, 11174, 11322, 11365, 11451, 11494, 11521,
+  11959, 12047, 12340, 13058, 13525, 13526, 13527, 13528, 13529, 13530,
+  13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13563,
+  13566, 13583, 13592, 13618, 13637, 13656, 13658, 13673, 13691, 13695,
+  13704, 13705, 13706, 13726, 13738, 13739, 13758, 13760, 13761, 13775,
+  13786, 13787, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851,
+  13852, 13854, 13871, 13872, 13873, 13879, 13883, 13884, 13885, 13886,
+  13892, 13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916,
+  13917, 13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927,
+  13928, 13938, 13941, 13942, 13954, 13955, 13956, 13963, 13967, 13970,
+  13973, 13979, 13983, 14027, 14033, 14034, 14040, 14049, 14053, 14055,
+  14064, 14080, 14083
 
 * ISO C11 support:
 
@@ -56,6 +57,12 @@
 
 * More generic and 64-bit performance optimizations to math functions.
   Implemented by Ulrich Drepper.
+
+* New configure option --enable-obsolete-rpc makes the deprecated RPC
+  headers and functions available at compile time as they were before
+  version 2.14.  This option will be removed at some time in the future
+  after the TI-RPC library becomes fully sufficient for the needs of
+  existing applications.
 
 Version 2.15
 

Modified: fsf/trunk/libc/bits/in.h
==============================================================================
--- fsf/trunk/libc/bits/in.h (original)
+++ fsf/trunk/libc/bits/in.h Fri May 11 00:01:35 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2000, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 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,6 +20,9 @@
 #ifndef _NETINET_IN_H
 # error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
 #endif
+
+/* To select the IP level.  */
+#define SOL_IP		0
 
 /* Options for use with `getsockopt' and `setsockopt' at the IP level.
    The first word in the comment at the right is the data type used;
@@ -47,9 +50,13 @@
     char ip_opts[40];		/* Actually variable in size.  */
   };
 
+/* Socket-level values for IPv6.  */
+#define SOL_IPV6		41
+#define SOL_ICMPV6		58
+
 /* IPV6 socket options.  */
 #define IPV6_ADDRFORM		1
-#define IPV6_RXINFO		2
+#define IPV6_PKTINFO		2
 #define IPV6_HOPOPTS		3
 #define IPV6_DSTOPTS		4
 #define IPV6_RTHDR		5
@@ -57,8 +64,9 @@
 #define IPV6_CHECKSUM		7
 #define IPV6_HOPLIMIT		8
 
-#define IPV6_TXINFO		IPV6_RXINFO
-#define SCM_SRCINFO		IPV6_TXINFO
+#define IPV6_RXINFO		IPV6_PKTINFO
+#define IPV6_TXINFO		IPV6_PKTINFO
+#define SCM_SRCINFO		IPV6_PKTINFO
 #define SCM_SRCRT		IPV6_RXSRCRT
 
 #define IPV6_UNICAST_HOPS	16

Modified: fsf/trunk/libc/bits/libc-lock.h
==============================================================================
--- fsf/trunk/libc/bits/libc-lock.h (original)
+++ fsf/trunk/libc/bits/libc-lock.h Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* libc-internal interface for mutex locks.  Stub version.
-   Copyright (C) 1996,97,99,2000-2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 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
@@ -97,6 +97,9 @@
     }									      \
   } while (0)
 
+/* Get once control variable.  */
+#define __libc_once_get(ONCE_CONTROL) \
+  ((ONCE_CONTROL) == 1)
 
 /* Start a critical region with a cleanup function */
 #define __libc_cleanup_region_start(DOIT, FCT, ARG)			    \

Modified: fsf/trunk/libc/bits/sigaction.h
==============================================================================
--- fsf/trunk/libc/bits/sigaction.h (original)
+++ fsf/trunk/libc/bits/sigaction.h Fri May 11 00:01:35 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,96,97,98,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 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,6 +54,8 @@
 /* Bits in `sa_flags'.  */
 #if defined __USE_UNIX98 || defined __USE_MISC
 # define SA_ONSTACK	0x0001	/* Take signal on signal stack.  */
+#endif
+#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
 # define SA_RESTART	0x0002	/* Restart syscall on signal return.  */
 # define SA_NODEFER	0x0010	/* Don't automatically block the signal when
 				    its handler is being executed.  */

Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Fri May 11 00:01:35 2012
@@ -178,6 +178,9 @@
 /* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
 #undef	NO_CTORS_DTORS_SECTIONS
 
+/* Define if obsolete RPC code should be made available for user-level code
+   to link against.  */
+#undef LINK_OBSOLETE_RPC
 /*
  */
 

Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Fri May 11 00:01:35 2012
@@ -96,6 +96,7 @@
 sysdeps-add-ons = @sysdeps_add_ons@
 cross-compiling = @cross_compiling@
 force-install = @force_install@
+link-obsolete-rpc = @link_obsolete_rpc@
 
 # Build tools.
 CC = @CC@

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Fri May 11 00:01:35 2012
@@ -687,6 +687,7 @@
 base_machine
 add_on_subdirs
 add_ons
+link_obsolete_rpc
 libc_cv_nss_crypt
 all_warnings
 force_install
@@ -779,6 +780,7 @@
 enable_all_warnings
 enable_multi_arch
 enable_nss_crypt
+enable_obsolete_rpc
 with_cpu
 '
       ac_precious_vars='build_alias
@@ -1434,6 +1436,8 @@
   --enable-multi-arch     enable single DSO with optimizations for multiple
                           architectures
   --enable-nss-crypt      enable libcrypt to use nss
+  --enable-obsolete-rpc   build and install the obsolete RPC code for
+                          link-time usage
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -3745,6 +3749,20 @@
   libc_cv_nss_crypt=no
 fi
 
+
+# Check whether --enable-obsolete-rpc was given.
+if test "${enable_obsolete_rpc+set}" = set; then :
+  enableval=$enable_obsolete_rpc; link_obsolete_rpc=$enableval
+else
+  link_obsolete_rpc=no
+fi
+
+
+
+if test "$link_obsolete_rpc" = yes; then
+  $as_echo "#define LINK_OBSOLETE_RPC 1" >>confdefs.h
+
+fi
 
 # The way shlib-versions is used to generate soversions.mk uses a
 # fairly simplistic model for name recognition that can't distinguish

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Fri May 11 00:01:35 2012
@@ -251,6 +251,17 @@
   libc_cv_nss_crypt=no
 fi
 AC_SUBST(libc_cv_nss_crypt)
+
+AC_ARG_ENABLE([obsolete-rpc],
+              AC_HELP_STRING([--enable-obsolete-rpc],
+                             [build and install the obsolete RPC code for link-time usage]),
+              [link_obsolete_rpc=$enableval],
+              [link_obsolete_rpc=no])
+AC_SUBST(link_obsolete_rpc)
+
+if test "$link_obsolete_rpc" = yes; then
+  AC_DEFINE(LINK_OBSOLETE_RPC)
+fi
 
 # The way shlib-versions is used to generate soversions.mk uses a
 # fairly simplistic model for name recognition that can't distinguish

Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Fri May 11 00:01:35 2012
@@ -80,14 +80,13 @@
 
 ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon
 extra-objs	+= $(ldconfig-modules:=.o)
+endif
+endif
 
 pldd-modules := xmalloc
 
 # To find xmalloc.c and xstrdup.c
 vpath %.c ../locale/programs
-
-endif
-endif
 
 ifeq ($(have-ksh)$(build-shared),yesyes)
 extra-objs += sotruss-lib.os sotruss-lib.so

Modified: fsf/trunk/libc/hurd/catch-signal.c
==============================================================================
--- fsf/trunk/libc/hurd/catch-signal.c (original)
+++ fsf/trunk/libc/hurd/catch-signal.c Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* Convenience function to catch expected signals during an operation.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 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
@@ -27,9 +27,12 @@
 		   error_t (*operate) (struct hurd_signal_preemptor *),
 		   sighandler_t handler)
 {
-  jmp_buf buf;
+  /* We need to restore the signal mask, because otherwise the
+     signal-handling code will have blocked the caught signal and for
+     instance calling hurd_catch_signal again would then dump core.  */
+  sigjmp_buf buf;
   void throw (int signo, long int sigcode, struct sigcontext *scp)
-    { longjmp (buf, scp->sc_error ?: EGRATUITOUS); }
+    { siglongjmp (buf, scp->sc_error ?: EGRATUITOUS); }
 
   struct hurd_signal_preemptor preemptor =
     {
@@ -40,12 +43,12 @@
   struct hurd_sigstate *const ss = _hurd_self_sigstate ();
   error_t error;
 
-  if (handler == SIG_ERR)
+  if (handler != SIG_ERR)
     /* Not our handler; don't bother saving state.  */
     error = 0;
   else
     /* This returns again with nonzero value when we preempt a signal.  */
-    error = setjmp (buf);
+    error = sigsetjmp (buf, 1);
 
   if (error == 0)
     {

Modified: fsf/trunk/libc/hurd/hurd/fd.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/fd.h (original)
+++ fsf/trunk/libc/hurd/hurd/fd.h Fri May 11 00:01:35 2012
@@ -1,6 +1,5 @@
 /* File descriptors.
-   Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006,2007
-   	Free Software Foundation, Inc.
+   Copyright (C) 1993-2012 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
@@ -64,6 +63,7 @@
 {
   struct hurd_fd *descriptor;
 
+  HURD_CRITICAL_BEGIN;
   __mutex_lock (&_hurd_dtable_lock);
   if (fd < 0 || fd >= _hurd_dtablesize)
     descriptor = NULL;
@@ -86,6 +86,7 @@
 	}
     }
   __mutex_unlock (&_hurd_dtable_lock);
+  HURD_CRITICAL_END;
 
   return descriptor;
 }
@@ -199,7 +200,8 @@
 
 /* Allocate a new file descriptor and install PORT in it (doing any
    appropriate ctty magic); consumes a user reference on PORT.  FLAGS are
-   as for `open'; only O_IGNORE_CTTY is meaningful, but all are saved.
+   as for `open'; only O_IGNORE_CTTY and O_CLOEXEC are meaningful, but all are
+   saved.
 
    If the descriptor table is full, set errno, and return -1.
    If DEALLOC is nonzero, deallocate PORT first.  */

Modified: fsf/trunk/libc/hurd/hurdchdir.c
==============================================================================
--- fsf/trunk/libc/hurd/hurdchdir.c (original)
+++ fsf/trunk/libc/hurd/hurdchdir.c Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* Change a port cell to a directory by looking up a name.
-   Copyright (C) 1999,2001,02 Free Software Foundation, Inc.
+   Copyright (C) 1999-2012 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
@@ -37,6 +37,9 @@
   len = strlen (name);
   if (len >= 2 && name[len - 2] == '/' && name[len - 1] == '.')
     lookup = name;
+  else if (len == 0)
+    /* Special-case empty file name according to POSIX.  */
+    return __hurd_fail (ENOENT);
   else
     {
       char *n = alloca (len + 3);

Modified: fsf/trunk/libc/hurd/hurdselect.c
==============================================================================
--- fsf/trunk/libc/hurd/hurdselect.c (original)
+++ fsf/trunk/libc/hurd/hurdselect.c Fri May 11 00:01:35 2012
@@ -1,6 +1,5 @@
 /* Guts of both `select' and `poll' for Hurd.
-   Copyright (C) 1991,92,93,94,95,96,97,98,99,2001
-   	Free Software Foundation, Inc.
+   Copyright (C) 1991-2012 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,10 +48,7 @@
   error_t err;
   fd_set rfds, wfds, xfds;
   int firstfd, lastfd;
-  mach_msg_timeout_t to = (timeout != NULL ?
-			   (timeout->tv_sec * 1000 +
-			    (timeout->tv_nsec + 999999) / 1000000) :
-			   0);
+  mach_msg_timeout_t to = 0;
   struct
     {
       struct hurd_userlink ulink;
@@ -70,6 +66,24 @@
     };
   assert (sizeof (union typeword) == sizeof (mach_msg_type_t));
   assert (sizeof (uint32_t) == sizeof (mach_msg_type_t));
+
+  if (nfds < 0 || nfds > FD_SETSIZE)
+    {
+      errno = EINVAL;
+      return -1;
+    }
+
+  if (timeout != NULL)
+    {
+      if (timeout->tv_sec < 0 || timeout->tv_nsec < 0)
+	{
+	  errno = EINVAL;
+	  return -1;
+	}
+
+      to = (timeout->tv_sec * 1000 +
+            (timeout->tv_nsec + 999999) / 1000000);
+    }
 
   if (sigmask && __sigprocmask (SIG_SETMASK, sigmask, &oset))
     return -1;
@@ -364,7 +378,7 @@
 		}
 
 	      /* Look up the respondent's reply port and record its
-                 readiness.  */
+		 readiness.  */
 	      {
 		int had = got;
 		if (firstfd != -1)

Modified: fsf/trunk/libc/hurd/hurdsock.c
==============================================================================
--- fsf/trunk/libc/hurd/hurdsock.c (original)
+++ fsf/trunk/libc/hurd/hurdsock.c Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* _hurd_socket_server - Find the server for a socket domain.
-   Copyright (C) 1991,92,93,94,95,97,99 Free Software Foundation, Inc.
+   Copyright (C) 1991-2012 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
@@ -45,6 +45,12 @@
 _hurd_socket_server (int domain, int dead)
 {
   socket_t server;
+
+  if (domain < 0)
+    {
+      errno = EAFNOSUPPORT;
+      return MACH_PORT_NULL;
+    }
 
   HURD_CRITICAL_BEGIN;
   __mutex_lock (&lock);

Modified: fsf/trunk/libc/hurd/intern-fd.c
==============================================================================
--- fsf/trunk/libc/hurd/intern-fd.c (original)
+++ fsf/trunk/libc/hurd/intern-fd.c Fri May 11 00:01:35 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2012 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
@@ -19,7 +19,7 @@
 #include <hurd/fd.h>
 
 /* Allocate a new file descriptor and install PORT in it.  FLAGS are as for
-   `open'; only O_IGNORE_CTTY is meaningful.
+   `open'; only O_IGNORE_CTTY and O_CLOEXEC are meaningful.
 
    If the descriptor table is full, set errno, and return -1.
    If DEALLOC is nonzero, deallocate PORT first.  */

Modified: fsf/trunk/libc/hurd/lookup-retry.c
==============================================================================
--- fsf/trunk/libc/hurd/lookup-retry.c (original)
+++ fsf/trunk/libc/hurd/lookup-retry.c Fri May 11 00:01:35 2012
@@ -1,6 +1,5 @@
 /* hairy bits of Hurd file name lookup
-   Copyright (C) 1992,1993,1994,1995,1996,1997,1999,2001,2002,2003,2005
-	Free Software Foundation, Inc.
+   Copyright (C) 1992-2012 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
@@ -44,10 +43,10 @@
 
 error_t
 __hurd_file_name_lookup_retry (error_t (*use_init_port)
-			         (int which, error_t (*operate) (file_t)),
+				 (int which, error_t (*operate) (file_t)),
 			       file_t (*get_dtable_port) (int fd),
 			       error_t (*lookup)
-			         (file_t dir, char *name,
+				 (file_t dir, char *name,
 				  int flags, mode_t mode,
 				  retry_type *do_retry, string_t retry_name,
 				  mach_port_t *result),
@@ -193,7 +192,7 @@
 		  char *end;
 		  int save = errno;
 		  errno = 0;
-		  fd = (int) strtoul (&retryname[3], &end, 10);
+		  fd = (int) __strtoul_internal (&retryname[3], &end, 10, 0);
 		  if (end == NULL || errno || /* Malformed number.  */
 		      /* Check for excess text after the number.  A slash
 			 is valid; it ends the component.  Anything else

Modified: fsf/trunk/libc/hurd/port2fd.c
==============================================================================
--- fsf/trunk/libc/hurd/port2fd.c (original)
+++ fsf/trunk/libc/hurd/port2fd.c Fri May 11 00:01:35 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997, 1999, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2012 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
@@ -22,7 +22,7 @@
 #include <fcntl.h>
 
 /* Store PORT in file descriptor D, doing appropriate ctty magic.
-   FLAGS are as for `open'; only O_IGNORE_CTTY is meaningful.
+   FLAGS are as for `open'; only O_IGNORE_CTTY and O_CLOEXEC are meaningful.
    D should be locked, and will not be unlocked.  */
 
 void

Modified: fsf/trunk/libc/include/libc-symbols.h
==============================================================================
--- fsf/trunk/libc/include/libc-symbols.h (original)
+++ fsf/trunk/libc/include/libc-symbols.h Fri May 11 00:01:35 2012
@@ -1,7 +1,6 @@
 /* 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,2011,2012
-   Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -550,13 +549,19 @@
 # define hidden_data_weak(name)
 # define hidden_data_def(name)
 # define hidden_data_ver(local, name)
+# define hidden_nolink(name, lib, version)
 #endif
 
 #if !defined NOT_IN_libc
 # 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)
+# ifdef LINK_OBSOLETE_RPC
+   /* libc_hidden_nolink_sunrpc should only get used in sunrpc code.  */
+#  define libc_hidden_nolink_sunrpc(name, version) hidden_def (name)
+# else
+#  define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version)
+# endif
 # 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: fsf/trunk/libc/include/stdc-predef.h
==============================================================================
--- fsf/trunk/libc/include/stdc-predef.h (original)
+++ fsf/trunk/libc/include/stdc-predef.h Fri May 11 00:01:35 2012
@@ -33,4 +33,7 @@
 /* wchar_t uses ISO 10646-1 (2nd ed., published 2000-09-15) / Unicode 3.1.  */
 #define __STDC_ISO_10646__		200009L
 
+/* We do not support C11 <threads.h>.  */
+#define __STDC_NO_THREADS__		1
+
 #endif

Modified: fsf/trunk/libc/include/sys/socket.h
==============================================================================
--- fsf/trunk/libc/include/sys/socket.h (original)
+++ fsf/trunk/libc/include/sys/socket.h Fri May 11 00:01:35 2012
@@ -135,6 +135,9 @@
 			  socklen_t *__restrict __addr_len)
      __THROW;
 libc_hidden_proto (accept)
+extern int __libc_accept4 (int __fd, __SOCKADDR_ARG __addr,
+			   socklen_t *__restrict __addr_len, int __flags)
+     __THROW;
 
 /* Return the length of a `sockaddr' structure.  */
 #ifdef _HAVE_SA_LEN

Modified: fsf/trunk/libc/include/unistd.h
==============================================================================
--- fsf/trunk/libc/include/unistd.h (original)
+++ fsf/trunk/libc/include/unistd.h Fri May 11 00:01:35 2012
@@ -80,7 +80,8 @@
 extern int __dup (int __fd);
 extern int __dup2 (int __fd, int __fd2);
 libc_hidden_proto (__dup2)
-libc_hidden_proto (dup3)
+extern int __dup3 (int __fd, int __fd2, int flags);
+libc_hidden_proto (__dup3)
 extern int __execve (const char *__path, char *const __argv[],
 		     char *const __envp[]);
 extern long int __pathconf (const char *__path, int __name);

Modified: fsf/trunk/libc/io/fcntl.h
==============================================================================
--- fsf/trunk/libc/io/fcntl.h (original)
+++ fsf/trunk/libc/io/fcntl.h Fri May 11 00:01:35 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991,1992,1994-2001,2003-2007,2009-2011,2012
-	Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 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
@@ -31,6 +30,29 @@
 /* Get the definitions of O_*, F_*, FD_*: all the
    numbers and flag bits for `open', `fcntl', et al.  */
 #include <bits/fcntl.h>
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K
+/* The Single Unix specification says that some more types are
+   available here.  */
+# ifndef __mode_t_defined
+typedef __mode_t mode_t;
+#  define __mode_t_defined
+# endif
+
+# ifndef __off_t_defined
+#  ifndef __USE_FILE_OFFSET64
+typedef __off_t off_t;
+#  else
+typedef __off64_t off_t;
+#  endif
+#  define __off_t_defined
+# endif
+
+# ifndef __pid_t_defined
+typedef __pid_t pid_t;
+#  define __pid_t_defined
+# endif
+#endif	/* X/Open */
 
 /* For XPG all symbols from <sys/stat.h> should also be available.  */
 #if defined __USE_XOPEN || defined __USE_XOPEN2K8

Modified: fsf/trunk/libc/libio/fileops.c
==============================================================================
--- fsf/trunk/libc/libio/fileops.c (original)
+++ fsf/trunk/libc/libio/fileops.c Fri May 11 00:01:35 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007, 2008, 2009, 2011-2012
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@xxxxxxxxxx>.
 
@@ -46,6 +45,7 @@
 # include "../iconv/gconv_int.h"
 # include <shlib-compat.h>
 # include <not-cancel.h>
+# include <kernel-features.h>
 #endif
 #ifndef errno
 extern int errno;

Modified: fsf/trunk/libc/libio/freopen.c
==============================================================================
--- fsf/trunk/libc/libio/freopen.c (original)
+++ fsf/trunk/libc/libio/freopen.c Fri May 11 00:01:35 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993,95,96,97,98,2000,2001,2002,2003,2008,2011
-	Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 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
@@ -33,6 +32,8 @@
 
 #include <shlib-compat.h>
 #include <fd_to_filename.h>
+
+#include <kernel-features.h>
 
 FILE*
 freopen (filename, mode, fp)

Modified: fsf/trunk/libc/libio/freopen64.c
==============================================================================
--- fsf/trunk/libc/libio/freopen64.c (original)
+++ fsf/trunk/libc/libio/freopen64.c Fri May 11 00:01:35 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993,1995,1996,1997,1998,2000,2001,2002, 2003, 2008, 2011
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 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,6 +31,8 @@
 #include <unistd.h>
 
 #include <fd_to_filename.h>
+
+#include <kernel-features.h>
 
 FILE *
 freopen64 (filename, mode, fp)

Modified: fsf/trunk/libc/locale/bits/locale.h
==============================================================================
--- fsf/trunk/libc/locale/bits/locale.h (original)
+++ fsf/trunk/libc/locale/bits/locale.h Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* Definition of locale category symbol values.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 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
@@ -23,21 +23,18 @@
 #ifndef _BITS_LOCALE_H
 #define _BITS_LOCALE_H	1
 
-enum
-{
-  __LC_CTYPE = 0,
-  __LC_NUMERIC = 1,
-  __LC_TIME = 2,
-  __LC_COLLATE = 3,
-  __LC_MONETARY = 4,
-  __LC_MESSAGES = 5,
-  __LC_ALL = 6,
-  __LC_PAPER = 7,
-  __LC_NAME = 8,
-  __LC_ADDRESS = 9,
-  __LC_TELEPHONE = 10,
-  __LC_MEASUREMENT = 11,
-  __LC_IDENTIFICATION = 12
-};
+#define __LC_CTYPE		 0
+#define __LC_NUMERIC		 1
+#define __LC_TIME		 2
+#define __LC_COLLATE		 3
+#define __LC_MONETARY		 4
+#define __LC_MESSAGES		 5
+#define __LC_ALL		 6
+#define __LC_PAPER		 7
+#define __LC_NAME		 8
+#define __LC_ADDRESS		 9
+#define __LC_TELEPHONE		10
+#define __LC_MEASUREMENT	11
+#define __LC_IDENTIFICATION	12
 
 #endif	/* bits/locale.h */

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Fri May 11 00:01:35 2012
@@ -5376,6 +5376,22 @@
   TEST_f_f (logb, 1024, 10);
   TEST_f_f (logb, -2000, 10);
 
+  TEST_f_f (logb, 0x0.1p-127, -131);
+  TEST_f_f (logb, 0x0.01p-127, -135);
+  TEST_f_f (logb, 0x0.011p-127, -135);
+#ifndef TEST_FLOAT
+  TEST_f_f (logb, 0x0.8p-1022, -1023);
+  TEST_f_f (logb, 0x0.1p-1022, -1026);
+  TEST_f_f (logb, 0x0.00111p-1022, -1034);
+  TEST_f_f (logb, 0x0.00001p-1022, -1042);
+  TEST_f_f (logb, 0x0.000011p-1022, -1042);
+  TEST_f_f (logb, 0x0.0000000000001p-1022, -1074);
+#endif
+#if defined TEST_LDOUBLE && LDBL_MIN_EXP - LDBL_MANT_DIG <= -16400
+  TEST_f_f (logb, 0x1p-16400L, -16400);
+  TEST_f_f (logb, 0x.00000000001p-16382L, -16426);
+#endif
+
   END (logb);
 }
 

Modified: fsf/trunk/libc/math/w_ilogbf.c
==============================================================================
--- fsf/trunk/libc/math/w_ilogbf.c (original)
+++ fsf/trunk/libc/math/w_ilogbf.c Fri May 11 00:01:35 2012
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <errno.h>
+#include <limits.h>
 #include <math_private.h>
 
 /* wrapper ilogbf */

Modified: fsf/trunk/libc/misc/syslog.c
==============================================================================
--- fsf/trunk/libc/misc/syslog.c (original)
+++ fsf/trunk/libc/misc/syslog.c Fri May 11 00:01:35 2012
@@ -55,6 +55,8 @@
 
 #include <libio/iolibio.h>
 #include <math_ldbl_opt.h>
+
+#include <kernel-features.h>
 
 #define ftell(s) INTUSE(_IO_ftell) (s)
 

Modified: fsf/trunk/libc/nis/Makefile
==============================================================================
--- fsf/trunk/libc/nis/Makefile (original)
+++ fsf/trunk/libc/nis/Makefile Fri May 11 00:01:35 2012
@@ -22,6 +22,12 @@
 subdir	:= nis
 
 aux			:= nis_hash
+
+include ../Makeconfig
+
+ifeq ($(link-obsolete-rpc),yes)
+headers			:= $(wildcard rpcsvc/*.[hx])
+endif
 
 # These are the databases available for the nis (and perhaps later nisplus)
 # service.  This must be a superset of the services in nss.

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri May 11 00:01:35 2012
@@ -1,3 +1,8 @@
+2012-05-10  Thomas Schwinge  <thomas@xxxxxxxxxxxxx>
+
+	[BZ #3748]
+	* sysdeps/pthread/bits/libc-lockP.h (__libc_once_get): New macro.
+
 2012-05-09  Chung-Lin Tang  <cltang@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S

Modified: fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lockP.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lockP.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lockP.h Fri May 11 00:01:35 2012
@@ -257,6 +257,8 @@
     }									      \
   } while (0)
 
+/* Get once control variable.  */
+#define __libc_once_get(ONCE_CONTROL)	((ONCE_CONTROL) != PTHREAD_ONCE_INIT)
 
 /* Note that for I/O cleanup handling we are using the old-style
    cancel handling.  It does not have to be integrated with C++ snce

Modified: fsf/trunk/libc/nscd/connections.c
==============================================================================
--- fsf/trunk/libc/nscd/connections.c (original)
+++ fsf/trunk/libc/nscd/connections.c Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* Inner loops of cache daemon.
-   Copyright (C) 1998-2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
 
@@ -56,9 +56,8 @@
 #include "dbg_log.h"
 #include "selinux.h"
 #include <resolv/resolv.h>
-#ifdef HAVE_SENDFILE
-# include <kernel-features.h>
-#endif
+
+#include <kernel-features.h>
 
 
 /* Support to run nscd as an unprivileged user */

Modified: fsf/trunk/libc/nscd/netgroupcache.c
==============================================================================
--- fsf/trunk/libc/nscd/netgroupcache.c (original)
+++ fsf/trunk/libc/nscd/netgroupcache.c Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* Cache handling for netgroup lookup.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxx>, 2011.
 
@@ -27,9 +27,8 @@
 #include "../inet/netgroup.h"
 #include "nscd.h"
 #include "dbg_log.h"
-#ifdef HAVE_SENDFILE
-# include <kernel-features.h>
-#endif
+
+#include <kernel-features.h>
 
 
 /* This is the standard reply in case the service is disabled.  */

Modified: fsf/trunk/libc/nss/makedb.c
==============================================================================
--- fsf/trunk/libc/nss/makedb.c (original)
+++ fsf/trunk/libc/nss/makedb.c Fri May 11 00:01:35 2012
@@ -1,5 +1,5 @@
 /* Create simple DB database from textual input.
-   Copyright (C) 1996-2000, 2011, 2012 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
 
@@ -32,7 +32,9 @@
 #include <string.h>
 #include <unistd.h>
 #include <sys/mman.h>
+#include <sys/param.h>
 #include <sys/stat.h>
+#include <sys/uio.h>
 #include "nss_db/nss_db.h"
 
 /* Get libc version number.  */
@@ -44,6 +46,10 @@
 /* SELinux support.  */
 #ifdef HAVE_SELINUX
 # include <selinux/selinux.h>
+#endif
+
+#ifndef MAP_POPULATE
+# define MAP_POPULATE 0
 #endif
 
 #define PACKAGE _libc_intl_domainname

Modified: fsf/trunk/libc/nss/nss_db/db-initgroups.c
==============================================================================
--- fsf/trunk/libc/nss/nss_db/db-initgroups.c (original)
+++ fsf/trunk/libc/nss/nss_db/db-initgroups.c Fri May 11 00:01:35 2012
@@ -20,8 +20,10 @@
 #include <ctype.h>
 #include <errno.h>
 #include <grp.h>
+#include <limits.h>
 #include <paths.h>
 #include <string.h>
+#include <sys/param.h>
 
 #include "nss_db.h"
 

Modified: fsf/trunk/libc/posix/tst-sysconf.c
==============================================================================
--- fsf/trunk/libc/posix/tst-sysconf.c (original)
+++ fsf/trunk/libc/posix/tst-sysconf.c Fri May 11 00:01:35 2012
@@ -29,8 +29,12 @@
     N (MEMORY_PROTECTION),
     N (MESSAGE_PASSING),
     N (MONOTONIC_CLOCK),
+#ifdef _POSIX_PRIORITIZED_IO
     N (PRIORITIZED_IO),
+#endif
+#ifdef _POSIX_PRIORITY_SCHEDULING
     N (PRIORITY_SCHEDULING),
+#endif
     N (RAW_SOCKETS),
     N (READER_WRITER_LOCKS),
     N (REALTIME_SIGNALS),
@@ -42,7 +46,9 @@
     N (SPAWN),
     N (SPIN_LOCKS),
     N (SPORADIC_SERVER),
+#ifdef _POSIX_SYNCHRONIZED_IO
     N (SYNCHRONIZED_IO),
+#endif
     N (THREAD_ATTR_STACKADDR),
     N (THREAD_ATTR_STACKSIZE),
     N (THREAD_CPUTIME),

Modified: fsf/trunk/libc/streams/stropts.h
==============================================================================
--- fsf/trunk/libc/streams/stropts.h (original)
+++ fsf/trunk/libc/streams/stropts.h Fri May 11 00:01:35 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2000, 2002, 2003, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2012 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,6 +32,7 @@
 # define __uid_t_defined
 #endif
 
+typedef __t_scalar_t t_scalar_t;
 typedef __t_uscalar_t t_uscalar_t;
 
 /* Get system specific contants.  */

Modified: fsf/trunk/libc/sunrpc/Makefile
==============================================================================
--- fsf/trunk/libc/sunrpc/Makefile (original)
+++ fsf/trunk/libc/sunrpc/Makefile Fri May 11 00:01:35 2012
@@ -60,6 +60,10 @@
 
 include ../Makeconfig
 
+ifeq ($(link-obsolete-rpc),yes)
+headers += $(headers-in-tirpc) $(headers-not-in-tirpc)
+endif
+
 ifeq ($(versioning),yes)
 need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \
 			clnt_udp get_myaddr key_call netname pm_getport \
@@ -73,8 +77,10 @@
 	    svc_simple xdr_float xdr_rec publickey authdes_prot \
 	    des_crypt des_impl des_soft key_prot openchild rtime svcauth_des \
 	    clnt_unix svc_unix create_xid $(need-export-routines)
+ifneq ($(link-obsolete-rpc),yes)
 # We only add the RPC for compatibility to libc.so.
 shared-only-routines = $(routines)
+endif
 endif
 
 # We do not build rpcinfo anymore.  It is not needed for a bootstrap
@@ -97,22 +103,23 @@
 xtests += thrsvc
 endif
 
-ifeq (no,$(cross-compiling))
-# We can only build this library if we can run the rpcgen we build.
 headers += $(rpcsvc:%.x=rpcsvc/%.h)
 extra-libs := librpcsvc
 extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass.
 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)))
+extra-objs += $(addsuffix .os,$(rpc-compat-routines))
+endif
+
+include ../Rules
+
+ifeq (yes,$(build-shared))
 subdir_lib: $(objpfx)librpc_compat_pic.a
 $(objpfx)librpc_compat_pic.a: $(rpc-compat-routines.os)
 	$(AR) cr$(verbose) $@ $^
@@ -139,21 +146,40 @@
 CFLAGS-clnt_perr.c = -fexceptions
 CFLAGS-openchild.c = -fexceptions
 
-CPPFLAGS += -D_RPC_THREAD_SAFE_
+sunrpc-CPPFLAGS = -D_RPC_THREAD_SAFE_
+CPPFLAGS += $(sunrpc-CPPFLAGS)
+BUILD_CPPFLAGS += $(sunrpc-CPPFLAGS)
 
 $(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))
+
+cross-rpcgen-objs := $(addprefix $(objpfx)cross-,$(rpcgen-objs))
+extra-objs += $(cross-rpcgen-objs)
+
+# When generic makefile support for build system programs is
+# available, it should replace this code.  See
+# <http://sourceware.org/bugzilla/show_bug.cgi?id=14087>.
+$(cross-rpcgen-objs): $(objpfx)cross-%.o: %.c
+	$(make-target-directory)
+	$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) $< \
+		$(OUTPUT_OPTION) $(compile-mkdep-flags) -c
+
+$(objpfx)cross-rpcgen: $(cross-rpcgen-objs)
+	$(BUILD_CC) $^ $(BUILD_LDFLAGS) -o $@
 
 # This makes sure -DNOT_IN_libc is passed for all these modules.
 cpp-srcs-left := $(rpcgen-objs:.o=.c)
 lib := nonlib
 include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
 
-# Tell rpcgen where to find the C preprocessor.
-rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-cmd) -Y ../scripts
+# How we run rpcgen to generate sources and headers in the rules below.
+# Setting CPP tells it how to run the C preprocessor correctly.  Note
+# that $(built-program-file) requires that the just-built cross-rpcgen
+# binary be the second dependency listed in each rule using rpcgen-cmd.
+rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-file) -Y ../scripts
 
 # Install the rpc data base file.
 $(inst_sysconfdir)/rpc: etc.rpc $(+force)
@@ -164,7 +190,7 @@
 # relinked.
 $(rpcsvc:%.x=$(objpfx)rpcsvc/%.h): $(objpfx)rpcsvc/%.h: $(objpfx)rpcsvc/%.stmp
 	@:
-$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)rpcgen
+$(objpfx)rpcsvc/%.stmp: rpcsvc/%.x $(objpfx)cross-rpcgen
 	$(make-target-directory)
 	-@rm -f ${@:stmp=T} $@
 	$(rpcgen-cmd) -h $< -o ${@:stmp=T}
@@ -174,7 +200,7 @@
 # Generate the rpcsvc XDR functions with rpcgen.
 $(rpcsvc:%.x=$(objpfx)x%.c): $(objpfx)x%.c: $(objpfx)x%.stmp
 	@:
-$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)rpcgen
+$(objpfx)x%.stmp: rpcsvc/%.x $(objpfx)cross-rpcgen
 	-@rm -f ${@:stmp=T} $@
 	$(rpcgen-cmd) -c $< -o ${@:stmp=T}
 	$(move-if-change) $(@:stmp=T) $(@:stmp=c)

Modified: fsf/trunk/libc/sunrpc/auth_des.c
==============================================================================
--- fsf/trunk/libc/sunrpc/auth_des.c (original)
+++ fsf/trunk/libc/sunrpc/auth_des.c Fri May 11 00:01:35 2012
@@ -117,7 +117,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (authdes_create)
 #else
-libc_hidden_nolink (authdes_create, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (authdes_create, GLIBC_2_1)
 #endif
 
 AUTH *
@@ -211,7 +211,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (authdes_pk_create)
 #else
-libc_hidden_nolink (authdes_pk_create, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (authdes_pk_create, GLIBC_2_1)
 #endif
 
 /*

Modified: fsf/trunk/libc/sunrpc/auth_none.c
==============================================================================
--- fsf/trunk/libc/sunrpc/auth_none.c (original)
+++ fsf/trunk/libc/sunrpc/auth_none.c Fri May 11 00:01:35 2012
@@ -95,7 +95,7 @@
   __libc_once (authnone_private_guard, authnone_create_once);
   return &authnone_private.no_client;
 }
-libc_hidden_nolink (authnone_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (authnone_create, GLIBC_2_0)
 
 static bool_t
 authnone_marshal (AUTH *client, XDR *xdrs)

Modified: fsf/trunk/libc/sunrpc/auth_unix.c
==============================================================================
--- fsf/trunk/libc/sunrpc/auth_unix.c (original)
+++ fsf/trunk/libc/sunrpc/auth_unix.c Fri May 11 00:01:35 2012
@@ -149,7 +149,7 @@
   marshal_new_auth (auth);
   return auth;
 }
-libc_hidden_nolink (authunix_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (authunix_create, GLIBC_2_0)
 
 /*
  * Returns an auth handle with parameters determined by doing lots of
@@ -216,7 +216,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (authunix_create_default)
 #else
-libc_hidden_nolink (authunix_create_default, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (authunix_create_default, GLIBC_2_0)
 #endif
 
 /*

Modified: fsf/trunk/libc/sunrpc/authdes_prot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/authdes_prot.c (original)
+++ fsf/trunk/libc/sunrpc/authdes_prot.c Fri May 11 00:01:35 2012
@@ -63,7 +63,7 @@
       return FALSE;
     }
 }
-libc_hidden_nolink (xdr_authdes_cred, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (xdr_authdes_cred, GLIBC_2_1)
 
 
 bool_t
@@ -78,4 +78,4 @@
 		       sizeof (verf->adv_int_u)));
   return TRUE;
 }
-libc_hidden_nolink (xdr_authdes_verf, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (xdr_authdes_verf, GLIBC_2_1)

Modified: fsf/trunk/libc/sunrpc/authuxprot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/authuxprot.c (original)
+++ fsf/trunk/libc/sunrpc/authuxprot.c Fri May 11 00:01:35 2012
@@ -63,4 +63,4 @@
     }
   return FALSE;
 }
-libc_hidden_nolink (xdr_authunix_parms, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_authunix_parms, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/clnt_gen.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_gen.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_gen.c Fri May 11 00:01:35 2012
@@ -175,5 +175,5 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clnt_create)
 #else
-libc_hidden_nolink (clnt_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_create, GLIBC_2_0)
 #endif

Modified: fsf/trunk/libc/sunrpc/clnt_perr.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_perr.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_perr.c Fri May 11 00:01:35 2012
@@ -127,7 +127,7 @@
 
   return str;
 }
-libc_hidden_nolink (clnt_sperror, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_sperror, GLIBC_2_0)
 
 void
 clnt_perror (CLIENT * rpch, const char *msg)
@@ -137,7 +137,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clnt_perror)
 #else
-libc_hidden_nolink (clnt_perror, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_perror, GLIBC_2_0)
 #endif
 
 
@@ -270,7 +270,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clnt_perrno)
 #else
-libc_hidden_nolink (clnt_perrno, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_perrno, GLIBC_2_0)
 #endif
 
 char *
@@ -308,7 +308,7 @@
 
   return str;
 }
-libc_hidden_nolink (clnt_spcreateerror, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_spcreateerror, GLIBC_2_0)
 
 void
 clnt_pcreateerror (const char *msg)
@@ -318,7 +318,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clnt_pcreateerror)
 #else
-libc_hidden_nolink (clnt_pcreateerror, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_pcreateerror, GLIBC_2_0)
 #endif
 
 struct auth_errtab

Modified: fsf/trunk/libc/sunrpc/clnt_raw.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_raw.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_raw.c Fri May 11 00:01:35 2012
@@ -129,7 +129,7 @@
   client->cl_auth = authnone_create ();
   return client;
 }
-libc_hidden_nolink (clntraw_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clntraw_create, GLIBC_2_0)
 
 static enum clnt_stat
 clntraw_call (h, proc, xargs, argsp, xresults, resultsp, timeout)

Modified: fsf/trunk/libc/sunrpc/clnt_simp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_simp.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_simp.c Fri May 11 00:01:35 2012
@@ -139,7 +139,7 @@
     crp->valid = 0;
   return (int) clnt_stat;
 }
-libc_hidden_nolink (callrpc, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (callrpc, GLIBC_2_0)
 
 #ifdef _RPC_THREAD_SAFE_
 void

Modified: fsf/trunk/libc/sunrpc/clnt_tcp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_tcp.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_tcp.c Fri May 11 00:01:35 2012
@@ -220,7 +220,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clnttcp_create)
 #else
-libc_hidden_nolink (clnttcp_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnttcp_create, GLIBC_2_0)
 #endif
 
 static enum clnt_stat

Modified: fsf/trunk/libc/sunrpc/clnt_udp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_udp.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_udp.c Fri May 11 00:01:35 2012
@@ -239,7 +239,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (__libc_clntudp_bufcreate)
 #else
-libc_hidden_nolink (__libc_clntudp_bufcreate, GLIBC_PRIVATE)
+libc_hidden_nolink_sunrpc (__libc_clntudp_bufcreate, GLIBC_PRIVATE)
 #endif
 
 CLIENT *
@@ -250,7 +250,7 @@
   return __libc_clntudp_bufcreate (raddr, program, version, wait,
 				   sockp, sendsz, recvsz, 0);
 }
-libc_hidden_nolink (clntudp_bufcreate, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clntudp_bufcreate, GLIBC_2_0)
 
 CLIENT *
 clntudp_create (raddr, program, version, wait, sockp)
@@ -266,7 +266,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clntudp_create)
 #else
-libc_hidden_nolink (clntudp_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clntudp_create, GLIBC_2_0)
 #endif
 
 static int

Modified: fsf/trunk/libc/sunrpc/clnt_unix.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_unix.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_unix.c Fri May 11 00:01:35 2012
@@ -200,7 +200,7 @@
   mem_free ((caddr_t) h, sizeof (CLIENT));
   return (CLIENT *) NULL;
 }
-libc_hidden_nolink (clntunix_create, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (clntunix_create, GLIBC_2_1)
 
 static enum clnt_stat
 clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)

Modified: fsf/trunk/libc/sunrpc/des_crypt.c
==============================================================================
--- fsf/trunk/libc/sunrpc/des_crypt.c (original)
+++ fsf/trunk/libc/sunrpc/des_crypt.c Fri May 11 00:01:35 2012
@@ -102,7 +102,7 @@
   COPY8 (dp.des_ivec, ivec);
   return err;
 }
-libc_hidden_nolink (cbc_crypt, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (cbc_crypt, GLIBC_2_1)
 
 /*
  * ECB mode encryption
@@ -115,4 +115,4 @@
   dp.des_mode = ECB;
   return common_crypt (key, buf, len, mode, &dp);
 }
-libc_hidden_nolink (ecb_crypt, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (ecb_crypt, GLIBC_2_1)

Modified: fsf/trunk/libc/sunrpc/des_soft.c
==============================================================================
--- fsf/trunk/libc/sunrpc/des_soft.c (original)
+++ fsf/trunk/libc/sunrpc/des_soft.c Fri May 11 00:01:35 2012
@@ -70,4 +70,4 @@
       p++;
     }
 }
-libc_hidden_nolink (des_setparity, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (des_setparity, GLIBC_2_1)

Modified: fsf/trunk/libc/sunrpc/get_myaddr.c
==============================================================================
--- fsf/trunk/libc/sunrpc/get_myaddr.c (original)
+++ fsf/trunk/libc/sunrpc/get_myaddr.c Fri May 11 00:01:35 2012
@@ -99,5 +99,5 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (get_myaddress)
 #else
-libc_hidden_nolink (get_myaddress, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (get_myaddress, GLIBC_2_0)
 #endif

Modified: fsf/trunk/libc/sunrpc/key_call.c
==============================================================================
--- fsf/trunk/libc/sunrpc/key_call.c (original)
+++ fsf/trunk/libc/sunrpc/key_call.c Fri May 11 00:01:35 2012
@@ -80,7 +80,7 @@
     }
   return 0;
 }
-libc_hidden_nolink (key_setsecret, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_setsecret, GLIBC_2_1)
 
 /* key_secretkey_is_set() returns 1 if the keyserver has a secret key
  * stored for the caller's effective uid; it returns 0 otherwise
@@ -109,7 +109,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (key_secretkey_is_set)
 #else
-libc_hidden_nolink (key_secretkey_is_set, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_secretkey_is_set, GLIBC_2_1)
 #endif
 
 int
@@ -133,7 +133,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_nolink (key_encryptsession, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_encryptsession, GLIBC_2_1)
 
 int
 key_decryptsession (char *remotename, des_block *deskey)
@@ -155,7 +155,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_nolink (key_decryptsession, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_decryptsession, GLIBC_2_1)
 
 int
 key_encryptsession_pk (char *remotename, netobj *remotekey,
@@ -180,7 +180,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_nolink (key_encryptsession_pk, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_encryptsession_pk, GLIBC_2_1)
 
 int
 key_decryptsession_pk (char *remotename, netobj *remotekey,
@@ -205,7 +205,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_nolink (key_decryptsession_pk, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_decryptsession_pk, GLIBC_2_1)
 
 int
 key_gendes (des_block *key)
@@ -239,7 +239,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (key_gendes)
 #else
-libc_hidden_nolink (key_gendes, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_gendes, GLIBC_2_1)
 #endif
 
 int
@@ -259,7 +259,7 @@
     }
   return 1;
 }
-libc_hidden_nolink (key_setnet, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_setnet, GLIBC_2_1)
 
 int
 key_get_conv (char *pkey, des_block *deskey)
@@ -278,7 +278,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_nolink (key_get_conv, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (key_get_conv, GLIBC_2_1)
 
 /*
  * Hack to allow the keyserver to use AUTH_DES (for authenticated

Modified: fsf/trunk/libc/sunrpc/key_prot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/key_prot.c (original)
+++ fsf/trunk/libc/sunrpc/key_prot.c Fri May 11 00:01:35 2012
@@ -38,7 +38,7 @@
 
   return TRUE;
 }
-libc_hidden_nolink (xdr_keystatus, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_keystatus, GLIBC_2_0)
 
 bool_t
 xdr_keybuf (XDR * xdrs, keybuf objp)
@@ -48,7 +48,7 @@
 
   return TRUE;
 }
-libc_hidden_nolink (xdr_keybuf, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_keybuf, GLIBC_2_0)
 
 bool_t
 xdr_netnamestr (XDR * xdrs, netnamestr * objp)
@@ -58,7 +58,7 @@
 
   return TRUE;
 }
-libc_hidden_nolink (xdr_netnamestr, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (xdr_netnamestr, GLIBC_2_1)
 
 bool_t
 xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp)
@@ -71,7 +71,7 @@
 
   return TRUE;
 }
-libc_hidden_nolink (xdr_cryptkeyarg, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_cryptkeyarg, GLIBC_2_0)
 
 bool_t
 xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp)
@@ -84,7 +84,7 @@
     return FALSE;
   return TRUE;
 }
-libc_hidden_nolink (xdr_cryptkeyarg2, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_cryptkeyarg2, GLIBC_2_0)
 
 bool_t
 xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp)
@@ -102,7 +102,7 @@
     }
   return TRUE;
 }
-libc_hidden_nolink (xdr_cryptkeyres, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_cryptkeyres, GLIBC_2_0)
 
 bool_t
 xdr_unixcred (XDR * xdrs, unixcred * objp)
@@ -117,7 +117,7 @@
     return FALSE;
   return TRUE;
 }
-libc_hidden_nolink (xdr_unixcred, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (xdr_unixcred, GLIBC_2_1)
 
 bool_t
 xdr_getcredres (XDR * xdrs, getcredres * objp)
@@ -135,7 +135,7 @@
     }
   return TRUE;
 }
-libc_hidden_nolink (xdr_getcredres, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (xdr_getcredres, GLIBC_2_1)
 
 bool_t
 xdr_key_netstarg (XDR * xdrs, key_netstarg * objp)
@@ -148,7 +148,7 @@
     return FALSE;
   return TRUE;
 }
-libc_hidden_nolink (xdr_key_netstarg, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_key_netstarg, GLIBC_2_0)
 
 bool_t
 xdr_key_netstres (XDR * xdrs, key_netstres * objp)
@@ -166,4 +166,4 @@
     }
   return TRUE;
 }
-libc_hidden_nolink (xdr_key_netstres, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_key_netstres, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/netname.c
==============================================================================
--- fsf/trunk/libc/sunrpc/netname.c (original)
+++ fsf/trunk/libc/sunrpc/netname.c Fri May 11 00:01:35 2012
@@ -54,7 +54,7 @@
     netname[i - 1] = '\0';
   return 1;
 }
-libc_hidden_nolink (user2netname, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (user2netname, GLIBC_2_1)
 
 int
 host2netname (char netname[MAXNETNAMELEN + 1], const char *host,
@@ -118,7 +118,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (host2netname)
 #else
-libc_hidden_nolink (host2netname, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (host2netname, GLIBC_2_1)
 #endif
 
 int
@@ -134,7 +134,7 @@
     dummy = user2netname (name, uid, NULL);
   return (dummy);
 }
-libc_hidden_nolink (getnetname, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (getnetname, GLIBC_2_1)
 
 /* Type of the lookup function for netname2user.  */
 typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1],
@@ -187,7 +187,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (netname2user)
 #else
-libc_hidden_nolink (netname2user, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (netname2user, GLIBC_2_1)
 #endif
 
 int
@@ -214,4 +214,4 @@
 
   return 1;
 }
-libc_hidden_nolink (netname2host, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (netname2host, GLIBC_2_1)

Modified: fsf/trunk/libc/sunrpc/pm_getmaps.c
==============================================================================
--- fsf/trunk/libc/sunrpc/pm_getmaps.c (original)
+++ fsf/trunk/libc/sunrpc/pm_getmaps.c Fri May 11 00:01:35 2012
@@ -84,4 +84,4 @@
   address->sin_port = 0;
   return head;
 }
-libc_hidden_nolink (pmap_getmaps, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (pmap_getmaps, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/pm_getport.c
==============================================================================
--- fsf/trunk/libc/sunrpc/pm_getport.c (original)
+++ fsf/trunk/libc/sunrpc/pm_getport.c Fri May 11 00:01:35 2012
@@ -142,7 +142,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (__libc_rpc_getport)
 #else
-libc_hidden_nolink (__libc_rpc_getport, GLIBC_PRIVATE)
+libc_hidden_nolink_sunrpc (__libc_rpc_getport, GLIBC_PRIVATE)
 #endif
 
 
@@ -160,4 +160,4 @@
 {
   return __libc_rpc_getport (address, program, version, protocol, 5, 60);
 }
-libc_hidden_nolink (pmap_getport, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (pmap_getport, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/pmap_clnt.c
==============================================================================
--- fsf/trunk/libc/sunrpc/pmap_clnt.c (original)
+++ fsf/trunk/libc/sunrpc/pmap_clnt.c Fri May 11 00:01:35 2012
@@ -131,7 +131,7 @@
   /* (void)close(socket); CLNT_DESTROY closes it */
   return rslt;
 }
-libc_hidden_nolink (pmap_set, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (pmap_set, GLIBC_2_0)
 
 /*
  * Remove the mapping between program,version and port.
@@ -162,4 +162,4 @@
   /* (void)close(socket); CLNT_DESTROY already closed it */
   return rslt;
 }
-libc_hidden_nolink (pmap_unset, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (pmap_unset, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/pmap_prot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/pmap_prot.c (original)
+++ fsf/trunk/libc/sunrpc/pmap_prot.c Fri May 11 00:01:35 2012
@@ -49,4 +49,4 @@
     return xdr_u_long (xdrs, &regs->pm_port);
   return FALSE;
 }
-libc_hidden_nolink (xdr_pmap, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_pmap, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/pmap_prot2.c
==============================================================================
--- fsf/trunk/libc/sunrpc/pmap_prot2.c (original)
+++ fsf/trunk/libc/sunrpc/pmap_prot2.c Fri May 11 00:01:35 2012
@@ -110,4 +110,4 @@
       rp = freeing ? &next : &((*rp)->pml_next);
     }
 }
-libc_hidden_nolink (xdr_pmaplist, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_pmaplist, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/pmap_rmt.c
==============================================================================
--- fsf/trunk/libc/sunrpc/pmap_rmt.c (original)
+++ fsf/trunk/libc/sunrpc/pmap_rmt.c Fri May 11 00:01:35 2012
@@ -104,7 +104,7 @@
   addr->sin_port = 0;
   return stat;
 }
-libc_hidden_nolink (pmap_rmtcall, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (pmap_rmtcall, GLIBC_2_0)
 
 
 /*
@@ -137,7 +137,7 @@
     }
   return FALSE;
 }
-libc_hidden_nolink (xdr_rmtcall_args, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_rmtcall_args, GLIBC_2_0)
 
 /*
  * XDR remote call results
@@ -160,7 +160,7 @@
     }
   return FALSE;
 }
-libc_hidden_nolink (xdr_rmtcallres, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_rmtcallres, GLIBC_2_0)
 
 
 /*
@@ -388,4 +388,4 @@
   AUTH_DESTROY (unix_auth);
   return stat;
 }
-libc_hidden_nolink (clnt_broadcast, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (clnt_broadcast, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/proto.h
==============================================================================
--- fsf/trunk/libc/sunrpc/proto.h (original)
+++ fsf/trunk/libc/sunrpc/proto.h Fri May 11 00:01:35 2012
@@ -50,3 +50,19 @@
 void tabify(FILE *f, int tab);
 char *make_argname(const char *pname, const char *vname);
 void add_type(int len, const char *type);
+
+/* This header is the last one included in all rpc_*.c files,
+   so we define stuff for cross-rpcgen here to avoid conflicts with
+   $build's C library and $host's glibc.  */
+
+#ifdef IS_IN_build
+
+/* Disable translated messages when built for $build and used in
+   building glibc.  */
+#define _(X) (X)
+#define textdomain(X) ((void) 0)
+
+/* This is used in the definition of PACKAGE for --version output.  */
+#define _libc_intl_domainname "libc"
+
+#endif

Modified: fsf/trunk/libc/sunrpc/publickey.c
==============================================================================
--- fsf/trunk/libc/sunrpc/publickey.c (original)
+++ fsf/trunk/libc/sunrpc/publickey.c Fri May 11 00:01:35 2012
@@ -75,7 +75,7 @@
 
   return status == NSS_STATUS_SUCCESS;
 }
-libc_hidden_nolink (getpublickey, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (getpublickey, GLIBC_2_0)
 
 
 int
@@ -118,4 +118,4 @@
 
   return status == NSS_STATUS_SUCCESS;
 }
-libc_hidden_nolink (getsecretkey, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (getsecretkey, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/rpc_cmsg.c
==============================================================================
--- fsf/trunk/libc/sunrpc/rpc_cmsg.c (original)
+++ fsf/trunk/libc/sunrpc/rpc_cmsg.c Fri May 11 00:01:35 2012
@@ -194,4 +194,4 @@
     return xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_verf));
   return FALSE;
 }
-libc_hidden_nolink (xdr_callmsg, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_callmsg, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/rpc_common.c
==============================================================================
--- fsf/trunk/libc/sunrpc/rpc_common.c (original)
+++ fsf/trunk/libc/sunrpc/rpc_common.c Fri May 11 00:01:35 2012
@@ -45,7 +45,7 @@
    section but we cannot add const to the type because this isn't how
    the variable is declared.  So we use the section attribute.  */
 struct opaque_auth _null_auth __attribute__ ((nocommon));
-libc_hidden_nolink (_null_auth, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0)
 fd_set svc_fdset;
 struct rpc_createerr rpc_createerr;
 struct pollfd *svc_pollfd;

Modified: fsf/trunk/libc/sunrpc/rpc_dtable.c
==============================================================================
--- fsf/trunk/libc/sunrpc/rpc_dtable.c (original)
+++ fsf/trunk/libc/sunrpc/rpc_dtable.c Fri May 11 00:01:35 2012
@@ -46,4 +46,4 @@
 
   return size;
 }
-libc_hidden_nolink (_rpc_dtablesize, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (_rpc_dtablesize, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/rpc_prot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/rpc_prot.c (original)
+++ fsf/trunk/libc/sunrpc/rpc_prot.c Fri May 11 00:01:35 2012
@@ -57,7 +57,7 @@
 		      &ap->oa_length, MAX_AUTH_BYTES);
   return FALSE;
 }
-libc_hidden_nolink (xdr_opaque_auth, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_opaque_auth, GLIBC_2_0)
 
 /*
  * XDR a DES block
@@ -67,7 +67,7 @@
 {
   return xdr_opaque (xdrs, (caddr_t) blkp, sizeof (des_block));
 }
-libc_hidden_nolink (xdr_des_block, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_des_block, GLIBC_2_0)
 
 /* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */
 
@@ -95,7 +95,7 @@
     }
   return TRUE;		/* TRUE => open ended set of problems */
 }
-libc_hidden_nolink (xdr_accepted_reply, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_accepted_reply, GLIBC_2_0)
 
 /*
  * XDR the MSG_DENIED part of a reply message union
@@ -118,7 +118,7 @@
     }
   return FALSE;
 }
-libc_hidden_nolink (xdr_rejected_reply, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_rejected_reply, GLIBC_2_0)
 
 static const struct xdr_discrim reply_dscrm[3] =
 {
@@ -142,7 +142,7 @@
 		      NULL_xdrproc_t);
   return FALSE;
 }
-libc_hidden_nolink (xdr_replymsg, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_replymsg, GLIBC_2_0)
 
 
 /*
@@ -167,7 +167,7 @@
     return xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers));
   return FALSE;
 }
-libc_hidden_nolink (xdr_callhdr, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_callhdr, GLIBC_2_0)
 
 /* ************************** Client utility routine ************* */
 
@@ -277,4 +277,4 @@
       break;
     }
 }
-libc_hidden_nolink (_seterr_reply, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (_seterr_reply, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/rpc_thread.c
==============================================================================
--- fsf/trunk/libc/sunrpc/rpc_thread.c (original)
+++ fsf/trunk/libc/sunrpc/rpc_thread.c Fri May 11 00:01:35 2012
@@ -97,7 +97,7 @@
 		return &svc_fdset;
 	return &tvp->svc_fdset_s;
 }
-libc_hidden_nolink (__rpc_thread_svc_fdset, GLIBC_2_2_3)
+libc_hidden_nolink_sunrpc (__rpc_thread_svc_fdset, GLIBC_2_2_3)
 
 struct rpc_createerr *
 __rpc_thread_createerr (void)
@@ -109,7 +109,7 @@
 		return &rpc_createerr;
 	return &tvp->rpc_createerr_s;
 }
-libc_hidden_nolink (__rpc_thread_createerr, GLIBC_2_2_3)
+libc_hidden_nolink_sunrpc (__rpc_thread_createerr, GLIBC_2_2_3)
 
 struct pollfd **
 __rpc_thread_svc_pollfd (void)
@@ -124,7 +124,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (__rpc_thread_svc_pollfd)
 #else
-libc_hidden_nolink (__rpc_thread_svc_pollfd, GLIBC_2_2_3)
+libc_hidden_nolink_sunrpc (__rpc_thread_svc_pollfd, GLIBC_2_2_3)
 #endif
 
 int *
@@ -140,7 +140,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (__rpc_thread_svc_max_pollfd)
 #else
-libc_hidden_nolink (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3)
+libc_hidden_nolink_sunrpc (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3)
 #endif
 
 #endif /* _RPC_THREAD_SAFE_ */

Modified: fsf/trunk/libc/sunrpc/rtime.c
==============================================================================
--- fsf/trunk/libc/sunrpc/rtime.c (original)
+++ fsf/trunk/libc/sunrpc/rtime.c Fri May 11 00:01:35 2012
@@ -140,4 +140,4 @@
   timep->tv_usec = 0;
   return 0;
 }
-libc_hidden_nolink (rtime, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (rtime, GLIBC_2_1)

Modified: fsf/trunk/libc/sunrpc/svc.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc.c (original)
+++ fsf/trunk/libc/sunrpc/svc.c Fri May 11 00:01:35 2012
@@ -115,7 +115,7 @@
 					       POLLRDNORM | POLLRDBAND);
     }
 }
-libc_hidden_nolink (xprt_register, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xprt_register, GLIBC_2_0)
 
 /* De-activate a transport handle. */
 void
@@ -139,7 +139,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xprt_unregister)
 #else
-libc_hidden_nolink (xprt_unregister, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xprt_unregister, GLIBC_2_0)
 #endif
 
 
@@ -218,7 +218,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svc_register)
 #else
-libc_hidden_nolink (svc_register, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_register, GLIBC_2_0)
 #endif
 
 /* Remove a service program from the callout list. */
@@ -242,7 +242,7 @@
   if (! svc_is_mapped (prog, vers))
     pmap_unset (prog, vers);
 }
-libc_hidden_nolink (svc_unregister, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_unregister, GLIBC_2_0)
 
 /* ******************* REPLY GENERATION ROUTINES  ************ */
 
@@ -264,7 +264,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svc_sendreply)
 #else
-libc_hidden_nolink (svc_sendreply, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_sendreply, GLIBC_2_0)
 #endif
 
 /* No procedure error reply */
@@ -282,7 +282,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svcerr_noproc)
 #else
-libc_hidden_nolink (svcerr_noproc, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_noproc, GLIBC_2_0)
 #endif
 
 /* Can't decode args error reply */
@@ -300,7 +300,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svcerr_decode)
 #else
-libc_hidden_nolink (svcerr_decode, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_decode, GLIBC_2_0)
 #endif
 
 /* Some system error */
@@ -318,7 +318,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svcerr_systemerr)
 #else
-libc_hidden_nolink (svcerr_systemerr, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_systemerr, GLIBC_2_0)
 #endif
 
 /* Authentication error reply */
@@ -333,7 +333,7 @@
   rply.rjcted_rply.rj_why = why;
   SVC_REPLY (xprt, &rply);
 }
-libc_hidden_nolink (svcerr_auth, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_auth, GLIBC_2_0)
 
 /* Auth too weak error reply */
 void
@@ -341,7 +341,7 @@
 {
   svcerr_auth (xprt, AUTH_TOOWEAK);
 }
-libc_hidden_nolink (svcerr_weakauth, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_weakauth, GLIBC_2_0)
 
 /* Program unavailable error reply */
 void
@@ -355,7 +355,7 @@
   rply.acpted_rply.ar_stat = PROG_UNAVAIL;
   SVC_REPLY (xprt, &rply);
 }
-libc_hidden_nolink (svcerr_noprog, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_noprog, GLIBC_2_0)
 
 /* Program version mismatch error reply */
 void
@@ -372,7 +372,7 @@
   rply.acpted_rply.ar_vers.high = high_vers;
   SVC_REPLY (xprt, &rply);
 }
-libc_hidden_nolink (svcerr_progvers, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcerr_progvers, GLIBC_2_0)
 
 /* ******************* SERVER INPUT STUFF ******************* */
 
@@ -401,7 +401,7 @@
   readfds.fds_bits[0] = rdfds;
   svc_getreqset (&readfds);
 }
-libc_hidden_nolink (svc_getreq, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_getreq, GLIBC_2_0)
 
 void
 svc_getreqset (fd_set *readfds)
@@ -420,7 +420,7 @@
     for (mask = *maskp++; (bit = ffsl (mask)); mask ^= (1L << (bit - 1)))
       svc_getreq_common (sock + bit - 1);
 }
-libc_hidden_nolink (svc_getreqset, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_getreqset, GLIBC_2_0)
 
 void
 svc_getreq_poll (struct pollfd *pfdp, int pollretval)
@@ -449,7 +449,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svc_getreq_poll)
 #else
-libc_hidden_nolink (svc_getreq_poll, GLIBC_2_2)
+libc_hidden_nolink_sunrpc (svc_getreq_poll, GLIBC_2_2)
 #endif
 
 
@@ -542,7 +542,7 @@
     }
   while (stat == XPRT_MOREREQS);
 }
-libc_hidden_nolink (svc_getreq_common, GLIBC_2_2)
+libc_hidden_nolink_sunrpc (svc_getreq_common, GLIBC_2_2)
 
 #ifdef _RPC_THREAD_SAFE_
 

Modified: fsf/trunk/libc/sunrpc/svc_auth.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_auth.c (original)
+++ fsf/trunk/libc/sunrpc/svc_auth.c Fri May 11 00:01:35 2012
@@ -105,7 +105,7 @@
 
   return AUTH_REJECTEDCRED;
 }
-libc_hidden_nolink (_authenticate, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (_authenticate, GLIBC_2_1)
 
 static enum auth_stat
 _svcauth_null (struct svc_req *rqst, struct rpc_msg *msg)

Modified: fsf/trunk/libc/sunrpc/svc_raw.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_raw.c (original)
+++ fsf/trunk/libc/sunrpc/svc_raw.c Fri May 11 00:01:35 2012
@@ -88,7 +88,7 @@
   xdrmem_create (&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE);
   return &srp->server;
 }
-libc_hidden_nolink (svcraw_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcraw_create, GLIBC_2_0)
 
 static enum xprt_stat
 svcraw_stat (SVCXPRT *xprt)

Modified: fsf/trunk/libc/sunrpc/svc_run.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_run.c (original)
+++ fsf/trunk/libc/sunrpc/svc_run.c Fri May 11 00:01:35 2012
@@ -46,7 +46,7 @@
   svc_pollfd = NULL;
   svc_max_pollfd = 0;
 }
-libc_hidden_nolink (svc_exit, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_exit, GLIBC_2_0)
 
 void
 svc_run (void)
@@ -104,5 +104,5 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svc_run)
 #else
-libc_hidden_nolink (svc_run, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svc_run, GLIBC_2_0)
 #endif

Modified: fsf/trunk/libc/sunrpc/svc_tcp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_tcp.c (original)
+++ fsf/trunk/libc/sunrpc/svc_tcp.c Fri May 11 00:01:35 2012
@@ -187,7 +187,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svctcp_create)
 #else
-libc_hidden_nolink (svctcp_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svctcp_create, GLIBC_2_0)
 #endif
 
 /*
@@ -199,7 +199,7 @@
 {
   return makefd_xprt (fd, sendsize, recvsize);
 }
-libc_hidden_nolink (svcfd_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcfd_create, GLIBC_2_0)
 
 static SVCXPRT *
 internal_function

Modified: fsf/trunk/libc/sunrpc/svc_udp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_udp.c (original)
+++ fsf/trunk/libc/sunrpc/svc_udp.c Fri May 11 00:01:35 2012
@@ -184,7 +184,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svcudp_bufcreate)
 #else
-libc_hidden_nolink (svcudp_bufcreate, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcudp_bufcreate, GLIBC_2_0)
 #endif
 
 SVCXPRT *
@@ -196,7 +196,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (svcudp_create)
 #else
-libc_hidden_nolink (svcudp_create, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcudp_create, GLIBC_2_0)
 #endif
 
 static enum xprt_stat
@@ -500,7 +500,7 @@
   su->su_cache = (char *) uc;
   return 1;
 }
-libc_hidden_nolink (svcudp_enablecache, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (svcudp_enablecache, GLIBC_2_0)
 
 
 /*

Modified: fsf/trunk/libc/sunrpc/svc_unix.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svc_unix.c (original)
+++ fsf/trunk/libc/sunrpc/svc_unix.c Fri May 11 00:01:35 2012
@@ -184,7 +184,7 @@
   xprt_register (xprt);
   return xprt;
 }
-libc_hidden_nolink (svcunix_create, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (svcunix_create, GLIBC_2_1)
 
 /*
  * Like svunix_create(), except the routine takes any *open* UNIX file
@@ -195,7 +195,7 @@
 {
   return makefd_xprt (fd, sendsize, recvsize);
 }
-libc_hidden_nolink (svcunixfd_create, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (svcunixfd_create, GLIBC_2_1)
 
 static SVCXPRT *
 internal_function

Modified: fsf/trunk/libc/sunrpc/svcauth_des.c
==============================================================================
--- fsf/trunk/libc/sunrpc/svcauth_des.c (original)
+++ fsf/trunk/libc/sunrpc/svcauth_des.c Fri May 11 00:01:35 2012
@@ -583,7 +583,7 @@
     groups[i] = cred->groups[i];
   return 1;
 }
-libc_hidden_nolink (authdes_getucred, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (authdes_getucred, GLIBC_2_1)
 
 static void
 internal_function

Modified: fsf/trunk/libc/sunrpc/xcrypt.c
==============================================================================
--- fsf/trunk/libc/sunrpc/xcrypt.c (original)
+++ fsf/trunk/libc/sunrpc/xcrypt.c Fri May 11 00:01:35 2012
@@ -127,7 +127,7 @@
   free (buf);
   return 1;
 }
-libc_hidden_nolink (xencrypt, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xencrypt, GLIBC_2_0)
 
 /*
  * Decrypt secret key using passwd
@@ -163,7 +163,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdecrypt)
 #else
-libc_hidden_nolink (xdecrypt, GLIBC_2_1)
+libc_hidden_nolink_sunrpc (xdecrypt, GLIBC_2_1)
 #endif
 
 /*

Modified: fsf/trunk/libc/sunrpc/xdr.c
==============================================================================
--- fsf/trunk/libc/sunrpc/xdr.c (original)
+++ fsf/trunk/libc/sunrpc/xdr.c Fri May 11 00:01:35 2012
@@ -72,7 +72,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_free)
 #else
-libc_hidden_nolink (xdr_free, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_free, GLIBC_2_0)
 #endif
 
 /*
@@ -86,7 +86,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_void)
 #else
-libc_hidden_nolink (xdr_void, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_void, GLIBC_2_0)
 #endif
 
 /*
@@ -126,7 +126,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_int)
 #else
-libc_hidden_nolink (xdr_int, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_int, GLIBC_2_0)
 #endif
 
 /*
@@ -165,7 +165,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_u_int)
 #else
-libc_hidden_nolink (xdr_u_int, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_u_int, GLIBC_2_0)
 #endif
 
 /*
@@ -193,7 +193,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_long)
 #else
-libc_hidden_nolink (xdr_long, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_long, GLIBC_2_0)
 #endif
 
 /*
@@ -232,7 +232,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_u_long)
 #else
-libc_hidden_nolink (xdr_u_long, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_u_long, GLIBC_2_0)
 #endif
 
 /*
@@ -268,7 +268,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_hyper)
 #else
-libc_hidden_nolink (xdr_hyper, GLIBC_2_1_1)
+libc_hidden_nolink_sunrpc (xdr_hyper, GLIBC_2_1_1)
 #endif
 
 /*
@@ -304,7 +304,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_u_hyper)
 #else
-libc_hidden_nolink (xdr_u_hyper, GLIBC_2_1_1)
+libc_hidden_nolink_sunrpc (xdr_u_hyper, GLIBC_2_1_1)
 #endif
 
 bool_t
@@ -315,7 +315,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_longlong_t)
 #else
-libc_hidden_nolink (xdr_longlong_t, GLIBC_2_1_1)
+libc_hidden_nolink_sunrpc (xdr_longlong_t, GLIBC_2_1_1)
 #endif
 
 bool_t
@@ -326,7 +326,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_u_longlong_t)
 #else
-libc_hidden_nolink (xdr_u_longlong_t, GLIBC_2_1_1)
+libc_hidden_nolink_sunrpc (xdr_u_longlong_t, GLIBC_2_1_1)
 #endif
 
 /*
@@ -359,7 +359,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_short)
 #else
-libc_hidden_nolink (xdr_short, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_short, GLIBC_2_0)
 #endif
 
 /*
@@ -392,7 +392,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_u_short)
 #else
-libc_hidden_nolink (xdr_u_short, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_u_short, GLIBC_2_0)
 #endif
 
 
@@ -415,7 +415,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_char)
 #else
-libc_hidden_nolink (xdr_char, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_char, GLIBC_2_0)
 #endif
 
 /*
@@ -437,7 +437,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_u_char)
 #else
-libc_hidden_nolink (xdr_u_char, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_u_char, GLIBC_2_0)
 #endif
 
 /*
@@ -470,7 +470,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_bool)
 #else
-libc_hidden_nolink (xdr_bool, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_bool, GLIBC_2_0)
 #endif
 
 /*
@@ -525,7 +525,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_enum)
 #else
-libc_hidden_nolink (xdr_enum, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_enum, GLIBC_2_0)
 #endif
 
 /*
@@ -580,7 +580,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_opaque)
 #else
-libc_hidden_nolink (xdr_opaque, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_opaque, GLIBC_2_0)
 #endif
 
 /*
@@ -648,7 +648,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_bytes)
 #else
-libc_hidden_nolink (xdr_bytes, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_bytes, GLIBC_2_0)
 #endif
 
 /*
@@ -665,7 +665,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_netobj)
 #else
-libc_hidden_nolink (xdr_netobj, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_netobj, GLIBC_2_0)
 #endif
 
 /*
@@ -714,7 +714,7 @@
   return ((dfault == NULL_xdrproc_t) ? FALSE :
 	  (*dfault) (xdrs, unp, LASTUNSIGNED));
 }
-libc_hidden_nolink (xdr_union, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_union, GLIBC_2_0)
 
 
 /*
@@ -806,7 +806,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_string)
 #else
-libc_hidden_nolink (xdr_string, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_string, GLIBC_2_0)
 #endif
 
 /*
@@ -827,5 +827,5 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_wrapstring)
 #else
-libc_hidden_nolink (xdr_wrapstring, GLIBC_2_0)
-#endif
+libc_hidden_nolink_sunrpc (xdr_wrapstring, GLIBC_2_0)
+#endif

Modified: fsf/trunk/libc/sunrpc/xdr_array.c
==============================================================================
--- fsf/trunk/libc/sunrpc/xdr_array.c (original)
+++ fsf/trunk/libc/sunrpc/xdr_array.c Fri May 11 00:01:35 2012
@@ -127,7 +127,7 @@
 #ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (xdr_array)
 #else
-libc_hidden_nolink (xdr_array, GLIBC_2_0)
+libc_hidden_nolink_sunrpc (xdr_array, GLIBC_2_0)
 #endif
 
 /*
@@ -162,4 +162,4 @@
     }
   return TRUE;
 }
-libc_hidden_nolink (xdr_vector, GLIBC_2_0)

[... 3380 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits