summaryrefslogtreecommitdiff
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
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)