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

[commits] r13507 - in /fsf/trunk/libc: ./ include/ include/rpc/ nis/ nss/ sunrpc/



Author: eglibc
Date: Sun Apr 17 00:22:42 2011
New Revision: 13507

Log:
Import glibc-mainline for 2011-04-17

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makefile
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/include/libc-symbols.h
    fsf/trunk/libc/include/rpc/auth.h
    fsf/trunk/libc/include/rpc/auth_des.h
    fsf/trunk/libc/include/rpc/auth_unix.h
    fsf/trunk/libc/include/rpc/clnt.h
    fsf/trunk/libc/include/rpc/des_crypt.h
    fsf/trunk/libc/include/rpc/key_prot.h
    fsf/trunk/libc/include/rpc/pmap_clnt.h
    fsf/trunk/libc/include/rpc/pmap_prot.h
    fsf/trunk/libc/include/rpc/pmap_rmt.h
    fsf/trunk/libc/include/rpc/rpc_msg.h
    fsf/trunk/libc/include/rpc/svc.h
    fsf/trunk/libc/include/rpc/svc_auth.h
    fsf/trunk/libc/include/rpc/xdr.h
    fsf/trunk/libc/nis/Makefile
    fsf/trunk/libc/nss/Makefile
    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/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_authux.c
    fsf/trunk/libc/sunrpc/svc_raw.c
    fsf/trunk/libc/sunrpc/svc_run.c
    fsf/trunk/libc/sunrpc/svc_simple.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

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Apr 17 00:22:42 2011
@@ -1,3 +1,77 @@
+2011-04-16  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* Makefile: Add rules to build linkobj/libc.so.
+	* include/libc-symbols.h: Define libc_hidden_nolink.
+	* include/rpc/auth.h: Mark functions which are to be hidden.
+	* include/rpc/auth_des.h: Likewise.
+	* include/rpc/auth_unix.h: Likewise.
+	* include/rpc/clnt.h: Likewise.
+	* include/rpc/des_crypt.h: Likewise.
+	* include/rpc/key_prot.h: Likewise.
+	* include/rpc/pmap_clnt.h: Likewise.
+	* include/rpc/pmap_prot.h: Likewise.
+	* include/rpc/pmap_rmt.h: Likewise.
+	* include/rpc/rpc_msg.h: Likewise.
+	* include/rpc/svc.h: Likewise.
+	* include/rpc/svc_auth.h: Likewise.
+	* include/rpc/xdr.h: Likewise.
+	* nis/Makefile: Link all DSOs against linkobj/libc.so.
+	* nss/Makefile: Likewise.
+	* sunrpc/Makefile: Don't install headers.  Build library with normal
+	entry points.  Don't build rpcinfo.  Link RPC tests appropriately.
+	* sunrpc/auth_des.c: Hide exported symbols by default, export some
+	for the compat linking library.  Remove use of INTDEF/INTUSE.
+	* sunrpc/auth_none.c: Likewise.
+	* sunrpc/auth_unix.c: Likewise.
+	* sunrpc/authdes_prot.c: Likewise.
+	* sunrpc/authuxprot.c: Likewise.
+	* sunrpc/clnt_gen.c: Likewise.
+	* sunrpc/clnt_perr.c: Likewise.
+	* sunrpc/clnt_raw.c: Likewise.
+	* sunrpc/clnt_simp.c: Likewise.
+	* sunrpc/clnt_tcp.c: Likewise.
+	* sunrpc/clnt_udp.c: Likewise.
+	* sunrpc/clnt_unix.c: Likewise.
+	* sunrpc/des_crypt.c: Likewise.
+	* sunrpc/des_soft.c: Likewise.
+	* sunrpc/get_myaddr.c: Likewise.
+	* sunrpc/key_call.c: Likewise.
+	* sunrpc/key_prot.c: Likewise.
+	* sunrpc/netname.c: Likewise.
+	* sunrpc/pm_getmaps.c: Likewise.
+	* sunrpc/pm_getport.c: Likewise.
+	* sunrpc/pmap_clnt.c: Likewise.
+	* sunrpc/pmap_prot.c: Likewise.
+	* sunrpc/pmap_prot2.c: Likewise.
+	* sunrpc/pmap_rmt.c: Likewise.
+	* sunrpc/publickey.c: Likewise.
+	* sunrpc/rpc_cmsg.c: Likewise.
+	* sunrpc/rpc_common.c: Likewise.
+	* sunrpc/rpc_dtable.c: Likewise.
+	* sunrpc/rpc_prot.c: Likewise.
+	* sunrpc/rpc_thread.c: Likewise.
+	* sunrpc/rtime.c: Likewise.
+	* sunrpc/svc.c: Likewise.
+	* sunrpc/svc_auth.c: Likewise.
+	* sunrpc/svc_authux.c: Likewise.
+	* sunrpc/svc_raw.c: Likewise.
+	* sunrpc/svc_run.c: Likewise.
+	* sunrpc/svc_simple.c: Likewise.
+	* sunrpc/svc_tcp.c: Likewise.
+	* sunrpc/svc_udp.c: Likewise.
+	* sunrpc/svc_unix.c: Likewise.
+	* sunrpc/svcauth_des.c: Likewise.
+	* sunrpc/xcrypt.c: Likewise.
+	* sunrpc/xdr.c: Likewise.
+	* sunrpc/xdr_array.c: Likewise.
+	* sunrpc/xdr_float.c: Likewise.
+	* sunrpc/xdr_intXX_t.c: Likewise.
+	* sunrpc/xdr_mem.c: Likewise.
+	* sunrpc/xdr_rec.c: Likewise.
+	* sunrpc/xdr_ref.c: Likewise.
+	* sunrpc/xdr_sizeof.c: Likewise.
+	* sunrpc/xdr_stdio.c: Likewise.
+
 2011-04-10  Ulrich Drepper  <drepper@xxxxxxxxx>
 
 	[BZ #12650]

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

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sun Apr 17 00:22:42 2011
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-4-10
+GNU C Library NEWS -- history of user-visible changes.  2011-4-16
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -6,6 +6,12 @@
 using `glibc' in the "product" field.
 
 Version 2.14
+
+* The RPC implementation in libc is obsoleted.  Old programs keep working
+  but new programs cannot be linked with the routines in libc anymore.
+  Programs in need of RPC functionality must be linked against TI-RPC.
+  The TI-RPC implemtation is IPv6 enabled and there are other benefits.
+  Implemented by Ulrich Drepper.
 
 * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at,
   syncfs

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

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

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

Modified: fsf/trunk/libc/include/rpc/auth_unix.h
==============================================================================
--- fsf/trunk/libc/include/rpc/auth_unix.h (original)
+++ fsf/trunk/libc/include/rpc/auth_unix.h Sun Apr 17 00:22:42 2011
@@ -1,4 +1,3 @@
 #include <sunrpc/rpc/auth_unix.h>
 
-extern bool_t xdr_authunix_parms_internal (XDR *__xdrs,
-					   struct authunix_parms *__p);
+libc_hidden_proto (xdr_authunix_parms)

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

Modified: fsf/trunk/libc/include/rpc/des_crypt.h
==============================================================================
--- fsf/trunk/libc/include/rpc/des_crypt.h (original)
+++ fsf/trunk/libc/include/rpc/des_crypt.h Sun Apr 17 00:22:42 2011
@@ -9,5 +9,7 @@
 libc_hidden_proto (des_setparity)
 libc_hidden_proto (ecb_crypt)
 libc_hidden_proto (cbc_crypt)
+libc_hidden_proto (xencrypt)
+libc_hidden_proto (xdecrypt)
 
 #endif

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

Modified: fsf/trunk/libc/include/rpc/pmap_clnt.h
==============================================================================
--- fsf/trunk/libc/include/rpc/pmap_clnt.h (original)
+++ fsf/trunk/libc/include/rpc/pmap_clnt.h Sun Apr 17 00:22:42 2011
@@ -14,4 +14,8 @@
      internal_function;
 libc_hidden_proto (__libc_rpc_getport)
 
+libc_hidden_proto (clnt_broadcast)
+libc_hidden_proto (pmap_getmaps)
+libc_hidden_proto (pmap_rmtcall)
+
 #endif

Modified: fsf/trunk/libc/include/rpc/pmap_prot.h
==============================================================================
--- fsf/trunk/libc/include/rpc/pmap_prot.h (original)
+++ fsf/trunk/libc/include/rpc/pmap_prot.h Sun Apr 17 00:22:42 2011
@@ -1,7 +1,4 @@
 #include <sunrpc/rpc/pmap_prot.h>
 
-
-extern bool_t xdr_pmap_internal (XDR *__xdrs, struct pmap *__regs)
-  attribute_hidden;
-extern bool_t xdr_pmaplist_internal (XDR *__xdrs, struct pmaplist **__rp)
-  attribute_hidden;
+libc_hidden_proto (xdr_pmap)
+libc_hidden_proto (xdr_pmaplist)

Modified: fsf/trunk/libc/include/rpc/pmap_rmt.h
==============================================================================
--- fsf/trunk/libc/include/rpc/pmap_rmt.h (original)
+++ fsf/trunk/libc/include/rpc/pmap_rmt.h Sun Apr 17 00:22:42 2011
@@ -1,7 +1,4 @@
 #include <sunrpc/rpc/pmap_rmt.h>
 
-extern bool_t xdr_rmtcall_args_internal (XDR *__xdrs,
-					 struct rmtcallargs *__crp)
-  attribute_hidden;
-extern bool_t xdr_rmtcallres_internal (XDR *__xdrs, struct rmtcallres *__crp)
-  attribute_hidden;
+libc_hidden_proto (xdr_rmtcall_args)
+libc_hidden_proto (xdr_rmtcallres)

Modified: fsf/trunk/libc/include/rpc/rpc_msg.h
==============================================================================
--- fsf/trunk/libc/include/rpc/rpc_msg.h (original)
+++ fsf/trunk/libc/include/rpc/rpc_msg.h Sun Apr 17 00:22:42 2011
@@ -7,8 +7,11 @@
 
 extern bool_t xdr_rejected_reply (XDR *xdrs, struct rejected_reply *rr);
 extern bool_t xdr_accepted_reply (XDR *xdrs, struct accepted_reply *ar);
-extern bool_t xdr_callmsg_internal (XDR *__xdrs, struct rpc_msg *__cmsg);
-extern bool_t xdr_callhdr_internal (XDR *__xdrs, struct rpc_msg *__cmsg);
-extern bool_t xdr_replymsg_internal (XDR *__xdrs, struct rpc_msg *__rmsg);
+
+libc_hidden_proto (xdr_accepted_reply)
+libc_hidden_proto (xdr_callhdr)
+libc_hidden_proto (xdr_callmsg)
+libc_hidden_proto (xdr_rejected_reply)
+libc_hidden_proto (xdr_replymsg)
 
 #endif

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

Modified: fsf/trunk/libc/include/rpc/svc_auth.h
==============================================================================
--- fsf/trunk/libc/include/rpc/svc_auth.h (original)
+++ fsf/trunk/libc/include/rpc/svc_auth.h Sun Apr 17 00:22:42 2011
@@ -6,7 +6,7 @@
 				     struct rpc_msg *msg);
 extern enum auth_stat _svcauth_short (struct svc_req *rqst,
 				      struct rpc_msg *msg);
-extern enum auth_stat _authenticate_internal (struct svc_req *__rqst,
-				struct rpc_msg *__msg) attribute_hidden;
+
+libc_hidden_proto (_authenticate)
 
 #endif

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

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

Modified: fsf/trunk/libc/nss/Makefile
==============================================================================
--- fsf/trunk/libc/nss/Makefile (original)
+++ fsf/trunk/libc/nss/Makefile Sun Apr 17 00:22:42 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-1998,2000-2002,2007,2009,2010
+# Copyright (C) 1996-1998,2000-2002,2007,2009,2010,2011
 # Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -83,7 +83,8 @@
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
-$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so \
+libnss-libc = $(common-objpfx)linkobj/libc.so
+$(services:%=$(objpfx)libnss_%.so): $(libnss-libc) \
 				    $(common-objpfx)libc_nonshared.a
 
 

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

Modified: fsf/trunk/libc/sunrpc/auth_des.c
==============================================================================
--- fsf/trunk/libc/sunrpc/auth_des.c (original)
+++ fsf/trunk/libc/sunrpc/auth_des.c Sun Apr 17 00:22:42 2011
@@ -51,8 +51,6 @@
 
 #define debug(msg)		/* printf("%s\n", msg) */
 
-extern bool_t INTUSE(xdr_authdes_cred) (XDR *, struct authdes_cred *);
-extern bool_t INTUSE(xdr_authdes_verf) (XDR *, struct authdes_verf *);
 
 /*
  * DES authenticator operations vector
@@ -79,8 +77,8 @@
  */
 struct ad_private {
   char *ad_fullname;		/* client's full name */
-  u_int ad_fullnamelen;	        /* length of name, rounded up */
-  char *ad_servername;	        /* server's full name */
+  u_int ad_fullnamelen;		/* length of name, rounded up */
+  char *ad_servername;		/* server's full name */
   u_int ad_servernamelen;	/* length of name, rounded up */
   uint32_t ad_window;		/* client specified window */
   bool_t ad_dosync;		/* synchronize? */
@@ -91,7 +89,7 @@
   struct authdes_verf ad_verf;	/* storage for verifier */
   struct rpc_timeval ad_timestamp;	/* timestamp sent */
   des_block ad_xkey;		/* encrypted conversation key */
-  u_char ad_pkey[1024];	        /* Servers actual public key */
+  u_char ad_pkey[1024];		/* Servers actual public key */
 };
 
 
@@ -114,8 +112,13 @@
 
   pkey.n_bytes = pkey_data;
   pkey.n_len = strlen (pkey_data) + 1;
-  return INTUSE(authdes_pk_create) (servername, &pkey, window, syncaddr, ckey);
-}
+  return authdes_pk_create (servername, &pkey, window, syncaddr, ckey);
+}
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (authdes_create)
+#else
+libc_hidden_nolink (authdes_create, GLIBC_2_1)
+#endif
 
 AUTH *
 authdes_pk_create (const char *servername, netobj *pkey, u_int window,
@@ -205,7 +208,11 @@
     }
   return NULL;
 }
-INTDEF(authdes_pk_create)
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (authdes_pk_create)
+#else
+libc_hidden_nolink (authdes_pk_create, GLIBC_2_1)
+#endif
 
 /*
  * Implement the five authentication operations
@@ -309,7 +316,7 @@
       ATTEMPT (xdr_putint32 (xdrs, &auth->ah_cred.oa_flavor));
       ATTEMPT (xdr_putint32 (xdrs, &len));
     }
-  ATTEMPT (INTUSE(xdr_authdes_cred) (xdrs, cred));
+  ATTEMPT (xdr_authdes_cred (xdrs, cred));
 
   len = (2 + 1) * BYTES_PER_XDR_UNIT;
   if ((ixdr = xdr_inline (xdrs, 2 * BYTES_PER_XDR_UNIT)) != NULL)
@@ -322,7 +329,7 @@
       ATTEMPT (xdr_putint32 (xdrs, &auth->ah_verf.oa_flavor));
       ATTEMPT (xdr_putint32 (xdrs, &len));
     }
-  ATTEMPT (INTUSE(xdr_authdes_verf) (xdrs, verf));
+  ATTEMPT (xdr_authdes_verf (xdrs, verf));
 
   return TRUE;
 }

Modified: fsf/trunk/libc/sunrpc/auth_none.c
==============================================================================
--- fsf/trunk/libc/sunrpc/auth_none.c (original)
+++ fsf/trunk/libc/sunrpc/auth_none.c Sun Apr 17 00:22:42 2011
@@ -81,10 +81,10 @@
   ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth;
   ap->no_client.ah_ops = (struct auth_ops *) &ops;
   xdrs = &xdr_stream;
-  INTUSE(xdrmem_create) (xdrs, ap->marshalled_client,
-			 (u_int) MAX_MARSHAL_SIZE, XDR_ENCODE);
-  (void) INTUSE(xdr_opaque_auth) (xdrs, &ap->no_client.ah_cred);
-  (void) INTUSE(xdr_opaque_auth) (xdrs, &ap->no_client.ah_verf);
+  xdrmem_create (xdrs, ap->marshalled_client,
+		 (u_int) MAX_MARSHAL_SIZE, XDR_ENCODE);
+  (void) xdr_opaque_auth (xdrs, &ap->no_client.ah_cred);
+  (void) xdr_opaque_auth (xdrs, &ap->no_client.ah_verf);
   ap->mcnt = XDR_GETPOS (xdrs);
   XDR_DESTROY (xdrs);
 }
@@ -95,7 +95,7 @@
   __libc_once (authnone_private_guard, authnone_create_once);
   return &authnone_private.no_client;
 }
-INTDEF (authnone_create)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -134,8 +134,8 @@
   /*
    * Serialize the parameters into origcred
    */
-  INTUSE(xdrmem_create) (&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE);
-  if (!INTUSE(xdr_authunix_parms) (&xdrs, &aup))
+  xdrmem_create (&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE);
+  if (!xdr_authunix_parms (&xdrs, &aup))
     abort ();
   au->au_origcred.oa_length = len = XDR_GETPOS (&xdrs);
   au->au_origcred.oa_flavor = AUTH_UNIX;
@@ -151,7 +151,7 @@
   marshal_new_auth (auth);
   return auth;
 }
-INTDEF (authunix_create)
+libc_hidden_nolink (authunix_create, GLIBC_2_0)
 
 /*
  * Returns an auth handle with parameters determined by doing lots of
@@ -208,15 +208,18 @@
   /* This braindamaged Sun code forces us here to truncate the
      list of groups to NGRPS members since the code in
      authuxprot.c transforms a fixed array.  Grrr.  */
-  AUTH *result = INTUSE(authunix_create) (machname, uid, gid, MIN (NGRPS, len),
-					  gids);
+  AUTH *result = authunix_create (machname, uid, gid, MIN (NGRPS, len), gids);
 
   if (max_nr_groups >= ALLOCA_LIMIT || retry)
     free (gids);
 
   return result;
 }
-INTDEF (authunix_create_default)
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (authunix_create_default)
+#else
+libc_hidden_nolink (authunix_create_default, GLIBC_2_0)
+#endif
 
 /*
  * authunix operations
@@ -245,8 +248,7 @@
   if (verf->oa_flavor == AUTH_SHORT)
     {
       au = AUTH_PRIVATE (auth);
-      INTUSE(xdrmem_create) (&xdrs, verf->oa_base, verf->oa_length,
-			     XDR_DECODE);
+      xdrmem_create (&xdrs, verf->oa_base, verf->oa_length, XDR_DECODE);
 
       if (au->au_shcred.oa_base != NULL)
 	{
@@ -254,14 +256,14 @@
 		    au->au_shcred.oa_length);
 	  au->au_shcred.oa_base = NULL;
 	}
-      if (INTUSE(xdr_opaque_auth) (&xdrs, &au->au_shcred))
+      if (xdr_opaque_auth (&xdrs, &au->au_shcred))
 	{
 	  auth->ah_cred = au->au_shcred;
 	}
       else
 	{
 	  xdrs.x_op = XDR_FREE;
-	  (void) INTUSE(xdr_opaque_auth) (&xdrs, &au->au_shcred);
+	  (void) xdr_opaque_auth (&xdrs, &au->au_shcred);
 	  au->au_shcred.oa_base = NULL;
 	  auth->ah_cred = au->au_origcred;
 	}
@@ -289,9 +291,9 @@
   /* first deserialize the creds back into a struct authunix_parms */
   aup.aup_machname = NULL;
   aup.aup_gids = (gid_t *) NULL;
-  INTUSE(xdrmem_create) (&xdrs, au->au_origcred.oa_base,
-			 au->au_origcred.oa_length, XDR_DECODE);
-  stat = INTUSE(xdr_authunix_parms) (&xdrs, &aup);
+  xdrmem_create (&xdrs, au->au_origcred.oa_base,
+		 au->au_origcred.oa_length, XDR_DECODE);
+  stat = xdr_authunix_parms (&xdrs, &aup);
   if (!stat)
     goto done;
 
@@ -300,7 +302,7 @@
   aup.aup_time = now.tv_sec;
   xdrs.x_op = XDR_ENCODE;
   XDR_SETPOS (&xdrs, 0);
-  stat = INTUSE(xdr_authunix_parms) (&xdrs, &aup);
+  stat = xdr_authunix_parms (&xdrs, &aup);
   if (!stat)
     goto done;
   auth->ah_cred = au->au_origcred;
@@ -308,7 +310,7 @@
 done:
   /* free the struct authunix_parms created by deserializing */
   xdrs.x_op = XDR_FREE;
-  (void) INTUSE(xdr_authunix_parms) (&xdrs, &aup);
+  (void) xdr_authunix_parms (&xdrs, &aup);
   XDR_DESTROY (&xdrs);
   return stat;
 }
@@ -343,9 +345,9 @@
   XDR *xdrs = &xdr_stream;
   struct audata *au = AUTH_PRIVATE (auth);
 
-  INTUSE(xdrmem_create) (xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
-  if ((!INTUSE(xdr_opaque_auth) (xdrs, &(auth->ah_cred))) ||
-      (!INTUSE(xdr_opaque_auth) (xdrs, &(auth->ah_verf))))
+  xdrmem_create (xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
+  if ((!xdr_opaque_auth (xdrs, &(auth->ah_cred))) ||
+      (!xdr_opaque_auth (xdrs, &(auth->ah_verf))))
     perror (_("auth_unix.c: Fatal marshalling problem"));
   else
     au->au_mpos = XDR_GETPOS (xdrs);

Modified: fsf/trunk/libc/sunrpc/authdes_prot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/authdes_prot.c (original)
+++ fsf/trunk/libc/sunrpc/authdes_prot.c Sun Apr 17 00:22:42 2011
@@ -45,26 +45,25 @@
   /*
    * Unrolled xdr
    */
-  ATTEMPT (INTUSE(xdr_enum) (xdrs, (enum_t *) & cred->adc_namekind));
+  ATTEMPT (xdr_enum (xdrs, (enum_t *) & cred->adc_namekind));
   switch (cred->adc_namekind)
     {
     case ADN_FULLNAME:
-      ATTEMPT (INTUSE(xdr_string) (xdrs, &cred->adc_fullname.name,
-				   MAXNETNAMELEN));
-      ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_fullname.key,
-				   sizeof (des_block)));
-      ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_fullname.window,
-				   sizeof (cred->adc_fullname.window)));
+      ATTEMPT (xdr_string (xdrs, &cred->adc_fullname.name, MAXNETNAMELEN));
+      ATTEMPT (xdr_opaque (xdrs, (caddr_t) & cred->adc_fullname.key,
+			   sizeof (des_block)));
+      ATTEMPT (xdr_opaque (xdrs, (caddr_t) & cred->adc_fullname.window,
+			   sizeof (cred->adc_fullname.window)));
       return (TRUE);
     case ADN_NICKNAME:
-      ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_nickname,
-				   sizeof (cred->adc_nickname)));
+      ATTEMPT (xdr_opaque (xdrs, (caddr_t) & cred->adc_nickname,
+			   sizeof (cred->adc_nickname)));
       return TRUE;
     default:
       return FALSE;
     }
 }
-INTDEF(xdr_authdes_cred)
+libc_hidden_nolink (xdr_authdes_cred, GLIBC_2_1)
 
 
 bool_t
@@ -73,10 +72,10 @@
   /*
    * Unrolled xdr
    */
-  ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & verf->adv_xtimestamp,
-			       sizeof (des_block)));
-  ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & verf->adv_int_u,
-			       sizeof (verf->adv_int_u)));
+  ATTEMPT (xdr_opaque (xdrs, (caddr_t) & verf->adv_xtimestamp,
+		       sizeof (des_block)));
+  ATTEMPT (xdr_opaque (xdrs, (caddr_t) & verf->adv_int_u,
+		       sizeof (verf->adv_int_u)));
   return TRUE;
 }
-INTDEF(xdr_authdes_verf)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -45,22 +45,22 @@
 bool_t
 xdr_authunix_parms (XDR * xdrs, struct authunix_parms *p)
 {
-  if (INTUSE(xdr_u_long) (xdrs, &(p->aup_time))
-      && INTUSE(xdr_string) (xdrs, &(p->aup_machname), MAX_MACHINE_NAME)
+  if (xdr_u_long (xdrs, &(p->aup_time))
+      && xdr_string (xdrs, &(p->aup_machname), MAX_MACHINE_NAME)
       && (sizeof (uid_t) == sizeof (short int)
-	  ? INTUSE(xdr_u_short) (xdrs, (u_short *) & (p->aup_uid))
-	  : INTUSE(xdr_u_int) (xdrs, (u_int *) & (p->aup_uid)))
+	  ? xdr_u_short (xdrs, (u_short *) & (p->aup_uid))
+	  : xdr_u_int (xdrs, (u_int *) & (p->aup_uid)))
       && (sizeof (gid_t) == sizeof (short int)
-	  ? INTUSE(xdr_u_short) (xdrs, (u_short *) & (p->aup_gid))
-	  : INTUSE(xdr_u_int) (xdrs, (u_int *) & (p->aup_gid)))
-      && INTUSE(xdr_array) (xdrs, (caddr_t *) & (p->aup_gids),
-			    & (p->aup_len), NGRPS, sizeof (gid_t),
-			    (sizeof (gid_t) == sizeof (short int)
-			     ? (xdrproc_t) INTUSE(xdr_u_short)
-			     : (xdrproc_t) INTUSE(xdr_u_int))))
+	  ? xdr_u_short (xdrs, (u_short *) & (p->aup_gid))
+	  : xdr_u_int (xdrs, (u_int *) & (p->aup_gid)))
+      && xdr_array (xdrs, (caddr_t *) & (p->aup_gids),
+		    & (p->aup_len), NGRPS, sizeof (gid_t),
+		    (sizeof (gid_t) == sizeof (short int)
+		     ? (xdrproc_t) xdr_u_short
+		     : (xdrproc_t) xdr_u_int)))
     {
       return TRUE;
     }
   return FALSE;
 }
-INTDEF(xdr_authunix_parms)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -64,7 +64,7 @@
       sun.sun_family = AF_UNIX;
       strcpy (sun.sun_path, hostname);
       sock = RPC_ANYSOCK;
-      client = INTUSE(clntunix_create) (&sun, prog, vers, &sock, 0, 0);
+      client = clntunix_create (&sun, prog, vers, &sock, 0, 0);
       if (client == NULL)
 	return NULL;
 #if 0
@@ -134,7 +134,7 @@
     case IPPROTO_UDP:
       tv.tv_sec = 5;
       tv.tv_usec = 0;
-      client = INTUSE(clntudp_create) (&sin, prog, vers, tv, &sock);
+      client = clntudp_create (&sin, prog, vers, tv, &sock);
       if (client == NULL)
 	{
 	  return NULL;
@@ -148,7 +148,7 @@
 #endif
       break;
     case IPPROTO_TCP:
-      client = INTUSE(clnttcp_create) (&sin, prog, vers, &sock, 0, 0);
+      client = clnttcp_create (&sin, prog, vers, &sock, 0, 0);
       if (client == NULL)
 	{
 	  return NULL;
@@ -172,4 +172,8 @@
     }
   return client;
 }
-INTDEF (clnt_create)
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (clnt_create)
+#else
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -130,14 +130,18 @@
 
   return str;
 }
-libc_hidden_def (clnt_sperror)
+libc_hidden_nolink (clnt_sperror, GLIBC_2_0)
 
 void
 clnt_perror (CLIENT * rpch, const char *msg)
 {
   (void) __fxprintf (NULL, "%s", clnt_sperror (rpch, msg));
 }
+#ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (clnt_perror)
+#else
+libc_hidden_nolink (clnt_perror, GLIBC_2_0)
+#endif
 
 
 struct rpc_errtab
@@ -266,7 +270,7 @@
 {
   (void) __fxprintf (NULL, "%s", clnt_sperrno (num));
 }
-
+libc_hidden_nolink (clnt_perrno, GLIBC_2_0)
 
 char *
 clnt_spcreateerror (const char *msg)
@@ -303,13 +307,18 @@
 
   return str;
 }
-libc_hidden_def (clnt_spcreateerror)
+libc_hidden_nolink (clnt_spcreateerror, GLIBC_2_0)
 
 void
 clnt_pcreateerror (const char *msg)
 {
   (void) __fxprintf (NULL, "%s", clnt_spcreateerror (msg));
 }
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (clnt_pcreateerror)
+#else
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -109,9 +109,8 @@
   call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
   call_msg.rm_call.cb_prog = prog;
   call_msg.rm_call.cb_vers = vers;
-  INTUSE(xdrmem_create) (xdrs, clp->mashl_callmsg.msg, MCALL_MSG_SIZE,
-			 XDR_ENCODE);
-  if (!INTUSE(xdr_callhdr) (xdrs, &call_msg))
+  xdrmem_create (xdrs, clp->mashl_callmsg.msg, MCALL_MSG_SIZE, XDR_ENCODE);
+  if (!xdr_callhdr (xdrs, &call_msg))
     {
       perror (_ ("clnt_raw.c: fatal header serialization error"));
     }
@@ -121,15 +120,16 @@
   /*
    * Set xdrmem for client/server shared buffer
    */
-  INTUSE(xdrmem_create) (xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE);
+  xdrmem_create (xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE);
 
   /*
    * create client handle
    */
   client->cl_ops = (struct clnt_ops *) &client_ops;
-  client->cl_auth = INTUSE(authnone_create) ();
+  client->cl_auth = authnone_create ();
   return client;
 }
+libc_hidden_nolink (clntraw_create, GLIBC_2_0)
 
 static enum clnt_stat
 clntraw_call (h, proc, xargs, argsp, xresults, resultsp, timeout)
@@ -172,7 +172,7 @@
    * We have to call server input routine here because this is
    * all going on in one process. Yuk.
    */
-  INTUSE(svc_getreq) (1);
+  svc_getreq (1);
 
   /*
    * get results
@@ -182,7 +182,7 @@
   msg.acpted_rply.ar_verf = _null_auth;
   msg.acpted_rply.ar_results.where = resultsp;
   msg.acpted_rply.ar_results.proc = xresults;
-  if (!INTUSE(xdr_replymsg) (xdrs, &msg))
+  if (!xdr_replymsg (xdrs, &msg))
     return RPC_CANTDECODERES;
   _seterr_reply (&msg, &error);
   status = error.re_status;
@@ -209,7 +209,7 @@
       if (msg.acpted_rply.ar_verf.oa_base != NULL)
 	{
 	  xdrs->x_op = XDR_FREE;
-	  (void) INTUSE(xdr_opaque_auth) (xdrs, &(msg.acpted_rply.ar_verf));
+	  (void) xdr_opaque_auth (xdrs, &(msg.acpted_rply.ar_verf));
 	}
     }
 

Modified: fsf/trunk/libc/sunrpc/clnt_simp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_simp.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_simp.c Sun Apr 17 00:22:42 2011
@@ -119,7 +119,7 @@
       memcpy ((char *) &server_addr.sin_addr, hp->h_addr, hp->h_length);
       server_addr.sin_family = AF_INET;
       server_addr.sin_port = 0;
-      if ((crp->client = INTUSE(clntudp_create) (&server_addr, (u_long) prognum,
+      if ((crp->client = clntudp_create (&server_addr, (u_long) prognum,
 			  (u_long) versnum, timeout, &crp->socket)) == NULL)
 	return (int) get_rpc_createerr().cf_stat;
       crp->valid = 1;
@@ -139,6 +139,7 @@
     crp->valid = 0;
   return (int) clnt_stat;
 }
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -188,9 +188,8 @@
   /*
    * pre-serialize the static part of the call msg and stash it away
    */
-  INTUSE(xdrmem_create) (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE,
-			 XDR_ENCODE);
-  if (!INTUSE(xdr_callhdr) (&(ct->ct_xdrs), &call_msg))
+  xdrmem_create (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, XDR_ENCODE);
+  if (!xdr_callhdr (&(ct->ct_xdrs), &call_msg))
     {
       if (ct->ct_closeit)
 	{
@@ -205,11 +204,11 @@
    * Create a client handle which uses xdrrec for serialization
    * and authnone for authentication.
    */
-  INTUSE(xdrrec_create) (&(ct->ct_xdrs), sendsz, recvsz,
-			 (caddr_t) ct, readtcp, writetcp);
+  xdrrec_create (&(ct->ct_xdrs), sendsz, recvsz,
+		 (caddr_t) ct, readtcp, writetcp);
   h->cl_ops = (struct clnt_ops *) &tcp_ops;
   h->cl_private = (caddr_t) ct;
-  h->cl_auth = INTUSE(authnone_create) ();
+  h->cl_auth = authnone_create ();
   return h;
 
 fooy:
@@ -220,7 +219,11 @@
   mem_free ((caddr_t) h, sizeof (CLIENT));
   return ((CLIENT *) NULL);
 }
-INTDEF (clnttcp_create)
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (clnttcp_create)
+#else
+libc_hidden_nolink (clnttcp_create, GLIBC_2_0)
+#endif
 
 static enum clnt_stat
 clnttcp_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)
@@ -260,10 +263,10 @@
     {
       if (ct->ct_error.re_status == RPC_SUCCESS)
 	ct->ct_error.re_status = RPC_CANTENCODEARGS;
-      (void) INTUSE(xdrrec_endofrecord) (xdrs, TRUE);
+      (void) xdrrec_endofrecord (xdrs, TRUE);
       return (ct->ct_error.re_status);
     }
-  if (!INTUSE(xdrrec_endofrecord) (xdrs, shipnow))
+  if (!xdrrec_endofrecord (xdrs, shipnow))
     return ct->ct_error.re_status = RPC_CANTSEND;
   if (!shipnow)
     return RPC_SUCCESS;
@@ -284,11 +287,11 @@
     {
       reply_msg.acpted_rply.ar_verf = _null_auth;
       reply_msg.acpted_rply.ar_results.where = NULL;
-      reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)INTUSE(xdr_void);
-      if (!INTUSE(xdrrec_skiprecord) (xdrs))
+      reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
+      if (!xdrrec_skiprecord (xdrs))
 	return (ct->ct_error.re_status);
       /* now decode and validate the response header */
-      if (!INTUSE(xdr_replymsg) (xdrs, &reply_msg))
+      if (!xdr_replymsg (xdrs, &reply_msg))
 	{
 	  if (ct->ct_error.re_status == RPC_SUCCESS)
 	    continue;
@@ -318,8 +321,7 @@
       if (reply_msg.acpted_rply.ar_verf.oa_base != NULL)
 	{
 	  xdrs->x_op = XDR_FREE;
-	  (void) INTUSE(xdr_opaque_auth) (xdrs,
-					  &(reply_msg.acpted_rply.ar_verf));
+	  (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf));
 	}
     }				/* end successful completion */
   else

Modified: fsf/trunk/libc/sunrpc/clnt_udp.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_udp.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_udp.c Sun Apr 17 00:22:42 2011
@@ -57,7 +57,6 @@
 
 #include <kernel-features.h>
 
-extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
 extern u_long _create_xid (void);
 
 /*
@@ -165,8 +164,8 @@
   call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;
   call_msg.rm_call.cb_prog = program;
   call_msg.rm_call.cb_vers = version;
-  INTUSE(xdrmem_create) (&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE);
-  if (!INTUSE(xdr_callhdr) (&(cu->cu_outxdrs), &call_msg))
+  xdrmem_create (&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE);
+  if (!xdr_callhdr (&(cu->cu_outxdrs), &call_msg))
     {
       goto fooy;
     }
@@ -229,7 +228,7 @@
       cu->cu_closeit = FALSE;
     }
   cu->cu_sock = *sockp;
-  cl->cl_auth = INTUSE(authnone_create) ();
+  cl->cl_auth = authnone_create ();
   return cl;
 fooy:
   if (cu)
@@ -238,17 +237,21 @@
     mem_free ((caddr_t) cl, sizeof (CLIENT));
   return (CLIENT *) NULL;
 }
-INTDEF (__libc_clntudp_bufcreate)
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (__libc_clntudp_bufcreate)
+#else
+libc_hidden_nolink (__libc_clntudp_bufcreate, GLIBC_PRIVATE)
+#endif
 
 CLIENT *
 clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, u_long version,
 		   struct timeval wait, int *sockp, u_int sendsz,
 		   u_int recvsz)
 {
-  return INTUSE(__libc_clntudp_bufcreate) (raddr, program, version, wait,
-					   sockp, sendsz, recvsz, 0);
-}
-INTDEF (clntudp_bufcreate)
+  return __libc_clntudp_bufcreate (raddr, program, version, wait,
+				   sockp, sendsz, recvsz, 0);
+}
+libc_hidden_nolink (clntudp_bufcreate, GLIBC_2_0)
 
 CLIENT *
 clntudp_create (raddr, program, version, wait, sockp)
@@ -258,10 +261,14 @@
      struct timeval wait;
      int *sockp;
 {
-  return INTUSE(__libc_clntudp_bufcreate) (raddr, program, version, wait,
-					   sockp, UDPMSGSIZE, UDPMSGSIZE, 0);
-}
-INTDEF (clntudp_create)
+  return __libc_clntudp_bufcreate (raddr, program, version, wait,
+				   sockp, UDPMSGSIZE, UDPMSGSIZE, 0);
+}
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (clntudp_create)
+#else
+libc_hidden_nolink (clntudp_create, GLIBC_2_0)
+#endif
 
 static int
 is_network_up (int sock)
@@ -465,7 +472,7 @@
 	continue;
 
       /* see if reply transaction id matches sent id.
-        Don't do this if we only wait for a replay */
+	Don't do this if we only wait for a replay */
       if (xargs != NULL
 	  && (*((u_int32_t *) (cu->cu_inbuf))
 	      != *((u_int32_t *) (cu->cu_outbuf))))
@@ -477,8 +484,8 @@
   /*
    * now decode and validate the response
    */
-  INTUSE(xdrmem_create) (&reply_xdrs, cu->cu_inbuf, (u_int) inlen, XDR_DECODE);
-  ok = INTUSE(xdr_replymsg) (&reply_xdrs, &reply_msg);
+  xdrmem_create (&reply_xdrs, cu->cu_inbuf, (u_int) inlen, XDR_DECODE);
+  ok = xdr_replymsg (&reply_xdrs, &reply_msg);
   /* XDR_DESTROY(&reply_xdrs);  save a few cycles on noop destroy */
   if (ok)
     {
@@ -494,8 +501,7 @@
 	  if (reply_msg.acpted_rply.ar_verf.oa_base != NULL)
 	    {
 	      xdrs->x_op = XDR_FREE;
-	      (void) INTUSE(xdr_opaque_auth) (xdrs,
-					      &(reply_msg.acpted_rply.ar_verf));
+	      (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf));
 	    }
 	}			/* end successful completion */
       else

Modified: fsf/trunk/libc/sunrpc/clnt_unix.c
==============================================================================
--- fsf/trunk/libc/sunrpc/clnt_unix.c (original)
+++ fsf/trunk/libc/sunrpc/clnt_unix.c Sun Apr 17 00:22:42 2011
@@ -173,9 +173,8 @@
   /*
    * pre-serialize the static part of the call msg and stash it away
    */
-  INTUSE(xdrmem_create) (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE,
-			 XDR_ENCODE);
-  if (!INTUSE(xdr_callhdr) (&(ct->ct_xdrs), &call_msg))
+  xdrmem_create (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, XDR_ENCODE);
+  if (!xdr_callhdr (&(ct->ct_xdrs), &call_msg))
     {
       if (ct->ct_closeit)
 	__close (*sockp);
@@ -188,11 +187,11 @@
    * Create a client handle which uses xdrrec for serialization
    * and authnone for authentication.
    */
-  INTUSE(xdrrec_create) (&(ct->ct_xdrs), sendsz, recvsz,
-			 (caddr_t) ct, readunix, writeunix);
+  xdrrec_create (&(ct->ct_xdrs), sendsz, recvsz,
+		 (caddr_t) ct, readunix, writeunix);
   h->cl_ops = (struct clnt_ops *) &unix_ops;
   h->cl_private = (caddr_t) ct;
-  h->cl_auth = INTUSE(authnone_create) ();
+  h->cl_auth = authnone_create ();
   return h;
 
 fooy:
@@ -203,7 +202,7 @@
   mem_free ((caddr_t) h, sizeof (CLIENT));
   return (CLIENT *) NULL;
 }
-INTDEF (clntunix_create)
+libc_hidden_nolink (clntunix_create, GLIBC_2_1)
 
 static enum clnt_stat
 clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)
@@ -243,10 +242,10 @@
     {
       if (ct->ct_error.re_status == RPC_SUCCESS)
 	ct->ct_error.re_status = RPC_CANTENCODEARGS;
-      (void) INTUSE(xdrrec_endofrecord) (xdrs, TRUE);
+      (void) xdrrec_endofrecord (xdrs, TRUE);
       return ct->ct_error.re_status;
     }
-  if (!INTUSE(xdrrec_endofrecord) (xdrs, shipnow))
+  if (!xdrrec_endofrecord (xdrs, shipnow))
     return ct->ct_error.re_status = RPC_CANTSEND;
   if (!shipnow)
     return RPC_SUCCESS;
@@ -265,11 +264,11 @@
     {
       reply_msg.acpted_rply.ar_verf = _null_auth;
       reply_msg.acpted_rply.ar_results.where = NULL;
-      reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)INTUSE(xdr_void);
-      if (!INTUSE(xdrrec_skiprecord) (xdrs))
+      reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
+      if (!xdrrec_skiprecord (xdrs))
 	return ct->ct_error.re_status;
       /* now decode and validate the response header */
-      if (!INTUSE(xdr_replymsg) (xdrs, &reply_msg))
+      if (!xdr_replymsg (xdrs, &reply_msg))
 	{
 	  if (ct->ct_error.re_status == RPC_SUCCESS)
 	    continue;
@@ -299,8 +298,7 @@
       if (reply_msg.acpted_rply.ar_verf.oa_base != NULL)
 	{
 	  xdrs->x_op = XDR_FREE;
-	  (void) INTUSE(xdr_opaque_auth) (xdrs,
-					  &(reply_msg.acpted_rply.ar_verf));
+	  (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf));
 	}
     }				/* end successful completion */
   else
@@ -549,18 +547,18 @@
   while (TRUE)
     {
       switch (__poll (&fd, 1, milliseconds))
-        {
-        case 0:
-          ct->ct_error.re_status = RPC_TIMEDOUT;
-          return -1;
-
-        case -1:
-          if (errno == EINTR)
-            continue;
-          ct->ct_error.re_status = RPC_CANTRECV;
-          ct->ct_error.re_errno = errno;
-          return -1;
-        }
+	{
+	case 0:
+	  ct->ct_error.re_status = RPC_TIMEDOUT;
+	  return -1;
+
+	case -1:
+	  if (errno == EINTR)
+	    continue;
+	  ct->ct_error.re_status = RPC_CANTRECV;
+	  ct->ct_error.re_errno = errno;
+	  return -1;
+	}
       break;
     }
   switch (len = __msgread (ct->ct_sock, buf, len))

Modified: fsf/trunk/libc/sunrpc/des_crypt.c
==============================================================================
--- fsf/trunk/libc/sunrpc/des_crypt.c (original)
+++ fsf/trunk/libc/sunrpc/des_crypt.c Sun Apr 17 00:22:42 2011
@@ -32,6 +32,7 @@
 
 #include <sys/types.h>
 #include <rpc/des_crypt.h>
+#include <abi-versions.h>
 #include "des.h"
 
 extern int _des_crypt (char *, unsigned, struct desparams *);
@@ -101,7 +102,7 @@
   COPY8 (dp.des_ivec, ivec);
   return err;
 }
-libc_hidden_def (cbc_crypt)
+libc_hidden_nolink (cbc_crypt, GLIBC_2_1)
 
 /*
  * ECB mode encryption
@@ -114,4 +115,4 @@
   dp.des_mode = ECB;
   return common_crypt (key, buf, len, mode, &dp);
 }
-libc_hidden_def (ecb_crypt)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -32,6 +32,7 @@
  */
 
 #include <rpc/des_crypt.h>
+#include <abi-versions.h>
 /*
  * Table giving odd parity in the low bit for ASCII characters
  */
@@ -69,4 +70,4 @@
       p++;
     }
 }
-libc_hidden_def (des_setparity)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -96,3 +96,8 @@
      if no interface is up.  Probably this won't happen (at least
      loopback is there) but still...  */
 }
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (get_myaddress)
+#else
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -70,8 +70,8 @@
 {
   keystatus status;
 
-  if (!key_call ((u_long) KEY_SET, (xdrproc_t) INTUSE(xdr_keybuf), secretkey,
-		 (xdrproc_t) INTUSE(xdr_keystatus), (char *) &status))
+  if (!key_call ((u_long) KEY_SET, (xdrproc_t) xdr_keybuf, secretkey,
+		 (xdrproc_t) xdr_keystatus, (char *) &status))
     return -1;
   if (status != KEY_SUCCESS)
     {
@@ -80,6 +80,7 @@
     }
   return 0;
 }
+libc_hidden_nolink (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
@@ -93,8 +94,8 @@
   struct key_netstres kres;
 
   memset (&kres, 0, sizeof (kres));
-  if (key_call ((u_long) KEY_NET_GET, (xdrproc_t) INTUSE(xdr_void),
-		(char *) NULL, (xdrproc_t) INTUSE(xdr_key_netstres),
+  if (key_call ((u_long) KEY_NET_GET, (xdrproc_t) xdr_void,
+		(char *) NULL, (xdrproc_t) xdr_key_netstres,
 		(char *) &kres) &&
       (kres.status == KEY_SUCCESS) &&
       (kres.key_netstres_u.knet.st_priv_key[0] != 0))
@@ -105,6 +106,11 @@
     }
   return 0;
 }
+#ifdef EXPORT_RPC_SYMBOLS
+libc_hidden_def (key_secretkey_is_set)
+#else
+libc_hidden_nolink (key_secretkey_is_set, GLIBC_2_1)
+#endif
 
 int
 key_encryptsession (char *remotename, des_block *deskey)
@@ -114,8 +120,8 @@
 
   arg.remotename = remotename;
   arg.deskey = *deskey;
-  if (!key_call ((u_long) KEY_ENCRYPT, (xdrproc_t) INTUSE(xdr_cryptkeyarg),
-		 (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres),
+  if (!key_call ((u_long) KEY_ENCRYPT, (xdrproc_t) xdr_cryptkeyarg,
+		 (char *) &arg, (xdrproc_t) xdr_cryptkeyres,
 		 (char *) &res))
     return -1;
 
@@ -127,6 +133,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
+libc_hidden_nolink (key_encryptsession, GLIBC_2_1)
 
 int
 key_decryptsession (char *remotename, des_block *deskey)
@@ -136,8 +143,8 @@
 
   arg.remotename = remotename;
   arg.deskey = *deskey;
-  if (!key_call ((u_long) KEY_DECRYPT, (xdrproc_t) INTUSE(xdr_cryptkeyarg),
-		 (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres),
+  if (!key_call ((u_long) KEY_DECRYPT, (xdrproc_t) xdr_cryptkeyarg,
+		 (char *) &arg, (xdrproc_t) xdr_cryptkeyres,
 		 (char *) &res))
     return -1;
   if (res.status != KEY_SUCCESS)
@@ -148,6 +155,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
+libc_hidden_nolink (key_decryptsession, GLIBC_2_1)
 
 int
 key_encryptsession_pk (char *remotename, netobj *remotekey,
@@ -159,8 +167,8 @@
   arg.remotename = remotename;
   arg.remotekey = *remotekey;
   arg.deskey = *deskey;
-  if (!key_call ((u_long) KEY_ENCRYPT_PK, (xdrproc_t) INTUSE(xdr_cryptkeyarg2),
-		 (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres),
+  if (!key_call ((u_long) KEY_ENCRYPT_PK, (xdrproc_t) xdr_cryptkeyarg2,
+		 (char *) &arg, (xdrproc_t) xdr_cryptkeyres,
 		 (char *) &res))
     return -1;
 
@@ -172,7 +180,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_def (key_encryptsession_pk)
+libc_hidden_nolink (key_encryptsession_pk, GLIBC_2_1)
 
 int
 key_decryptsession_pk (char *remotename, netobj *remotekey,
@@ -184,8 +192,8 @@
   arg.remotename = remotename;
   arg.remotekey = *remotekey;
   arg.deskey = *deskey;
-  if (!key_call ((u_long) KEY_DECRYPT_PK, (xdrproc_t) INTUSE(xdr_cryptkeyarg2),
-		 (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres),
+  if (!key_call ((u_long) KEY_DECRYPT_PK, (xdrproc_t) xdr_cryptkeyarg2,
+		 (char *) &arg, (xdrproc_t) xdr_cryptkeyres,
 		 (char *) &res))
     return -1;
 
@@ -197,7 +205,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
-libc_hidden_def (key_decryptsession_pk)
+libc_hidden_nolink (key_decryptsession_pk, GLIBC_2_1)
 
 int
 key_gendes (des_block *key)
@@ -212,14 +220,14 @@
   sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK);
   __bzero (sin.sin_zero, sizeof (sin.sin_zero));
   socket = RPC_ANYSOCK;
-  client = INTUSE(clntudp_bufcreate) (&sin, (u_long) KEY_PROG,
-				      (u_long) KEY_VERS, trytimeout, &socket,
-				      RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
+  client = clntudp_bufcreate (&sin, (u_long) KEY_PROG, (u_long) KEY_VERS,
+			      trytimeout, &socket, RPCSMALLMSGSIZE,
+			      RPCSMALLMSGSIZE);
   if (client == NULL)
     return -1;
 
-  stat = clnt_call (client, KEY_GEN, (xdrproc_t) INTUSE(xdr_void), NULL,
-		    (xdrproc_t) INTUSE(xdr_des_block), (caddr_t) key,
+  stat = clnt_call (client, KEY_GEN, (xdrproc_t) xdr_void, NULL,
+		    (xdrproc_t) xdr_des_block, (caddr_t) key,
 		    tottimeout);
   clnt_destroy (client);
   __close (socket);
@@ -228,15 +236,19 @@
 
   return 0;
 }
+#ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (key_gendes)
+#else
+libc_hidden_nolink (key_gendes, GLIBC_2_1)
+#endif
 
 int
 key_setnet (struct key_netstarg *arg)
 {
   keystatus status;
 
-  if (!key_call ((u_long) KEY_NET_PUT, (xdrproc_t) INTUSE(xdr_key_netstarg),
-		 (char *) arg,(xdrproc_t) INTUSE(xdr_keystatus),
+  if (!key_call ((u_long) KEY_NET_PUT, (xdrproc_t) xdr_key_netstarg,
+		 (char *) arg,(xdrproc_t) xdr_keystatus,
 		 (char *) &status))
     return -1;
 
@@ -247,14 +259,15 @@
     }
   return 1;
 }
+libc_hidden_nolink (key_setnet, GLIBC_2_1)
 
 int
 key_get_conv (char *pkey, des_block *deskey)
 {
   cryptkeyres res;
 
-  if (!key_call ((u_long) KEY_GET_CONV, (xdrproc_t) INTUSE(xdr_keybuf), pkey,
-		 (xdrproc_t) INTUSE(xdr_cryptkeyres), (char *) &res))
+  if (!key_call ((u_long) KEY_GET_CONV, (xdrproc_t) xdr_keybuf, pkey,
+		 (xdrproc_t) xdr_cryptkeyres, (char *) &res))
     return -1;
 
   if (res.status != KEY_SUCCESS)
@@ -265,6 +278,7 @@
   *deskey = res.cryptkeyres_u.deskey;
   return 0;
 }
+libc_hidden_nolink (key_get_conv, GLIBC_2_1)
 
 /*
  * Hack to allow the keyserver to use AUTH_DES (for authenticated
@@ -322,7 +336,7 @@
   xdrstdio_create (&xdrargs, fargs, XDR_ENCODE);
   xdrstdio_create (&xdrrslt, frslt, XDR_DECODE);
 
-  if (!INTUSE(xdr_u_long) (&xdrargs, &proc) || !(*xdr_arg) (&xdrargs, arg))
+  if (!xdr_u_long (&xdrargs, &proc) || !(*xdr_arg) (&xdrargs, arg))
     {
       debug ("xdr args");
       success = 0;
@@ -421,16 +435,16 @@
       /* if uid has changed, build client handle again */
       if (kcp->uid != __geteuid ())
 	{
-        kcp->uid = __geteuid ();
-        auth_destroy (kcp->client->cl_auth);
-        kcp->client->cl_auth =
-          INTUSE(authunix_create) ((char *)"", kcp->uid, 0, 0, NULL);
-        if (kcp->client->cl_auth == NULL)
-          {
-            clnt_destroy (kcp->client);
-            kcp->client = NULL;
-            return ((CLIENT *) NULL);
-          }
+	kcp->uid = __geteuid ();
+	auth_destroy (kcp->client->cl_auth);
+	kcp->client->cl_auth =
+	  authunix_create ((char *)"", kcp->uid, 0, 0, NULL);
+	if (kcp->client->cl_auth == NULL)
+	  {
+	    clnt_destroy (kcp->client);
+	    kcp->client = NULL;
+	    return ((CLIENT *) NULL);
+	  }
 	}
       /* Change the version number to the new one */
       clnt_control (kcp->client, CLSET_VERS, (void *)&vers);
@@ -439,16 +453,14 @@
 
   if ((kcp->client == (CLIENT *) NULL))
     /* Use the AF_UNIX transport */
-    kcp->client = INTUSE(clnt_create) ("/var/run/keyservsock", KEY_PROG, vers,
-				       "unix");
+    kcp->client = clnt_create ("/var/run/keyservsock", KEY_PROG, vers, "unix");
 
   if (kcp->client == (CLIENT *) NULL)
     return (CLIENT *) NULL;
 
   kcp->uid = __geteuid ();
   kcp->pid = __getpid ();
-  kcp->client->cl_auth = INTUSE(authunix_create) ((char *)"", kcp->uid, 0, 0,
-						  NULL);
+  kcp->client->cl_auth = authunix_create ((char *)"", kcp->uid, 0, 0, NULL);
   if (kcp->client->cl_auth == NULL)
     {
       clnt_destroy (kcp->client);
@@ -470,7 +482,7 @@
 static int
 internal_function
 key_call_socket (u_long proc, xdrproc_t xdr_arg, char *arg,
-               xdrproc_t xdr_rslt, char *rslt)
+	       xdrproc_t xdr_rslt, char *rslt)
 {
   CLIENT *clnt;
   struct timeval wait_time;

Modified: fsf/trunk/libc/sunrpc/key_prot.c
==============================================================================
--- fsf/trunk/libc/sunrpc/key_prot.c (original)
+++ fsf/trunk/libc/sunrpc/key_prot.c Sun Apr 17 00:22:42 2011
@@ -28,73 +28,73 @@
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "rpc/key_prot.h"
+#include <rpc/key_prot.h>
 
 bool_t
 xdr_keystatus (XDR * xdrs, keystatus * objp)
 {
-  if (!INTUSE(xdr_enum) (xdrs, (enum_t *) objp))
+  if (!xdr_enum (xdrs, (enum_t *) objp))
     return FALSE;
 
   return TRUE;
 }
-INTDEF(xdr_keystatus)
+libc_hidden_nolink (xdr_keystatus, GLIBC_2_0)
 
 bool_t
 xdr_keybuf (XDR * xdrs, keybuf objp)
 {
-  if (!INTUSE(xdr_opaque) (xdrs, objp, HEXKEYBYTES))
+  if (!xdr_opaque (xdrs, objp, HEXKEYBYTES))
     return FALSE;
 
   return TRUE;
 }
-INTDEF(xdr_keybuf)
+libc_hidden_nolink (xdr_keybuf, GLIBC_2_0)
 
 bool_t
 xdr_netnamestr (XDR * xdrs, netnamestr * objp)
 {
-  if (!INTUSE(xdr_string) (xdrs, objp, MAXNETNAMELEN))
+  if (!xdr_string (xdrs, objp, MAXNETNAMELEN))
     return FALSE;
 
   return TRUE;
 }
-INTDEF(xdr_netnamestr)
+libc_hidden_nolink (xdr_netnamestr, GLIBC_2_1)
 
 bool_t
 xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp)
 {
-  if (!INTUSE(xdr_netnamestr) (xdrs, &objp->remotename))
+  if (!xdr_netnamestr (xdrs, &objp->remotename))
     return FALSE;
 
-  if (!INTUSE(xdr_des_block) (xdrs, &objp->deskey))
+  if (!xdr_des_block (xdrs, &objp->deskey))
     return FALSE;
 
   return TRUE;
 }
-INTDEF(xdr_cryptkeyarg)
+libc_hidden_nolink (xdr_cryptkeyarg, GLIBC_2_0)
 
 bool_t
 xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp)
 {
-  if (!INTUSE(xdr_netnamestr) (xdrs, &objp->remotename))
+  if (!xdr_netnamestr (xdrs, &objp->remotename))
     return FALSE;
-  if (!INTUSE(xdr_netobj) (xdrs, &objp->remotekey))
+  if (!xdr_netobj (xdrs, &objp->remotekey))
     return FALSE;
-  if (!INTUSE(xdr_des_block) (xdrs, &objp->deskey))
+  if (!xdr_des_block (xdrs, &objp->deskey))
     return FALSE;
   return TRUE;
 }
-INTDEF(xdr_cryptkeyarg2)
+libc_hidden_nolink (xdr_cryptkeyarg2, GLIBC_2_0)
 
 bool_t
 xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp)
 {
-  if (!INTUSE(xdr_keystatus) (xdrs, &objp->status))
+  if (!xdr_keystatus (xdrs, &objp->status))
     return FALSE;
   switch (objp->status)
     {
     case KEY_SUCCESS:
-      if (!INTUSE(xdr_des_block) (xdrs, &objp->cryptkeyres_u.deskey))
+      if (!xdr_des_block (xdrs, &objp->cryptkeyres_u.deskey))
 	return FALSE;
       break;
     default:
@@ -102,32 +102,32 @@
     }
   return TRUE;
 }
-INTDEF(xdr_cryptkeyres)
+libc_hidden_nolink (xdr_cryptkeyres, GLIBC_2_0)
 
 bool_t
 xdr_unixcred (XDR * xdrs, unixcred * objp)
 {
-  if (!INTUSE(xdr_u_int) (xdrs, &objp->uid))
+  if (!xdr_u_int (xdrs, &objp->uid))
     return FALSE;
-  if (!INTUSE(xdr_u_int) (xdrs, &objp->gid))
+  if (!xdr_u_int (xdrs, &objp->gid))
     return FALSE;
-  if (!INTUSE(xdr_array) (xdrs, (void *) &objp->gids.gids_val,
-			  (u_int *) & objp->gids.gids_len, MAXGIDS,
-			  sizeof (u_int), (xdrproc_t) INTUSE(xdr_u_int)))
+  if (!xdr_array (xdrs, (void *) &objp->gids.gids_val,
+		  (u_int *) & objp->gids.gids_len, MAXGIDS,
+		  sizeof (u_int), (xdrproc_t) xdr_u_int))
     return FALSE;
   return TRUE;
 }
-INTDEF(xdr_unixcred)
+libc_hidden_nolink (xdr_unixcred, GLIBC_2_1)
 
 bool_t
 xdr_getcredres (XDR * xdrs, getcredres * objp)
 {
-  if (!INTUSE(xdr_keystatus) (xdrs, &objp->status))
+  if (!xdr_keystatus (xdrs, &objp->status))
     return FALSE;
   switch (objp->status)
     {
     case KEY_SUCCESS:
-      if (!INTUSE(xdr_unixcred) (xdrs, &objp->getcredres_u.cred))
+      if (!xdr_unixcred (xdrs, &objp->getcredres_u.cred))
 	return FALSE;
       break;
     default:
@@ -135,29 +135,30 @@
     }
   return TRUE;
 }
+libc_hidden_nolink (xdr_getcredres, GLIBC_2_1)
 
 bool_t
 xdr_key_netstarg (XDR * xdrs, key_netstarg * objp)
 {
-  if (!INTUSE(xdr_keybuf) (xdrs, objp->st_priv_key))
+  if (!xdr_keybuf (xdrs, objp->st_priv_key))
     return FALSE;
-  if (!INTUSE(xdr_keybuf) (xdrs, objp->st_pub_key))
+  if (!xdr_keybuf (xdrs, objp->st_pub_key))
     return FALSE;
-  if (!INTUSE(xdr_netnamestr) (xdrs, &objp->st_netname))
+  if (!xdr_netnamestr (xdrs, &objp->st_netname))
     return FALSE;
   return TRUE;
 }
-INTDEF(xdr_key_netstarg)
+libc_hidden_nolink (xdr_key_netstarg, GLIBC_2_0)
 
 bool_t
 xdr_key_netstres (XDR * xdrs, key_netstres * objp)
 {
-  if (!INTUSE(xdr_keystatus) (xdrs, &objp->status))
+  if (!xdr_keystatus (xdrs, &objp->status))
     return FALSE;
   switch (objp->status)
     {
     case KEY_SUCCESS:
-      if (!INTUSE(xdr_key_netstarg) (xdrs, &objp->key_netstres_u.knet))
+      if (!xdr_key_netstarg (xdrs, &objp->key_netstres_u.knet))
 	return FALSE;
       break;
     default:
@@ -165,4 +166,4 @@
     }
   return TRUE;
 }
-INTDEF(xdr_key_netstres)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -55,7 +55,7 @@
     netname[i - 1] = '\0';
   return 1;
 }
-libc_hidden_def (user2netname)
+libc_hidden_nolink (user2netname, GLIBC_2_1)
 
 int
 host2netname (char netname[MAXNETNAMELEN + 1], const char *host,
@@ -116,7 +116,11 @@
   sprintf (netname, "%s.%s@%s", OPSYS, hostname, domainname);
   return 1;
 }
+#ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (host2netname)
+#else
+libc_hidden_nolink (host2netname, GLIBC_2_1)
+#endif
 
 int
 getnetname (char name[MAXNETNAMELEN + 1])
@@ -131,7 +135,7 @@
     dummy = user2netname (name, uid, NULL);
   return (dummy);
 }
-libc_hidden_def (getnetname)
+libc_hidden_nolink (getnetname, GLIBC_2_1)
 
 /* Type of the lookup function for netname2user.  */
 typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1],
@@ -181,7 +185,11 @@
 
   return status == NSS_STATUS_SUCCESS;
 }
+#ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (netname2user)
+#else
+libc_hidden_nolink (netname2user, GLIBC_2_1)
+#endif
 
 int
 netname2host (const char netname[MAXNETNAMELEN + 1], char *hostname,
@@ -208,3 +216,4 @@
 
   return 1;
 }
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -43,6 +43,7 @@
 #include <errno.h>
 #include <libintl.h>
 #include <unistd.h>
+#include <not-cancel.h>
 
 
 /*
@@ -66,12 +67,11 @@
   if (socket != -1)
     closeit = true;
 
-  client = INTUSE(clnttcp_create) (address, PMAPPROG,
-				   PMAPVERS, &socket, 50, 500);
+  client = clnttcp_create (address, PMAPPROG, PMAPVERS, &socket, 50, 500);
   if (client != (CLIENT *) NULL)
     {
-      if (CLNT_CALL (client, PMAPPROC_DUMP, (xdrproc_t)INTUSE(xdr_void), NULL,
-		     (xdrproc_t)INTUSE(xdr_pmaplist), (caddr_t)&head,
+      if (CLNT_CALL (client, PMAPPROC_DUMP, (xdrproc_t)xdr_void, NULL,
+		     (xdrproc_t)xdr_pmaplist, (caddr_t)&head,
 		     minutetimeout) != RPC_SUCCESS)
 	{
 	  clnt_perror (client, _("pmap_getmaps.c: rpc problem"));
@@ -80,7 +80,8 @@
     }
   /* We only need to close the socket here if we opened  it.  */
   if (closeit)
-    (void) __close (socket);
+    close_not_cancel (socket);
   address->sin_port = 0;
   return head;
 }
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -107,13 +107,12 @@
       socket = __get_socket(address);
       if (socket != -1)
 	closeit = true;
-      client = INTUSE(clnttcp_create) (address, PMAPPROG, PMAPVERS, &socket,
-				       RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
+      client = clnttcp_create (address, PMAPPROG, PMAPVERS, &socket,
+			       RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
     }
   else
-    client = INTUSE(clntudp_bufcreate) (address, PMAPPROG, PMAPVERS, timeout,
-					&socket, RPCSMALLMSGSIZE,
-					RPCSMALLMSGSIZE);
+    client = clntudp_bufcreate (address, PMAPPROG, PMAPVERS, timeout,
+				&socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
   if (client != (CLIENT *) NULL)
     {
       struct rpc_createerr *ce = &get_rpc_createerr ();
@@ -121,8 +120,8 @@
       parms.pm_vers = version;
       parms.pm_prot = protocol;
       parms.pm_port = 0;	/* not needed or used */
-      if (CLNT_CALL (client, PMAPPROC_GETPORT, (xdrproc_t)INTUSE(xdr_pmap),
-		     (caddr_t)&parms, (xdrproc_t)INTUSE(xdr_u_short),
+      if (CLNT_CALL (client, PMAPPROC_GETPORT, (xdrproc_t)xdr_pmap,
+		     (caddr_t)&parms, (xdrproc_t)xdr_u_short,
 		     (caddr_t)&port, tottimeout) != RPC_SUCCESS)
 	{
 	  ce->cf_stat = RPC_PMAPFAILURE;
@@ -140,7 +139,11 @@
   address->sin_port = 0;
   return port;
 }
+#ifdef EXPORT_RPC_SYMBOLS
 libc_hidden_def (__libc_rpc_getport)
+#else
+libc_hidden_nolink (__libc_rpc_getport, GLIBC_PRIVATE)
+#endif
 
 
 /*
@@ -157,4 +160,4 @@
 {
   return __libc_rpc_getport (address, program, version, protocol, 5, 60);
 }
-libc_hidden_def (pmap_getport)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -112,17 +112,16 @@
 
   if (!__get_myaddress (&myaddress))
     return FALSE;
-  client = INTUSE(clntudp_bufcreate) (&myaddress, PMAPPROG, PMAPVERS,
-				      timeout, &socket, RPCSMALLMSGSIZE,
-				      RPCSMALLMSGSIZE);
+  client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS, timeout, &socket,
+			      RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
   if (client == (CLIENT *) NULL)
     return (FALSE);
   parms.pm_prog = program;
   parms.pm_vers = version;
   parms.pm_prot = protocol;
   parms.pm_port = port;
-  if (CLNT_CALL (client, PMAPPROC_SET, (xdrproc_t)INTUSE(xdr_pmap),
-		 (caddr_t)&parms, (xdrproc_t)INTUSE(xdr_bool), (caddr_t)&rslt,
+  if (CLNT_CALL (client, PMAPPROC_SET, (xdrproc_t)xdr_pmap,
+		 (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&rslt,
 		 tottimeout) != RPC_SUCCESS)
     {
       clnt_perror (client, _("Cannot register service"));
@@ -132,7 +131,7 @@
   /* (void)close(socket); CLNT_DESTROY closes it */
   return rslt;
 }
-libc_hidden_def (pmap_set)
+libc_hidden_nolink (pmap_set, GLIBC_2_0)
 
 /*
  * Remove the mapping between program,version and port.
@@ -149,19 +148,18 @@
 
   if (!__get_myaddress (&myaddress))
     return FALSE;
-  client = INTUSE(clntudp_bufcreate) (&myaddress, PMAPPROG, PMAPVERS,
-				      timeout, &socket, RPCSMALLMSGSIZE,
-				      RPCSMALLMSGSIZE);
+  client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS, timeout, &socket,
+			      RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
   if (client == (CLIENT *) NULL)
     return FALSE;
   parms.pm_prog = program;
   parms.pm_vers = version;
   parms.pm_port = parms.pm_prot = 0;
-  CLNT_CALL (client, PMAPPROC_UNSET, (xdrproc_t)INTUSE(xdr_pmap),
-	     (caddr_t)&parms, (xdrproc_t)INTUSE(xdr_bool), (caddr_t)&rslt,
+  CLNT_CALL (client, PMAPPROC_UNSET, (xdrproc_t)xdr_pmap,
+	     (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&rslt,
 	     tottimeout);
   CLNT_DESTROY (client);
   /* (void)close(socket); CLNT_DESTROY already closed it */
   return rslt;
 }
-libc_hidden_def (pmap_unset)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -43,10 +43,10 @@
      struct pmap *regs;
 {
 
-  if (INTUSE(xdr_u_long) (xdrs, &regs->pm_prog) &&
-      INTUSE(xdr_u_long) (xdrs, &regs->pm_vers) &&
-      INTUSE(xdr_u_long) (xdrs, &regs->pm_prot))
-    return INTUSE(xdr_u_long) (xdrs, &regs->pm_port);
+  if (xdr_u_long (xdrs, &regs->pm_prog) &&
+      xdr_u_long (xdrs, &regs->pm_vers) &&
+      xdr_u_long (xdrs, &regs->pm_prot))
+    return xdr_u_long (xdrs, &regs->pm_port);
   return FALSE;
 }
-INTDEF(xdr_pmap)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -92,7 +92,7 @@
   while (TRUE)
     {
       more_elements = (bool_t) (*rp != NULL);
-      if (!INTUSE(xdr_bool) (xdrs, &more_elements))
+      if (!xdr_bool (xdrs, &more_elements))
 	return FALSE;
       if (!more_elements)
 	return TRUE;		/* we are done */
@@ -103,11 +103,11 @@
        */
       if (freeing)
 	next = (*rp)->pml_next;
-      if (!INTUSE(xdr_reference) (xdrs, (caddr_t *) rp,
-				  (u_int) sizeof (struct pmaplist),
-				  (xdrproc_t) INTUSE(xdr_pmap)))
+      if (!xdr_reference (xdrs, (caddr_t *) rp,
+			  (u_int) sizeof (struct pmaplist),
+			  (xdrproc_t) xdr_pmap))
 	  return FALSE;
       rp = freeing ? &next : &((*rp)->pml_next);
     }
 }
-INTDEF(xdr_pmaplist)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -79,7 +79,7 @@
   enum clnt_stat stat;
 
   addr->sin_port = htons (PMAPPORT);
-  client = INTUSE(clntudp_create) (addr, PMAPPROG, PMAPVERS, timeout, &socket);
+  client = clntudp_create (addr, PMAPPROG, PMAPVERS, timeout, &socket);
   if (client != (CLIENT *) NULL)
     {
       a.prog = prog;
@@ -91,8 +91,8 @@
       r.results_ptr = resp;
       r.xdr_results = xdrres;
       stat = CLNT_CALL (client, PMAPPROC_CALLIT,
-			(xdrproc_t)INTUSE(xdr_rmtcall_args),
-			(caddr_t)&a, (xdrproc_t)INTUSE(xdr_rmtcallres),
+			(xdrproc_t)xdr_rmtcall_args,
+			(caddr_t)&a, (xdrproc_t)xdr_rmtcallres,
 			(caddr_t)&r, tout);
       CLNT_DESTROY (client);
     }
@@ -104,6 +104,7 @@
   addr->sin_port = 0;
   return stat;
 }
+libc_hidden_nolink (pmap_rmtcall, GLIBC_2_0)
 
 
 /*
@@ -115,13 +116,13 @@
 {
   u_int lenposition, argposition, position;
 
-  if (INTUSE(xdr_u_long) (xdrs, &(cap->prog)) &&
-      INTUSE(xdr_u_long) (xdrs, &(cap->vers)) &&
-      INTUSE(xdr_u_long) (xdrs, &(cap->proc)))
+  if (xdr_u_long (xdrs, &(cap->prog)) &&
+      xdr_u_long (xdrs, &(cap->vers)) &&
+      xdr_u_long (xdrs, &(cap->proc)))
     {
       u_long dummy_arglen = 0;
       lenposition = XDR_GETPOS (xdrs);
-      if (!INTUSE(xdr_u_long) (xdrs, &dummy_arglen))
+      if (!xdr_u_long (xdrs, &dummy_arglen))
 	return FALSE;
       argposition = XDR_GETPOS (xdrs);
       if (!(*(cap->xdr_args)) (xdrs, cap->args_ptr))
@@ -129,14 +130,14 @@
       position = XDR_GETPOS (xdrs);
       cap->arglen = (u_long) position - (u_long) argposition;
       XDR_SETPOS (xdrs, lenposition);
-      if (!INTUSE(xdr_u_long) (xdrs, &(cap->arglen)))
+      if (!xdr_u_long (xdrs, &(cap->arglen)))
 	return FALSE;
       XDR_SETPOS (xdrs, position);
       return TRUE;
     }
   return FALSE;
 }
-INTDEF(xdr_rmtcall_args)
+libc_hidden_nolink (xdr_rmtcall_args, GLIBC_2_0)
 
 /*
  * XDR remote call results
@@ -150,16 +151,16 @@
   caddr_t port_ptr;
 
   port_ptr = (caddr_t) crp->port_ptr;
-  if (INTUSE(xdr_reference) (xdrs, &port_ptr, sizeof (u_long),
-			     (xdrproc_t) INTUSE(xdr_u_long))
-      && INTUSE(xdr_u_long) (xdrs, &crp->resultslen))
+  if (xdr_reference (xdrs, &port_ptr, sizeof (u_long),
+		     (xdrproc_t) xdr_u_long)
+      && xdr_u_long (xdrs, &crp->resultslen))
     {
       crp->port_ptr = (u_long *) port_ptr;
       return (*(crp->xdr_results)) (xdrs, crp->results_ptr);
     }
   return FALSE;
 }
-INTDEF(xdr_rmtcallres)
+libc_hidden_nolink (xdr_rmtcallres, GLIBC_2_0)
 
 
 /*
@@ -212,7 +213,7 @@
      resultproc_t eachresult;	/* call with each result obtained */
 {
   enum clnt_stat stat = RPC_FAILED;
-  AUTH *unix_auth = INTUSE(authunix_create_default) ();
+  AUTH *unix_auth = authunix_create_default ();
   XDR xdr_stream;
   XDR *xdrs = &xdr_stream;
   struct timeval t;
@@ -276,9 +277,9 @@
   r.port_ptr = &port;
   r.xdr_results = xresults;
   r.results_ptr = resultsp;
-  INTUSE(xdrmem_create) (xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE);
-  if ((!INTUSE(xdr_callmsg) (xdrs, &msg))
-      || (!INTUSE(xdr_rmtcall_args) (xdrs, &a)))
+  xdrmem_create (xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE);
+  if ((!xdr_callmsg (xdrs, &msg))
+      || (!xdr_rmtcall_args (xdrs, &a)))
     {
       stat = RPC_CANTENCODEARGS;
       goto done_broad;
@@ -311,7 +312,7 @@
     recv_again:
       msg.acpted_rply.ar_verf = _null_auth;
       msg.acpted_rply.ar_results.where = (caddr_t) & r;
-      msg.acpted_rply.ar_results.proc = (xdrproc_t) INTUSE(xdr_rmtcallres);
+      msg.acpted_rply.ar_results.proc = (xdrproc_t) xdr_rmtcallres;
       milliseconds = t.tv_sec * 1000 + t.tv_usec / 1000;
       switch (__poll(&fd, 1, milliseconds))
 	{
@@ -346,8 +347,8 @@
        * see if reply transaction id matches sent id.
        * If so, decode the results.
        */
-      INTUSE(xdrmem_create) (xdrs, inbuf, (u_int) inlen, XDR_DECODE);
-      if (INTUSE(xdr_replymsg) (xdrs, &msg))
+      xdrmem_create (xdrs, inbuf, (u_int) inlen, XDR_DECODE);
+      if (xdr_replymsg (xdrs, &msg))
 	{
 	  if (((u_int32_t) msg.rm_xid == (u_int32_t) xid) &&
 	      (msg.rm_reply.rp_stat == MSG_ACCEPTED) &&
@@ -368,8 +369,8 @@
 #endif
 	}
       xdrs->x_op = XDR_FREE;
-      msg.acpted_rply.ar_results.proc = (xdrproc_t)INTUSE(xdr_void);
-      (void) INTUSE(xdr_replymsg) (xdrs, &msg);
+      msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
+      (void) xdr_replymsg (xdrs, &msg);
       (void) (*xresults) (xdrs, resultsp);
       xdr_destroy (xdrs);
       if (done)
@@ -387,3 +388,4 @@
   AUTH_DESTROY (unix_auth);
   return stat;
 }
+libc_hidden_nolink (clnt_broadcast, GLIBC_2_0)

Modified: fsf/trunk/libc/sunrpc/publickey.c
==============================================================================
--- fsf/trunk/libc/sunrpc/publickey.c (original)
+++ fsf/trunk/libc/sunrpc/publickey.c Sun Apr 17 00:22:42 2011
@@ -76,7 +76,7 @@
 
   return status == NSS_STATUS_SUCCESS;
 }
-libc_hidden_def (getpublickey)
+libc_hidden_nolink (getpublickey, GLIBC_2_0)
 
 
 int
@@ -119,3 +119,4 @@
 
   return status == NSS_STATUS_SUCCESS;
 }
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -125,8 +125,8 @@
 	      buf = XDR_INLINE (xdrs, RNDUP (oa->oa_length));
 	      if (buf == NULL)
 		{
-		  if (INTUSE(xdr_opaque) (xdrs, oa->oa_base,
-					  oa->oa_length) == FALSE)
+		  if (xdr_opaque (xdrs, oa->oa_base,
+				  oa->oa_length) == FALSE)
 		    return FALSE;
 		}
 	      else
@@ -142,8 +142,8 @@
 	  buf = XDR_INLINE (xdrs, 2 * BYTES_PER_XDR_UNIT);
 	  if (buf == NULL)
 	    {
-	      if (INTUSE(xdr_enum) (xdrs, &oa->oa_flavor) == FALSE ||
-		  INTUSE(xdr_u_int) (xdrs, &oa->oa_length) == FALSE)
+	      if (xdr_enum (xdrs, &oa->oa_flavor) == FALSE ||
+		  xdr_u_int (xdrs, &oa->oa_length) == FALSE)
 		{
 		  return FALSE;
 		}
@@ -165,8 +165,8 @@
 	      buf = XDR_INLINE (xdrs, RNDUP (oa->oa_length));
 	      if (buf == NULL)
 		{
-		  if (INTUSE(xdr_opaque) (xdrs, oa->oa_base,
-					  oa->oa_length) == FALSE)
+		  if (xdr_opaque (xdrs, oa->oa_base,
+				  oa->oa_length) == FALSE)
 		    return FALSE;
 		}
 	      else
@@ -182,16 +182,16 @@
 	}
     }
   if (
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_xid)) &&
-       INTUSE(xdr_enum) (xdrs, (enum_t *) & (cmsg->rm_direction)) &&
+       xdr_u_long (xdrs, &(cmsg->rm_xid)) &&
+       xdr_enum (xdrs, (enum_t *) & (cmsg->rm_direction)) &&
        (cmsg->rm_direction == CALL) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
+       xdr_u_long (xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
        (cmsg->rm_call.cb_rpcvers == RPC_MSG_VERSION) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_prog)) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_vers)) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_proc)) &&
-       INTUSE(xdr_opaque_auth) (xdrs, &(cmsg->rm_call.cb_cred)))
-    return INTUSE(xdr_opaque_auth) (xdrs, &(cmsg->rm_call.cb_verf));
+       xdr_u_long (xdrs, &(cmsg->rm_call.cb_prog)) &&
+       xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers)) &&
+       xdr_u_long (xdrs, &(cmsg->rm_call.cb_proc)) &&
+       xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_cred)))
+    return xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_verf));
   return FALSE;
 }
-INTDEF(xdr_callmsg)
+libc_hidden_nolink (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 Sun Apr 17 00:22:42 2011
@@ -28,6 +28,7 @@
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include <rpc/rpc.h>
+#include <shlib-compat.h>
 
 #ifdef _RPC_THREAD_SAFE_
 #undef svc_fdset
@@ -44,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_def (_null_auth)
+libc_hidden_nolink (_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 Sun Apr 17 00:22:42 2011
@@ -46,4 +46,4 @@
 
   return size;
 }
-libc_hidden_def (_rpc_dtablesize)
+libc_hidden_nolink (_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 Sun Apr 17 00:22:42 2011
@@ -52,12 +52,12 @@
 xdr_opaque_auth (XDR *xdrs, struct opaque_auth *ap)
 {
 
-  if (INTUSE(xdr_enum) (xdrs, &(ap->oa_flavor)))
-    return INTUSE(xdr_bytes) (xdrs, &ap->oa_base,
+  if (xdr_enum (xdrs, &(ap->oa_flavor)))
+    return xdr_bytes (xdrs, &ap->oa_base,
 		      &ap->oa_length, MAX_AUTH_BYTES);
   return FALSE;
 }
-INTDEF(xdr_opaque_auth)
+libc_hidden_nolink (xdr_opaque_auth, GLIBC_2_0)
 
 /*
  * XDR a DES block
@@ -65,9 +65,9 @@
 bool_t
 xdr_des_block (XDR *xdrs, des_block *blkp)
 {
-  return INTUSE(xdr_opaque) (xdrs, (caddr_t) blkp, sizeof (des_block));
-}
-INTDEF(xdr_des_block)
+  return xdr_opaque (xdrs, (caddr_t) blkp, sizeof (des_block));
+}
+libc_hidden_nolink (xdr_des_block, GLIBC_2_0)
 
 /* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */
 
@@ -78,24 +78,24 @@
 xdr_accepted_reply (XDR *xdrs, struct accepted_reply *ar)
 {
   /* personalized union, rather than calling xdr_union */
-  if (!INTUSE(xdr_opaque_auth) (xdrs, &(ar->ar_verf)))
+  if (!xdr_opaque_auth (xdrs, &(ar->ar_verf)))
     return FALSE;
-  if (!INTUSE(xdr_enum) (xdrs, (enum_t *) & (ar->ar_stat)))
+  if (!xdr_enum (xdrs, (enum_t *) & (ar->ar_stat)))
     return FALSE;
   switch (ar->ar_stat)
     {
     case SUCCESS:
       return ((*(ar->ar_results.proc)) (xdrs, ar->ar_results.where));
     case PROG_MISMATCH:
-      if (!INTUSE(xdr_u_long) (xdrs, &(ar->ar_vers.low)))
+      if (!xdr_u_long (xdrs, &(ar->ar_vers.low)))
 	return FALSE;
-      return (INTUSE(xdr_u_long) (xdrs, &(ar->ar_vers.high)));
+      return (xdr_u_long (xdrs, &(ar->ar_vers.high)));
     default:
       return TRUE;
     }
   return TRUE;		/* TRUE => open ended set of problems */
 }
-INTDEF(xdr_accepted_reply)
+libc_hidden_nolink (xdr_accepted_reply, GLIBC_2_0)
 
 /*
  * XDR the MSG_DENIED part of a reply message union
@@ -104,26 +104,26 @@
 xdr_rejected_reply (XDR *xdrs, struct rejected_reply *rr)
 {
   /* personalized union, rather than calling xdr_union */
-  if (!INTUSE(xdr_enum) (xdrs, (enum_t *) & (rr->rj_stat)))
+  if (!xdr_enum (xdrs, (enum_t *) & (rr->rj_stat)))
     return FALSE;
   switch (rr->rj_stat)
     {
     case RPC_MISMATCH:
-      if (!INTUSE(xdr_u_long) (xdrs, &(rr->rj_vers.low)))
+      if (!xdr_u_long (xdrs, &(rr->rj_vers.low)))
 	return FALSE;
-      return INTUSE(xdr_u_long) (xdrs, &(rr->rj_vers.high));
+      return xdr_u_long (xdrs, &(rr->rj_vers.high));
 
     case AUTH_ERROR:
-      return INTUSE(xdr_enum) (xdrs, (enum_t *) & (rr->rj_why));
-    }
-  return FALSE;
-}
-INTDEF(xdr_rejected_reply)
+      return xdr_enum (xdrs, (enum_t *) & (rr->rj_why));
+    }
+  return FALSE;
+}
+libc_hidden_nolink (xdr_rejected_reply, GLIBC_2_0)
 
 static const struct xdr_discrim reply_dscrm[3] =
 {
-  {(int) MSG_ACCEPTED, (xdrproc_t) INTUSE(xdr_accepted_reply)},
-  {(int) MSG_DENIED, (xdrproc_t) INTUSE(xdr_rejected_reply)},
+  {(int) MSG_ACCEPTED, (xdrproc_t) xdr_accepted_reply},
+  {(int) MSG_DENIED, (xdrproc_t) xdr_rejected_reply},
   {__dontcare__, NULL_xdrproc_t}};
 
 /*
@@ -134,15 +134,15 @@
      XDR *xdrs;
      struct rpc_msg *rmsg;
 {
-  if (INTUSE(xdr_u_long) (xdrs, &(rmsg->rm_xid)) &&
-      INTUSE(xdr_enum) (xdrs, (enum_t *) & (rmsg->rm_direction)) &&
+  if (xdr_u_long (xdrs, &(rmsg->rm_xid)) &&
+      xdr_enum (xdrs, (enum_t *) & (rmsg->rm_direction)) &&
       (rmsg->rm_direction == REPLY))
-    return INTUSE(xdr_union) (xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat),
-			      (caddr_t) & (rmsg->rm_reply.ru), reply_dscrm,
-			      NULL_xdrproc_t);
-  return FALSE;
-}
-INTDEF(xdr_replymsg)
+    return xdr_union (xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat),
+		      (caddr_t) & (rmsg->rm_reply.ru), reply_dscrm,
+		      NULL_xdrproc_t);
+  return FALSE;
+}
+libc_hidden_nolink (xdr_replymsg, GLIBC_2_0)
 
 
 /*
@@ -160,14 +160,14 @@
   cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION;
   if (
        (xdrs->x_op == XDR_ENCODE) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_xid)) &&
-       INTUSE(xdr_enum) (xdrs, (enum_t *) & (cmsg->rm_direction)) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_rpcvers)) &&
-       INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_prog)))
-    return INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_vers));
-  return FALSE;
-}
-INTDEF(xdr_callhdr)
+       xdr_u_long (xdrs, &(cmsg->rm_xid)) &&
+       xdr_enum (xdrs, (enum_t *) & (cmsg->rm_direction)) &&
+       xdr_u_long (xdrs, &(cmsg->rm_call.cb_rpcvers)) &&

[... 1390 lines stripped ...]