about summary refs log tree commit diff
path: root/sunrpc
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-04 11:14:43 -0400
committerZack Weinberg <zackw@panix.com>2017-06-04 11:31:28 -0400
commit82f43dd2d11b5705ed5680f579f265781387a12d (patch)
tree6c372419b50b87242af97e2a0ad0b83c18f07ef1 /sunrpc
parent363911ce1313a246b7d33f0983a09e7ab2525b3a (diff)
downloadglibc-82f43dd2d11b5705ed5680f579f265781387a12d.tar.gz
glibc-82f43dd2d11b5705ed5680f579f265781387a12d.tar.xz
glibc-82f43dd2d11b5705ed5680f579f265781387a12d.zip
Include shlib-compat.h in many sunrpc/nis source files.
Every file that uses libc_hidden_nolink_sunrpc or
libnsl_hidden_nolink_def needs to include shlib-compat.h.  Currently,
most of them are getting it via stdio.h, because libio.h refers to
SHLIB_COMPAT when _LIBC is defined, so it includes shlib-compat.h.  My
experimental patch to not install libio.h breaks that chain; stdio.h
no longer pulls in libio.h even for internal users.

Accordingly, this patch adds #include <shlib-compat.h> to many files
in sunrpc/ and nis/.  There are also a small number of really obvious
fixups to includes that caught my eye while proofreading the patch -
not including headers twice in a row, not worrying about portability
to Ultrix anymore, sort of thing.

	* nis/nis_add.c, nis/nis_addmember.c, nis/nis_call.c
	* nis/nis_checkpoint.c, nis/nis_clone_dir.c, nis/nis_clone_obj.c
	* nis/nis_clone_res.c, nis/nis_creategroup.c, nis/nis_defaults.c
	* nis/nis_destroygroup.c, nis/nis_domain_of.c
	* nis/nis_domain_of_r.c, nis/nis_error.c, nis/nis_file.c
	* nis/nis_free.c, nis/nis_getservlist.c, nis/nis_ismember.c
	* nis/nis_local_names.c, nis/nis_lookup.c, nis/nis_mkdir.c
	* nis/nis_modify.c, nis/nis_ping.c, nis/nis_print.c
	* nis/nis_print_group_entry.c, nis/nis_remove.c
	* nis/nis_removemember.c, nis/nis_rmdir.c, nis/nis_server.c
	* nis/nis_subr.c, nis/nis_table.c, nis/nis_util.c
	* nis/nis_verifygroup.c, nis/nis_xdr.c, nis/yp_xdr.c
	* nis/ypclnt.c, nis/ypupdate_xdr.c, sunrpc/auth_des.c
	* sunrpc/auth_none.c, sunrpc/auth_unix.c, sunrpc/authdes_prot.c
	* sunrpc/authuxprot.c, sunrpc/clnt_gen.c, sunrpc/clnt_perr.c
	* sunrpc/clnt_raw.c, sunrpc/clnt_simp.c, sunrpc/clnt_tcp.c
	* sunrpc/clnt_udp.c, sunrpc/clnt_unix.c, sunrpc/des_crypt.c
	* sunrpc/des_soft.c, sunrpc/get_myaddr.c, sunrpc/key_call.c
	* sunrpc/key_prot.c, sunrpc/netname.c, sunrpc/pm_getmaps.c
	* sunrpc/pm_getport.c, sunrpc/pmap_clnt.c, sunrpc/pmap_prot.c
	* sunrpc/pmap_prot2.c, sunrpc/pmap_rmt.c, sunrpc/publickey.c
	* sunrpc/rpc_cmsg.c, sunrpc/rpc_dtable.c, sunrpc/rpc_prot.c
	* sunrpc/rpc_thread.c, sunrpc/rtime.c, sunrpc/svc.c
	* sunrpc/svc_auth.c, sunrpc/svc_raw.c, sunrpc/svc_run.c
	* sunrpc/svc_tcp.c, sunrpc/svc_udp.c, sunrpc/svc_unix.c
	* sunrpc/svcauth_des.c, sunrpc/xdr.c, sunrpc/xdr_array.c
	* sunrpc/xdr_float.c, sunrpc/xdr_intXX_t.c, sunrpc/xdr_mem.c
	* sunrpc/xdr_rec.c, sunrpc/xdr_ref.c, sunrpc/xdr_sizeof.c
	* sunrpc/xdr_stdio.c: Include shlib-compat.h.

	* sunrpc/des_crypt.c, sunrpc/des_soft.c: No need to include
	abi-versions.h as well as shlib-compat.h.
	* sunrpc/get_myaddr.c: Remove obsolete comment.
	* sunrpc/pmap_rmt.c: Remove obsolete comment and #undef.
	* sunrpc/rpc_thread.c: Include libc-lock.h only once.
	* resolv/res_libc.c: Include shlib-compat.h only once.
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/auth_des.c1
-rw-r--r--sunrpc/auth_none.c1
-rw-r--r--sunrpc/auth_unix.c1
-rw-r--r--sunrpc/authdes_prot.c1
-rw-r--r--sunrpc/authuxprot.c1
-rw-r--r--sunrpc/clnt_gen.c1
-rw-r--r--sunrpc/clnt_perr.c1
-rw-r--r--sunrpc/clnt_raw.c1
-rw-r--r--sunrpc/clnt_simp.c1
-rw-r--r--sunrpc/clnt_tcp.c1
-rw-r--r--sunrpc/clnt_udp.c1
-rw-r--r--sunrpc/clnt_unix.c1
-rw-r--r--sunrpc/des_crypt.c2
-rw-r--r--sunrpc/des_soft.c3
-rw-r--r--sunrpc/get_myaddr.c2
-rw-r--r--sunrpc/key_call.c1
-rw-r--r--sunrpc/key_prot.c1
-rw-r--r--sunrpc/netname.c1
-rw-r--r--sunrpc/pm_getmaps.c1
-rw-r--r--sunrpc/pm_getport.c1
-rw-r--r--sunrpc/pmap_clnt.c1
-rw-r--r--sunrpc/pmap_prot.c1
-rw-r--r--sunrpc/pmap_prot2.c1
-rw-r--r--sunrpc/pmap_rmt.c5
-rw-r--r--sunrpc/publickey.c1
-rw-r--r--sunrpc/rpc_cmsg.c1
-rw-r--r--sunrpc/rpc_dtable.c1
-rw-r--r--sunrpc/rpc_prot.c2
-rw-r--r--sunrpc/rpc_thread.c2
-rw-r--r--sunrpc/rtime.c1
-rw-r--r--sunrpc/svc.c1
-rw-r--r--sunrpc/svc_auth.c1
-rw-r--r--sunrpc/svc_raw.c1
-rw-r--r--sunrpc/svc_run.c1
-rw-r--r--sunrpc/svc_tcp.c1
-rw-r--r--sunrpc/svc_udp.c1
-rw-r--r--sunrpc/svc_unix.c1
-rw-r--r--sunrpc/svcauth_des.c1
-rw-r--r--sunrpc/xdr.c1
-rw-r--r--sunrpc/xdr_array.c1
-rw-r--r--sunrpc/xdr_float.c1
-rw-r--r--sunrpc/xdr_intXX_t.c1
-rw-r--r--sunrpc/xdr_mem.c1
-rw-r--r--sunrpc/xdr_rec.c1
-rw-r--r--sunrpc/xdr_ref.c1
-rw-r--r--sunrpc/xdr_sizeof.c1
-rw-r--r--sunrpc/xdr_stdio.c2
47 files changed, 51 insertions, 7 deletions
diff --git a/sunrpc/auth_des.c b/sunrpc/auth_des.c
index b299c456d6..42d6b552f4 100644
--- a/sunrpc/auth_des.c
+++ b/sunrpc/auth_des.c
@@ -41,6 +41,7 @@
 #include <rpc/xdr.h>
 #include <netinet/in.h>		/* XXX: just to get htonl() and ntohl() */
 #include <sys/socket.h>
