aboutsummaryrefslogtreecommitdiff
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
parent363911ce1313a246b7d33f0983a09e7ab2525b3a (diff)
downloadglibc-82f43dd2d11b5705ed5680f579f265781387a12d.zip
glibc-82f43dd2d11b5705ed5680f579f265781387a12d.tar.gz
glibc-82f43dd2d11b5705ed5680f579f265781387a12d.tar.bz2
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.
-rw-r--r--nis/nis_add.c1
-rw-r--r--nis/nis_addmember.c1
-rw-r--r--nis/nis_call.c1
-rw-r--r--nis/nis_checkpoint.c1
-rw-r--r--nis/nis_clone_dir.c1
-rw-r--r--nis/nis_clone_obj.c1
-rw-r--r--nis/nis_clone_res.c1
-rw-r--r--nis/nis_creategroup.c1
-rw-r--r--nis/nis_defaults.c1
-rw-r--r--nis/nis_destroygroup.c1
-rw-r--r--nis/nis_domain_of.c1
-rw-r--r--nis/nis_domain_of_r.c1
-rw-r--r--nis/nis_error.c1
-rw-r--r--nis/nis_file.c1
-rw-r--r--nis/nis_free.c1
-rw-r--r--nis/nis_getservlist.c1
-rw-r--r--nis/nis_ismember.c1
-rw-r--r--nis/nis_local_names.c1
-rw-r--r--nis/nis_lookup.c1
-rw-r--r--nis/nis_mkdir.c1
-rw-r--r--nis/nis_modify.c1
-rw-r--r--nis/nis_ping.c1
-rw-r--r--nis/nis_print.c1
-rw-r--r--nis/nis_print_group_entry.c1
-rw-r--r--nis/nis_remove.c1
-rw-r--r--nis/nis_removemember.c1
-rw-r--r--nis/nis_rmdir.c1
-rw-r--r--nis/nis_server.c1
-rw-r--r--nis/nis_subr.c1
-rw-r--r--nis/nis_table.c1
-rw-r--r--nis/nis_util.c1
-rw-r--r--nis/nis_verifygroup.c1
-rw-r--r--nis/nis_xdr.c1
-rw-r--r--nis/yp_xdr.c1
-rw-r--r--nis/ypclnt.c1
-rw-r--r--nis/ypupdate_xdr.c1
-rw-r--r--resolv/res_libc.c5
-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
84 files changed, 89 insertions, 10 deletions
diff --git a/nis/nis_add.c b/nis/nis_add.c
index 3ec49c0..a440252 100644
--- a/nis/nis_add.c
+++ b/nis/nis_add.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_addmember.c b/nis/nis_addmember.c
index 6b0c295..d2c47ab 100644
--- a/nis/nis_addmember.c
+++ b/nis/nis_addmember.c
@@ -19,6 +19,7 @@
#include <assert.h>
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_error
nis_addmember (const_nis_name member, const_nis_name group)
diff --git a/nis/nis_call.c b/nis/nis_call.c
index 03b15de..d4f37bf 100644
--- a/nis/nis_call.c
+++ b/nis/nis_call.c
@@ -33,6 +33,7 @@
#include "nis_xdr.h"
#include "nis_intern.h"
#include <libnsl.h>
+#include <shlib-compat.h>
static const struct timeval RPCTIMEOUT = {10, 0};
static const struct timeval UDPTIMEOUT = {5, 0};
diff --git a/nis/nis_checkpoint.c b/nis/nis_checkpoint.c
index 06656a4..f148af4 100644
--- a/nis/nis_checkpoint.c
+++ b/nis/nis_checkpoint.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_clone_dir.c b/nis/nis_clone_dir.c
index 41e2f77..982f475 100644
--- a/nis/nis_clone_dir.c
+++ b/nis/nis_clone_dir.c
@@ -19,6 +19,7 @@
#include <string.h>
#include <rpc/rpc.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
diff --git a/nis/nis_clone_obj.c b/nis/nis_clone_obj.c
index 7299e11..1d7e2e3 100644
--- a/nis/nis_clone_obj.c
+++ b/nis/nis_clone_obj.c
@@ -19,6 +19,7 @@
#include <string.h>
#include <rpc/rpc.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
diff --git a/nis/nis_clone_res.c b/nis/nis_clone_res.c
index ca99834..db77165 100644
--- a/nis/nis_clone_res.c
+++ b/nis/nis_clone_res.c
@@ -19,6 +19,7 @@
#include <string.h>
#include <rpc/rpc.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
diff --git a/nis/nis_creategroup.c b/nis/nis_creategroup.c
index 6d5a08d..1d7e058 100644
--- a/nis/nis_creategroup.c
+++ b/nis/nis_creategroup.c
@@ -19,6 +19,7 @@
#include <time.h>
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_error
nis_creategroup (const_nis_name group, unsigned int flags)
diff --git a/nis/nis_defaults.c b/nis/nis_defaults.c
index 7e6054d..1188a81 100644
--- a/nis/nis_defaults.c
+++ b/nis/nis_defaults.c
@@ -24,6 +24,7 @@
#include <sys/types.h>
#include <rpc/rpc.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#define DEFAULT_TTL 43200
diff --git a/nis/nis_destroygroup.c b/nis/nis_destroygroup.c
index 662d658..fbcd5ef 100644
--- a/nis/nis_destroygroup.c
+++ b/nis/nis_destroygroup.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_error
nis_destroygroup (const_nis_name group)
diff --git a/nis/nis_domain_of.c b/nis/nis_domain_of.c
index 6e2025c..68d958f 100644
--- a/nis/nis_domain_of.c
+++ b/nis/nis_domain_of.c
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_name
nis_domain_of (const_nis_name name)
diff --git a/nis/nis_domain_of_r.c b/nis/nis_domain_of_r.c
index 57f99a2..9711eca 100644
--- a/nis/nis_domain_of_r.c
+++ b/nis/nis_domain_of_r.c
@@ -19,6 +19,7 @@
#include <errno.h>
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_name
nis_domain_of_r (const_nis_name name, char *buffer, size_t buflen)
diff --git a/nis/nis_error.c b/nis/nis_error.c
index e55d784..32b2a10 100644
--- a/nis/nis_error.c
+++ b/nis/nis_error.c
@@ -21,6 +21,7 @@
#include <string.h>
#include <libintl.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#define MF(line) MF1 (line)
diff --git a/nis/nis_file.c b/nis/nis_file.c
index c3c6c57..d6c1d14 100644
--- a/nis/nis_file.c
+++ b/nis/nis_file.c
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
typedef bool_t (*iofct_t) (XDR *, void *);
diff --git a/nis/nis_free.c b/nis/nis_free.c
index 2b1580e..1d3298f 100644
--- a/nis/nis_free.c
+++ b/nis/nis_free.c
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
void
diff --git a/nis/nis_getservlist.c b/nis/nis_getservlist.c
index 1f9482c..fba18c7 100644
--- a/nis/nis_getservlist.c
+++ b/nis/nis_getservlist.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_ismember.c b/nis/nis_ismember.c
index 0006d6f..5aba336 100644
--- a/nis/nis_ismember.c
+++ b/nis/nis_ismember.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
/* internal_nis_ismember ()
return codes: -1 principal is in -group
diff --git a/nis/nis_local_names.c b/nis/nis_local_names.c
index 090125d..99d8f99 100644
--- a/nis/nis_local_names.c
+++ b/nis/nis_local_names.c
@@ -21,6 +21,7 @@
#include <unistd.h>
#include <libintl.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_name
nis_local_group (void)
diff --git a/nis/nis_lookup.c b/nis/nis_lookup.c
index 2b953cf..f6d84ab 100644
--- a/nis/nis_lookup.c
+++ b/nis/nis_lookup.c
@@ -21,6 +21,7 @@
#include "nis_xdr.h"
#include "nis_intern.h"
#include <libnsl.h>
+#include <shlib-compat.h>
nis_result *
diff --git a/nis/nis_mkdir.c b/nis/nis_mkdir.c
index bea7d18..da6690c 100644
--- a/nis/nis_mkdir.c
+++ b/nis/nis_mkdir.c
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_modify.c b/nis/nis_modify.c
index 18d1bd1..6731516 100644
--- a/nis/nis_modify.c
+++ b/nis/nis_modify.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_ping.c b/nis/nis_ping.c
index 1924336..b744898 100644
--- a/nis/nis_ping.c
+++ b/nis/nis_ping.c
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_print.c b/nis/nis_print.c
index 0ee4902..869f6aa 100644
--- a/nis/nis_print.c
+++ b/nis/nis_print.c
@@ -22,6 +22,7 @@
#include <stdint.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
static const char *
nis_nstype2str (const nstype type)
diff --git a/nis/nis_print_group_entry.c b/nis/nis_print_group_entry.c
index 1f2766e..3a717e7 100644
--- a/nis/nis_print_group_entry.c
+++ b/nis/nis_print_group_entry.c
@@ -20,6 +20,7 @@
#include <string.h>
#include <libintl.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
void
nis_print_group_entry (const_nis_name group)
diff --git a/nis/nis_remove.c b/nis/nis_remove.c
index 4cfc5c5..87c5397 100644
--- a/nis/nis_remove.c
+++ b/nis/nis_remove.c
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_removemember.c b/nis/nis_removemember.c
index 04a05ca..af9e2a8 100644
--- a/nis/nis_removemember.c
+++ b/nis/nis_removemember.c
@@ -19,6 +19,7 @@
#include <assert.h>
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_error
nis_removemember (const_nis_name member, const_nis_name group)
diff --git a/nis/nis_rmdir.c b/nis/nis_rmdir.c
index a0c7380..53a0509 100644
--- a/nis/nis_rmdir.c
+++ b/nis/nis_rmdir.c
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_server.c b/nis/nis_server.c
index 2fb16ba..6385772 100644
--- a/nis/nis_server.c
+++ b/nis/nis_server.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_subr.c b/nis/nis_subr.c
index 5c31af8..5d93e77 100644
--- a/nis/nis_subr.c
+++ b/nis/nis_subr.c
@@ -19,6 +19,7 @@
#include <errno.h>
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_name
nis_leaf_of (const_nis_name name)
diff --git a/nis/nis_table.c b/nis/nis_table.c
index bec41f0..88eb679 100644
--- a/nis/nis_table.c
+++ b/nis/nis_table.c
@@ -20,6 +20,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
#include <libc-diag.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_util.c b/nis/nis_util.c
index 681280e..fcb7120 100644
--- a/nis/nis_util.c
+++ b/nis/nis_util.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
#include "nis_xdr.h"
#include "nis_intern.h"
diff --git a/nis/nis_verifygroup.c b/nis/nis_verifygroup.c
index 2945959..4fb2cc5 100644
--- a/nis/nis_verifygroup.c
+++ b/nis/nis_verifygroup.c
@@ -18,6 +18,7 @@
#include <string.h>
#include <rpcsvc/nis.h>
+#include <shlib-compat.h>
nis_error
nis_verifygroup (const_nis_name group)
diff --git a/nis/nis_xdr.c b/nis/nis_xdr.c
index a7b3f8c..3217dc5 100644
--- a/nis/nis_xdr.c
+++ b/nis/nis_xdr.c
@@ -19,6 +19,7 @@
#include <stdint.h>
#include <rpcsvc/nis.h>
#include <rpcsvc/nis_callback.h> /* for "official" Solaris xdr functions */
+#include <shlib-compat.h>
/* This functions do exist without beginning "_" under Solaris 2.x, but
we have no prototypes for them. To avoid the same problems as with the
diff --git a/nis/yp_xdr.c b/nis/yp_xdr.c
index 3d8b0bf..0081b4c 100644
--- a/nis/yp_xdr.c
+++ b/nis/yp_xdr.c
@@ -31,6 +31,7 @@
#include <rpcsvc/yp.h>
#include <rpcsvc/ypclnt.h>
+#include <shlib-compat.h>
/* The NIS v2 protocol suggests 1024 bytes as a maximum length of all fields.
Current Linux systems don't use this limit. To remain compatible with
diff --git a/nis/ypclnt.c b/nis/ypclnt.c
index 3c4af2e..a03e347 100644
--- a/nis/ypclnt.c
+++ b/nis/ypclnt.c
@@ -29,6 +29,7 @@
#include <sys/socket.h>
#include <sys/uio.h>
#include <libc-lock.h>
+#include <shlib-compat.h>
/* This should only be defined on systems with a BSD compatible ypbind */
#ifndef BINDINGDIR
diff --git a/nis/ypupdate_xdr.c b/nis/ypupdate_xdr.c
index 61d8880..bbfb2fb 100644
--- a/nis/ypupdate_xdr.c
+++ b/nis/ypupdate_xdr.c
@@ -30,6 +30,7 @@
*/
#include <rpcsvc/ypupd.h>
+#include <shlib-compat.h>
bool_t
xdr_yp_buf (XDR *xdrs, yp_buf *objp)
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index c52574f..c8f158d 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -127,15 +127,14 @@ __thread struct __res_state *__resp = &_res;
extern __thread struct __res_state *__libc_resp
__attribute__ ((alias ("__resp"))) attribute_hidden;
+#include <shlib-compat.h>
+
/* We declare this with compat_symbol so that it's not
visible at link time. Programs must use the accessor functions. */
#ifdef SHARED
-# include <shlib-compat.h>
compat_symbol (libc, _res, _res, GLIBC_2_0);
#endif
-#include <shlib-compat.h>
-
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2)
# undef res_init
extern int __res_init_weak (void);
diff --git a/sunrpc/auth_des.c b/sunrpc/auth_des.c
index b299c45..42d6b55 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 3f8d52b..b1effb7 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 68b42d7..b71612c 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 164c122..93b7cfc 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 d37faee..14fe9f5 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 8dffaa9..542f85d 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 b4f84c9..f682243 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 a149bf4..d62a11a 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 0ecb64c..bdf6322 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 9bcd912..e311b35 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 6ce16eb..df21e28 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 1b8c179..8591be5 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 22a34b7..a4d8b29 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 cddef5d..f884f8f 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 24407b5..df334e4 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 a0d9a2a..b871c04 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 2899c9a..3659bab 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 c694311..9aee3e4 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 6f7ad10..88c44f0 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 000a01f..54d2e43 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 5d7d185..69b4907 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 0919d09..d8d75a7 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 01f158d..c414db0 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 e54fe14..c036d88 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 5209f7b..ca6e430 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 62d95fc..ec8cc6c 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 81ddf8f..7fe48e1 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 f47c6be..46582f2 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 e5225c5..ccbf9bb 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 d224624..e3cffe2 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 03f9630..f713e2e 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 f33bda2..5bca955 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 99bfdfe..4787203 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 90dfc94..e563707 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 db855a3..fd9c1e8 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 5f6219f..1592bcc 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 47f1f84..a8da3b2 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 a0f961d..8e6cb86 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 bfabf33..8b0b919 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 99a1d5d..18383d4 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 4ce8ae7..844a96e 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 1eb7d03..4fd9ada 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 8b98589..46a1f6f 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 9d79ace..fafa591 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 2b7ebc8..eab3b74 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 56e870a..1592406 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 faa646d..6ab514b 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)