summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--include/shlib-compat.h10
-rw-r--r--sunrpc/svc_simple.c5
-rw-r--r--sunrpc/xcrypt.c3
4 files changed, 20 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a3be3117d..721c791513 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2012-05-21 Andreas Jaeger <aj@suse.de>
+ * include/shlib-compat.h (libc_sunrpc_symbol): New macro.
+ * sunrpc/svc_simple.c: Use it for registerrpc.
+ * sunrpc/xcrypt.c: Use it for passwd2des.
+
* malloc/malloc.c: Include shlib-compat.h for SHLIB_COMPAT.
2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
diff --git a/include/shlib-compat.h b/include/shlib-compat.h
index 19f1041b05..912f5423e5 100644
--- a/include/shlib-compat.h
+++ b/include/shlib-compat.h
@@ -91,4 +91,14 @@
#endif
+# ifdef LINK_OBSOLETE_RPC
+/* Export the symbol for both static and dynamic linking. */
+# define libc_sunrpc_symbol(name, aliasname, version) \
+ strong_alias (name, aliasname)
+# else
+/* Export the symbol only for shared-library compatibility. */
+# define libc_sunrpc_symbol(name, aliasname, version) \
+ compat_symbol (libc, name, aliasname, version);
+# endif
+
#endif /* shlib-compat.h */
diff --git a/sunrpc/svc_simple.c b/sunrpc/svc_simple.c
index b8ba4ab387..baa177eec0 100644
--- a/sunrpc/svc_simple.c
+++ b/sunrpc/svc_simple.c
@@ -43,6 +43,7 @@
#include <wchar.h>
#include <libio/iolibio.h>
+#include <shlib-compat.h>
struct proglst_
{
@@ -121,7 +122,9 @@ __registerrpc (u_long prognum, u_long versnum, u_long procnum,
free (buf);
return -1;
}
-compat_symbol (libc, __registerrpc, registerrpc, GLIBC_2_0);
+
+libc_sunrpc_symbol (__registerrpc, registerrpc, GLIBC_2_0)
+
static void
universal (struct svc_req *rqstp, SVCXPRT *transp_l)
diff --git a/sunrpc/xcrypt.c b/sunrpc/xcrypt.c
index 2e53f2d9e9..da7c4e66b9 100644
--- a/sunrpc/xcrypt.c
+++ b/sunrpc/xcrypt.c
@@ -47,6 +47,7 @@ static char sccsid[] = "@(#)xcrypt.c 1.3 89/03/24 Copyr 1986 Sun Micro";
#include <string.h>
#include <sys/types.h>
#include <rpc/des_crypt.h>
+#include <shlib-compat.h>
static const char hex[16] =
{
@@ -89,7 +90,7 @@ passwd2des_internal (char *pw, char *key)
#ifdef _LIBC
libc_hidden_def (passwd2des_internal)
-compat_symbol (libc, passwd2des_internal, passwd2des, GLIBC_2_1);
+libc_sunrpc_symbol(passwd2des_internal, passwd2des, GLIBC_2_1)
#else
void passwd2des (char *pw, char *key)
{