+#include <shlib-compat.h>
 
 #define MILLION		1000000L
 #define RTIME_TIMEOUT 5		/* seconds to wait for sync */
diff --git a/sunrpc/auth_none.c b/sunrpc/auth_none.c
index 3f8d52bafb..b1effb7a00 100644
--- a/sunrpc/auth_none.c
+++ b/sunrpc/auth_none.c
@@ -36,6 +36,7 @@
 
 #include <rpc/rpc.h>
 #include <libc-lock.h>
+#include <shlib-compat.h>
 
 #define MAX_MARSHAL_SIZE 20
 
diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c
index 68b42d7b1f..b71612cd80 100644
--- a/sunrpc/auth_unix.c
+++ b/sunrpc/auth_unix.c
@@ -46,6 +46,7 @@
 #include <libintl.h>
 #include <sys/param.h>
 #include <wchar.h>
+#include <shlib-compat.h>
 
 #include <rpc/types.h>
 #include <rpc/xdr.h>
diff --git a/sunrpc/authdes_prot.c b/sunrpc/authdes_prot.c
index 164c1223ca..93b7cfc04b 100644
--- a/sunrpc/authdes_prot.c
+++ b/sunrpc/authdes_prot.c
@@ -36,6 +36,7 @@
 #include <rpc/xdr.h>
 #include <rpc/auth.h>
 #include <rpc/auth_des.h>
