Fix sunrpc static library
authorAndreas Jaeger <jaegerandi@gmail.com>
Mon, 21 May 2012 19:34:05 +0000 (21:34 +0200)
committerAndreas Jaeger <jaegerandi@gmail.com>
Mon, 21 May 2012 19:34:54 +0000 (21:34 +0200)
* include/shlib-compat.h (libc_sunrpc_symbol): New macro.
* sunrpc/svc_simple.c: Use it for registerrpc.
* sunrpc/xcrypt.c: Use it for passwd2des.

ChangeLog
include/shlib-compat.h
sunrpc/svc_simple.c
sunrpc/xcrypt.c

index 3a3be3117d5ad9de2f327befa6069524b8bbc50b..721c79151336f04ba3864910412f16c41f8fad0f 100644 (file)
--- 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>
index 19f1041b0549692a266e8a781082b97f1caff976..912f5423e57ac6ee0fdf99d19709a7f457261b8d 100644 (file)
 #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 */
index b8ba4ab387b2c236115a98aca71e345edd71b237..baa177eec0f1fea3306e056033be29cee42fe132 100644 (file)
@@ -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)
index 2e53f2d9e99bf806a725ec1e42dc3e6e53d69079..da7c4e66b9c97aca8ab4b970d46d876da47a0c0f 100644 (file)
@@ -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)
 {