+#include <shlib-compat.h>
 
 #define ATTEMPT(xdr_op) if (!(xdr_op)) return (FALSE)
 
diff --git a/sunrpc/authuxprot.c b/sunrpc/authuxprot.c
index d37faee0c7..14fe9f56c8 100644
--- a/sunrpc/authuxprot.c
+++ b/sunrpc/authuxprot.c
@@ -37,6 +37,7 @@
 #include <rpc/xdr.h>
 #include <rpc/auth.h>
 #include <rpc/auth_unix.h>
+#include <shlib-compat.h>
 
 /*
  * XDR for unix authentication parameters.
diff --git a/sunrpc/clnt_gen.c b/sunrpc/clnt_gen.c
index 8dffaa9fa6..542f85dd35 100644
--- a/sunrpc/clnt_gen.c
+++ b/sunrpc/clnt_gen.c
@@ -35,6 +35,7 @@
 #include <rpc/rpc.h>
 #include <sys/socket.h>
 #include <netdb.h>
+#include <shlib-compat.h>
 
 /*
  * Generic client creation: takes (hostname, program-number, protocol) and
diff --git a/sunrpc/clnt_perr.c b/sunrpc/clnt_perr.c
index b4f84c92e8..f682243eae 100644
--- a/sunrpc/clnt_perr.c
+++ b/sunrpc/clnt_perr.c
@@ -36,6 +36,7 @@
 #include <rpc/rpc.h>
 #include <wchar.h>
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
 
 static char *auth_errmsg (enum auth_stat stat) internal_function;
 
diff --git a/sunrpc/clnt_raw.c b/sunrpc/clnt_raw.c
index a149bf419b..d62a11a2ca 100644
--- a/sunrpc/clnt_raw.c
+++ b/sunrpc/clnt_raw.c
@@ -40,6 +40,7 @@
 #include <rpc/svc.h>
 #include <rpc/xdr.h>
 #include <libintl.h>
+#include <shlib-compat.h>
 
 #define MCALL_MSG_SIZE 24
 
diff --git a/sunrpc/clnt_simp.c b/sunrpc/clnt_simp.c
index 0ecb64ca7b..bdf6322fc4 100644
--- a/sunrpc/clnt_simp.c
+++ b/sunrpc/clnt_simp.c
@@ -40,6 +40,7 @@
 #include <sys/socket.h>
 #include <netdb.h>
 #include <string.h>
+#include <shlib-compat.h>
 
 struct callrpc_private_s
   {
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
index 9bcd9125ea..e311b35a25 100644
--- a/sunrpc/clnt_tcp.c
+++ b/sunrpc/clnt_tcp.c
@@ -54,6 +54,7 @@
 #include <sys/socket.h>
 #include <rpc/pmap_clnt.h>
 #include <wchar.h>
+#include <shlib-compat.h>
 
 extern u_long _create_xid (void);
 
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
index 6ce16eb298..df21e28f64 100644
--- a/sunrpc/clnt_udp.c
+++ b/sunrpc/clnt_udp.c
@@ -56,6 +56,7 @@
 
 #include <kernel-features.h>
 #include <inet/net-internal.h>
+#include <shlib-compat.h>
 
 extern u_long _create_xid (void);
 
diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c
index 1b8c179319..8591be5580 100644
--- a/sunrpc/clnt_unix.c
+++ b/sunrpc/clnt_unix.c
@@ -55,6 +55,7 @@
 #include <sys/socket.h>
 #include <rpc/pmap_clnt.h>
 #include <wchar.h>
+#include <shlib-compat.h>
 
 extern u_long _create_xid (void);
 
diff --git a/sunrpc/des_crypt.c b/sunrpc/des_crypt.c
index 22a34b7f3a..a4d8b2936b 100644
--- a/sunrpc/des_crypt.c
+++ b/sunrpc/des_crypt.c
@@ -32,7 +32,7 @@
 
 #include <sys/types.h>
 #include <rpc/des_crypt.h>
-#include <abi-versions.h>
+#include <shlib-compat.h>
 #include "des.h"
 
 extern int _des_crypt (char *, unsigned, struct desparams *);
diff --git a/sunrpc/des_soft.c b/sunrpc/des_soft.c
index cddef5d76b..f884f8f21b 100644
--- a/sunrpc/des_soft.c
+++ b/sunrpc/des_soft.c
@@ -32,7 +32,8 @@ static char sccsid[] = "@(#)des_soft.c	2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/
  */
 
 #include <rpc/des_crypt.h>
-#include <abi-versions.h>
+#include <shlib-compat.h>
+
 /*
  * Table giving odd parity in the low bit for ASCII characters
  */
diff --git a/sunrpc/get_myaddr.c b/sunrpc/get_myaddr.c
index 24407b53ec..df334e4134 100644
--- a/sunrpc/get_myaddr.c
+++ b/sunrpc/get_myaddr.c
@@ -42,9 +42,9 @@
 #include <net/if.h>
 #include <ifaddrs.h>
 #include <sys/ioctl.h>
-/* Order of following two #includes reversed by roland@gnu */
 #include <netinet/in.h>
 #include <arpa/inet.h>
+#include <shlib-compat.h>
 
 /*
  * don't use gethostbyname, which would invoke yellow pages
diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c
index a0d9a2a0d1..b871c04648 100644
--- a/sunrpc/key_call.c
+++ b/sunrpc/key_call.c
@@ -49,6 +49,7 @@
 #include <sys/socket.h>
 #include <rpc/key_prot.h>
 #include <libc-lock.h>
+#include <shlib-compat.h>
 
 #define KEY_TIMEOUT	5	/* per-try timeout in seconds */
 #define KEY_NRETRY	12	/* number of retries */
diff --git a/sunrpc/key_prot.c b/sunrpc/key_prot.c
index 2899c9a448..3659bab1d3 100644
--- a/sunrpc/key_prot.c
+++ b/sunrpc/key_prot.c
@@ -29,6 +29,7 @@
  */
 
 #include <rpc/key_prot.h>
+#include <shlib-compat.h>
 
 bool_t
 xdr_keystatus (XDR * xdrs, keystatus * objp)
diff --git a/sunrpc/netname.c b/sunrpc/netname.c
index c694311372..9aee3e4042 100644
--- a/sunrpc/netname.c
+++ b/sunrpc/netname.c
@@ -20,6 +20,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <rpc/rpc.h>
+#include <shlib-compat.h>
 
 #include "nsswitch.h"
 
diff --git a/sunrpc/pm_getmaps.c b/sunrpc/pm_getmaps.c
index 6f7ad10ef6..88c44f0154 100644
--- a/sunrpc/pm_getmaps.c
+++ b/sunrpc/pm_getmaps.c
@@ -44,6 +44,7 @@
 #include <libintl.h>
 #include <unistd.h>
 #include <not-cancel.h>
+#include <shlib-compat.h>
 
 
 /*
diff --git a/sunrpc/pm_getport.c b/sunrpc/pm_getport.c
index 000a01fa81..54d2e439d2 100644
--- a/sunrpc/pm_getport.c
+++ b/sunrpc/pm_getport.c
@@ -38,6 +38,7 @@
 #include <rpc/pmap_prot.h>
 #include <rpc/pmap_clnt.h>
 #include <sys/socket.h>
+#include <shlib-compat.h>
 
 /*
  * Create a socket that is locally bound to a non-reserve port. For
diff --git a/sunrpc/pmap_clnt.c b/sunrpc/pmap_clnt.c
index 5d7d185766..69b4907b3a 100644
--- a/sunrpc/pmap_clnt.c
+++ b/sunrpc/pmap_clnt.c
@@ -45,6 +45,7 @@
 #include <rpc/rpc.h>
 #include <rpc/pmap_prot.h>
 #include <rpc/pmap_clnt.h>
+#include <shlib-compat.h>
 
 /*
  * Same as get_myaddress, but we try to use the loopback
diff --git a/sunrpc/pmap_prot.c b/sunrpc/pmap_prot.c
index 0919d0917d..d8d75a7b47 100644
--- a/sunrpc/pmap_prot.c
+++ b/sunrpc/pmap_prot.c
@@ -35,6 +35,7 @@
 #include <rpc/types.h>
 #include <rpc/xdr.h>
 #include <rpc/pmap_prot.h>
+#include <shlib-compat.h>
 
 
 bool_t
diff --git a/sunrpc/pmap_prot2.c b/sunrpc/pmap_prot2.c
index 01f158d6b8..c414db0298 100644
--- a/sunrpc/pmap_prot2.c
+++ b/sunrpc/pmap_prot2.c
@@ -35,6 +35,7 @@
 #include <rpc/types.h>
 #include <rpc/xdr.h>
 #include <rpc/pmap_prot.h>
+#include <shlib-compat.h>
 
 
 /*
diff --git a/sunrpc/pmap_rmt.c b/sunrpc/pmap_rmt.c
index e54fe14470..c036d889ef 100644
--- a/sunrpc/pmap_rmt.c
+++ b/sunrpc/pmap_rmt.c
@@ -44,12 +44,13 @@
 #include <sys/socket.h>
 #include <stdio.h>
 #include <errno.h>
-#undef	 _POSIX_SOURCE		/* Ultrix <sys/param.h> needs --roland@gnu */
-#include <sys/param.h>		/* Ultrix needs before net/if --roland@gnu */
+#include <sys/param.h>
 #include <net/if.h>
 #include <ifaddrs.h>
 #include <sys/ioctl.h>
 #include <arpa/inet.h>
+#include <shlib-compat.h>
+
 #define MAX_BROADCAST_SIZE 1400
 
 extern u_long _create_xid (void);
diff --git a/sunrpc/publickey.c b/sunrpc/publickey.c
index 5209f7bdf2..ca6e4303d4 100644
--- a/sunrpc/publickey.c
+++ b/sunrpc/publickey.c
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <rpc/netdb.h>
 #include <rpc/auth_des.h>
+#include <shlib-compat.h>
 
 #include "nsswitch.h"
 
diff --git a/sunrpc/rpc_cmsg.c b/sunrpc/rpc_cmsg.c
index 62d95fcc83..ec8cc6ccca 100644
--- a/sunrpc/rpc_cmsg.c
+++ b/sunrpc/rpc_cmsg.c
@@ -34,6 +34,7 @@
 #include <string.h>
 #include <sys/param.h>
 #include <rpc/rpc.h>
+#include <shlib-compat.h>
 
 /*
  * XDR a call message
diff --git a/sunrpc/rpc_dtable.c b/sunrpc/rpc_dtable.c
index 81ddf8f55a..7fe48e1811 100644
--- a/sunrpc/rpc_dtable.c
+++ b/sunrpc/rpc_dtable.c
@@ -31,6 +31,7 @@
 
 #include <unistd.h>
 #include <rpc/clnt.h>
+#include <shlib-compat.h>
 
 /*
  * Cache the result of getdtablesize(), so we don't have to do an
diff --git a/sunrpc/rpc_prot.c b/sunrpc/rpc_prot.c
index f47c6befe4..46582f2a35 100644
--- a/sunrpc/rpc_prot.c
+++ b/sunrpc/rpc_prot.c
@@ -39,8 +39,8 @@
  */
 
 #include <sys/param.h>
-
 #include <rpc/rpc.h>
+#include <shlib-compat.h>
 
 /* * * * * * * * * * * * * * XDR Authentication * * * * * * * * * * * */
 
diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c
index e5225c5caf..ccbf9bb69b 100644
--- a/sunrpc/rpc_thread.c
+++ b/sunrpc/rpc_thread.c
@@ -1,10 +1,10 @@
 #include <stdio.h>
-#include <libc-lock.h>
 #include <rpc/rpc.h>
 #include <assert.h>
 
 #include <libc-lock.h>
 #include <libc-tsd.h>
+#include <shlib-compat.h>
 
 #ifdef _RPC_THREAD_SAFE_
 
diff --git a/sunrpc/rtime.c b/sunrpc/rtime.c
index d224624f8b..e3cffe26d4 100644
--- a/sunrpc/rtime.c
+++ b/sunrpc/rtime.c
@@ -49,6 +49,7 @@
 #include <rpc/auth_des.h>
 #include <errno.h>
 #include <netinet/in.h>
+#include <shlib-compat.h>
 
 #define NYEARS	(u_long)(1970 - 1900)
 #define TOFFSET (u_long)(60*60*24*(365*NYEARS + (NYEARS/4)))
diff --git a/sunrpc/svc.c b/sunrpc/svc.c
index 03f963018c..f713e2eb72 100644
--- a/sunrpc/svc.c
+++ b/sunrpc/svc.c
@@ -59,6 +59,7 @@
 #include <rpc/pmap_clnt.h>
 #include <sys/poll.h>
 #include <time.h>
+#include <shlib-compat.h>
 
 #ifdef _RPC_THREAD_SAFE_
 #define xports RPC_THREAD_VARIABLE(svc_xports_s)
diff --git a/sunrpc/svc_auth.c b/sunrpc/svc_auth.c
index f33bda2f20..5bca9557e3 100644
--- a/sunrpc/svc_auth.c
+++ b/sunrpc/svc_auth.c
@@ -34,6 +34,7 @@
 #include <rpc/rpc.h>
 #include <rpc/svc.h>
 #include <rpc/svc_auth.h>
+#include <shlib-compat.h>
 
 /*
  * svcauthsw is the bdevsw of server side authentication.
diff --git a/sunrpc/svc_raw.c b/sunrpc/svc_raw.c
index 99bfdfebe8..4787203613 100644
--- a/sunrpc/svc_raw.c
+++ b/sunrpc/svc_raw.c
@@ -36,6 +36,7 @@
 
 #include <rpc/rpc.h>
 #include <rpc/svc.h>
+#include <shlib-compat.h>
 
 /*
  * This is the "network" that we will be moving data over
diff --git a/sunrpc/svc_run.c b/sunrpc/svc_run.c
index 90dfc94056..e563707fcc 100644
--- a/sunrpc/svc_run.c
+++ b/sunrpc/svc_run.c
@@ -36,6 +36,7 @@
 #include <libintl.h>
 #include <sys/poll.h>
 #include <rpc/rpc.h>
+#include <shlib-compat.h>
 
 /* This function can be used as a signal handler to terminate the
    server loop.  */
diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c
index db855a3f51..fd9c1e83ca 100644
--- a/sunrpc/svc_tcp.c
+++ b/sunrpc/svc_tcp.c
@@ -64,6 +64,7 @@
 
 #include <wchar.h>
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
 
 /*
  * Ops vector for TCP/IP based rpc service handle
diff --git a/sunrpc/svc_udp.c b/sunrpc/svc_udp.c
index 5f6219f91c..1592bcca9e 100644
--- a/sunrpc/svc_udp.c
+++ b/sunrpc/svc_udp.c
@@ -64,6 +64,7 @@
 
 #include <wchar.h>
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
 
 #define rpc_buffer(xprt) ((xprt)->xp_p1)
 #ifndef MAX
diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c
index 47f1f8487d..a8da3b2262 100644
--- a/sunrpc/svc_unix.c
+++ b/sunrpc/svc_unix.c
@@ -64,6 +64,7 @@
 #include <stdlib.h>
 #include <libintl.h>
 #include <wchar.h>
+#include <shlib-compat.h>
 
 /*
  * Ops vector for AF_UNIX based rpc service handle
diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c
index a0f961db12..8e6cb86e39 100644
--- a/sunrpc/svcauth_des.c
+++ b/sunrpc/svcauth_des.c
@@ -53,6 +53,7 @@
 #include <rpc/svc_auth.h>
 #include <rpc/svc.h>
 #include <rpc/des_crypt.h>
+#include <shlib-compat.h>
 
 #define debug(msg)		/*printf("svcauth_des: %s\n", msg) */
 
diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c
index bfabf337c7..8b0b91995b 100644
--- a/sunrpc/xdr.c
+++ b/sunrpc/xdr.c
@@ -44,6 +44,7 @@
 
 #include <rpc/types.h>
 #include <rpc/xdr.h>
+#include <shlib-compat.h>
 
 
 /*
diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c
index 99a1d5d245..18383d437e 100644
--- a/sunrpc/xdr_array.c
+++ b/sunrpc/xdr_array.c
@@ -41,6 +41,7 @@
 #include <libintl.h>
 #include <limits.h>
 #include <wchar.h>
+#include <shlib-compat.h>
 
 #define LASTUNSIGNED	((u_int)0-1)
 
diff --git a/sunrpc/xdr_float.c b/sunrpc/xdr_float.c
index 4ce8ae7a9c..844a96e56e 100644
--- a/sunrpc/xdr_float.c
+++ b/sunrpc/xdr_float.c
@@ -40,6 +40,7 @@
 
 #include <rpc/types.h>
 #include <rpc/xdr.h>
+#include <shlib-compat.h>
 
 /*
  * NB: Not portable.
diff --git a/sunrpc/xdr_intXX_t.c b/sunrpc/xdr_intXX_t.c
index 1eb7d03901..4fd9ada687 100644
--- a/sunrpc/xdr_intXX_t.c
+++ b/sunrpc/xdr_intXX_t.c
@@ -22,6 +22,7 @@
 #include <rpc/xdr.h>
 
 #include <stdint.h>
+#include <shlib-compat.h>
 
 /* XDR 64bit integers */
 bool_t
diff --git a/sunrpc/xdr_mem.c b/sunrpc/xdr_mem.c
index 8b98589594..46a1f6f190 100644
--- a/sunrpc/xdr_mem.c
+++ b/sunrpc/xdr_mem.c
@@ -38,6 +38,7 @@
 #include <string.h>
 #include <limits.h>
 #include <rpc/rpc.h>
+#include <shlib-compat.h>
 
 static bool_t xdrmem_getlong (XDR *, long *);
 static bool_t xdrmem_putlong (XDR *, const long *);
diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c
index 9d79ace4b7..fafa591c7c 100644
--- a/sunrpc/xdr_rec.c
+++ b/sunrpc/xdr_rec.c
@@ -50,6 +50,7 @@
 #include <libintl.h>
 #include <wchar.h>
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
 
 static bool_t xdrrec_getlong (XDR *, long *);
 static bool_t xdrrec_putlong (XDR *, const long *);
diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c
index 2b7ebc8e11..eab3b74227 100644
--- a/sunrpc/xdr_ref.c
+++ b/sunrpc/xdr_ref.c
@@ -41,6 +41,7 @@
 #include <libintl.h>
 #include <wchar.h>
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
 
 #define LASTUNSIGNED	((u_int)0-1)
 
diff --git a/sunrpc/xdr_sizeof.c b/sunrpc/xdr_sizeof.c
index 56e870a455..1592406d64 100644
--- a/sunrpc/xdr_sizeof.c
+++ b/sunrpc/xdr_sizeof.c
@@ -38,6 +38,7 @@
 #include <rpc/xdr.h>
 #include <sys/types.h>
 #include <stdlib.h>
+#include <shlib-compat.h>
 
 /* ARGSUSED */
 static bool_t
diff --git a/sunrpc/xdr_stdio.c b/sunrpc/xdr_stdio.c
index faa646d29a..6ab514b664 100644
--- a/sunrpc/xdr_stdio.c
+++ b/sunrpc/xdr_stdio.c
@@ -40,6 +40,8 @@
 #include <rpc/xdr.h>
 
 #include <libio/iolibio.h>
+#include <shlib-compat.h>
+
 #define fflush(s) _IO_fflush (s)
 #define fread(p, m, n, s) _IO_fread (p, m, n, s)
 #define ftell(s) _IO_ftell (s)