librpc: fix compile errors with musl
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41400
This commit is contained in:
parent
0a30b910e4
commit
07304f4732
1 changed files with 330 additions and 0 deletions
330
package/libs/librpc/patches/110-musl_fixes.patch
Normal file
330
package/libs/librpc/patches/110-musl_fixes.patch
Normal file
|
@ -0,0 +1,330 @@
|
|||
--- a/rpc/types.h
|
||||
+++ b/rpc/types.h
|
||||
@@ -79,22 +79,6 @@ typedef unsigned long rpcport_t;
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
-#ifndef __u_char_defined
|
||||
-typedef __u_char u_char;
|
||||
-typedef __u_short u_short;
|
||||
-typedef __u_int u_int;
|
||||
-typedef __u_long u_long;
|
||||
-typedef __quad_t quad_t;
|
||||
-typedef __u_quad_t u_quad_t;
|
||||
-typedef __fsid_t fsid_t;
|
||||
-# define __u_char_defined
|
||||
-#endif
|
||||
-#ifndef __daddr_t_defined
|
||||
-typedef __daddr_t daddr_t;
|
||||
-typedef __caddr_t caddr_t;
|
||||
-# define __daddr_t_defined
|
||||
-#endif
|
||||
-
|
||||
#include <sys/time.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
--- a/bindresvport.c
|
||||
+++ b/bindresvport.c
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
+#include <netdb.h>
|
||||
|
||||
|
||||
/*
|
||||
--- a/rpc/netdb.h
|
||||
+++ b/rpc/netdb.h
|
||||
@@ -37,12 +37,17 @@
|
||||
#define _RPC_NETDB_H 1
|
||||
|
||||
#include <features.h>
|
||||
+#include <netdb.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#include "types.h"
|
||||
|
||||
+#ifndef NETDB_INTERNAL
|
||||
+#define NETDB_INTERNAL -1
|
||||
+#endif
|
||||
+
|
||||
__BEGIN_DECLS
|
||||
|
||||
struct rpcent
|
||||
--- a/create_xid.c
|
||||
+++ b/create_xid.c
|
||||
@@ -31,7 +31,6 @@
|
||||
__UCLIBC_MUTEX_STATIC(mylock, PTHREAD_MUTEX_INITIALIZER);
|
||||
|
||||
static smallint is_initialized;
|
||||
-static struct drand48_data __rpc_lrand48_data;
|
||||
|
||||
u_long _create_xid (void) attribute_hidden;
|
||||
u_long _create_xid (void)
|
||||
@@ -45,11 +44,11 @@ u_long _create_xid (void)
|
||||
struct timeval now;
|
||||
|
||||
gettimeofday (&now, (struct timezone *) 0);
|
||||
- srand48_r (now.tv_sec ^ now.tv_usec, &__rpc_lrand48_data);
|
||||
+ srand48 (now.tv_sec ^ now.tv_usec);
|
||||
is_initialized = 1;
|
||||
}
|
||||
|
||||
- lrand48_r (&__rpc_lrand48_data, &res);
|
||||
+ res = lrand48();
|
||||
|
||||
__UCLIBC_MUTEX_UNLOCK(mylock);
|
||||
|
||||
--- a/clnt_tcp.c
|
||||
+++ b/clnt_tcp.c
|
||||
@@ -58,7 +58,7 @@ static char sccsid[] = "@(#)clnt_tcp.c 1
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <rpc/rpc.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <rpc/pmap_clnt.h>
|
||||
#ifdef USE_IN_LIBIO
|
||||
--- a/clnt_udp.c
|
||||
+++ b/clnt_udp.c
|
||||
@@ -45,7 +45,7 @@ static char sccsid[] = "@(#)clnt_udp.c 1
|
||||
#include <rpc/rpc.h>
|
||||
#include <rpc/xdr.h>
|
||||
#include <rpc/clnt.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <netdb.h>
|
||||
--- a/clnt_unix.c
|
||||
+++ b/clnt_unix.c
|
||||
@@ -55,7 +55,7 @@
|
||||
#include <unistd.h>
|
||||
#include <rpc/rpc.h>
|
||||
#include <sys/uio.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <rpc/pmap_clnt.h>
|
||||
#ifdef USE_IN_LIBIO
|
||||
--- a/pmap_rmt.c
|
||||
+++ b/pmap_rmt.c
|
||||
@@ -48,7 +48,7 @@ static char sccsid[] = "@(#)pmap_rmt.c 1
|
||||
#include <rpc/pmap_prot.h>
|
||||
#include <rpc/pmap_clnt.h>
|
||||
#include <rpc/pmap_rmt.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
--- a/rcmd.c
|
||||
+++ b/rcmd.c
|
||||
@@ -62,9 +62,10 @@ static char sccsid[] = "@(#)rcmd.c 8.3 (
|
||||
#define __UCLIBC_HIDE_DEPRECATED__
|
||||
#include <features.h>
|
||||
#include <sys/param.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
@@ -86,6 +87,11 @@ static char sccsid[] = "@(#)rcmd.c 8.3 (
|
||||
#endif
|
||||
#include <sys/uio.h>
|
||||
|
||||
+#ifndef _PATH_HEQUIV
|
||||
+#define _PATH_HEQUIV "/etc/hosts.equiv"
|
||||
+#endif
|
||||
+
|
||||
+int rresvport(int *alport);
|
||||
|
||||
/* some forward declarations */
|
||||
static int __ivaliduser2(FILE *hostf, u_int32_t raddr,
|
||||
@@ -106,7 +112,7 @@ int rcmd(char **ahost, u_short rport, co
|
||||
struct hostent *hp;
|
||||
struct sockaddr_in sin, from;
|
||||
struct pollfd pfd[2];
|
||||
- int32_t oldmask;
|
||||
+ sigset_t sig, osig;
|
||||
pid_t pid;
|
||||
int s, lport, timo;
|
||||
char c;
|
||||
@@ -145,7 +151,9 @@ int rcmd(char **ahost, u_short rport, co
|
||||
pfd[1].events = POLLIN;
|
||||
|
||||
*ahost = hp->h_name;
|
||||
- oldmask = sigblock(sigmask(SIGURG)); /* __sigblock */
|
||||
+ sigemptyset(&sig);
|
||||
+ sigaddset(&sig, SIGURG);
|
||||
+ sigprocmask(SIG_BLOCK, &sig, &osig);
|
||||
for (timo = 1, lport = IPPORT_RESERVED - 1;;) {
|
||||
s = rresvport(&lport);
|
||||
if (s < 0) {
|
||||
@@ -154,7 +162,7 @@ int rcmd(char **ahost, u_short rport, co
|
||||
"rcmd: socket: All ports in use\n");
|
||||
else
|
||||
(void)fprintf(stderr, "rcmd: socket: %m\n");
|
||||
- sigsetmask(oldmask); /* sigsetmask */
|
||||
+ sigprocmask(SIG_SETMASK, &osig, NULL);
|
||||
return -1;
|
||||
}
|
||||
fcntl(s, F_SETOWN, pid);
|
||||
@@ -189,7 +197,7 @@ int rcmd(char **ahost, u_short rport, co
|
||||
continue;
|
||||
}
|
||||
(void)fprintf(stderr, "%s: %m\n", hp->h_name);
|
||||
- sigsetmask(oldmask); /* __sigsetmask */
|
||||
+ sigprocmask(SIG_SETMASK, &osig, NULL);
|
||||
return -1;
|
||||
}
|
||||
lport--;
|
||||
@@ -256,14 +264,14 @@ int rcmd(char **ahost, u_short rport, co
|
||||
}
|
||||
goto bad2;
|
||||
}
|
||||
- sigsetmask(oldmask);
|
||||
+ sigprocmask(SIG_SETMASK, &osig, NULL);
|
||||
return s;
|
||||
bad2:
|
||||
if (lport)
|
||||
(void)close(*fd2p);
|
||||
bad:
|
||||
(void)close(s);
|
||||
- sigsetmask(oldmask);
|
||||
+ sigprocmask(SIG_SETMASK, &osig, NULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
--- a/rpc/compat.h
|
||||
+++ b/rpc/compat.h
|
||||
@@ -11,7 +11,7 @@
|
||||
#define __UCLIBC_HAS_THREADS__
|
||||
#endif
|
||||
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#ifdef __UCLIBC__
|
||||
--- a/rpc_commondata.c
|
||||
+++ b/rpc_commondata.c
|
||||
@@ -27,7 +27,7 @@
|
||||
* Mountain View, California 94043
|
||||
*/
|
||||
#include <rpc/rpc.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/select.h>
|
||||
|
||||
#undef svc_fdset
|
||||
--- a/rtime.c
|
||||
+++ b/rtime.c
|
||||
@@ -51,13 +51,16 @@ static char sccsid[] = "@(#)rtime.c 2.2
|
||||
#include <rpc/rpc.h>
|
||||
#include <rpc/clnt.h>
|
||||
#include <sys/types.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/time.h>
|
||||
#include <rpc/auth_des.h>
|
||||
#include <errno.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
+#ifndef IPPORT_TIMESERVER
|
||||
+#define IPPORT_TIMESERVER 37
|
||||
+#endif
|
||||
|
||||
#define NYEARS (u_long)(1970 - 1900)
|
||||
#define TOFFSET (u_long)(60*60*24*(365*NYEARS + (NYEARS/4)))
|
||||
--- a/svc.c
|
||||
+++ b/svc.c
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "rpc_private.h"
|
||||
#include <rpc/svc.h>
|
||||
#include <rpc/pmap_clnt.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
|
||||
/* used by svc_[max_]pollfd */
|
||||
/* used by svc_fdset */
|
||||
--- a/svc_run.c
|
||||
+++ b/svc_run.c
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <rpc/rpc.h>
|
||||
|
||||
/* used by svc_[max_]pollfd */
|
||||
--- a/svc_tcp.c
|
||||
+++ b/svc_tcp.c
|
||||
@@ -49,7 +49,7 @@ static char sccsid[] = "@(#)svc_tcp.c 1.
|
||||
#include <string.h>
|
||||
#include <rpc/rpc.h>
|
||||
#include <sys/socket.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
--- a/svc_unix.c
|
||||
+++ b/svc_unix.c
|
||||
@@ -47,7 +47,7 @@
|
||||
#include <rpc/svc.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/uio.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
--- a/sa_len.c
|
||||
+++ b/sa_len.c
|
||||
@@ -20,9 +20,9 @@
|
||||
#include <features.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <netipx/ipx.h>
|
||||
#include <sys/un.h>
|
||||
#if 0
|
||||
+#include <netipx/ipx.h>
|
||||
#include <netash/ash.h>
|
||||
#include <netatalk/at.h>
|
||||
#include <netax25/ax25.h>
|
||||
@@ -49,13 +49,13 @@ int __libc_sa_len (sa_family_t af)
|
||||
return sizeof (struct sockaddr_rose);
|
||||
case AF_PACKET:
|
||||
return sizeof (struct sockaddr_ll);
|
||||
+ case AF_IPX:
|
||||
+ return sizeof (struct sockaddr_ipx);
|
||||
#endif
|
||||
case AF_INET:
|
||||
return sizeof (struct sockaddr_in);
|
||||
case AF_INET6:
|
||||
return sizeof (struct sockaddr_in6);
|
||||
- case AF_IPX:
|
||||
- return sizeof (struct sockaddr_ipx);
|
||||
case AF_LOCAL:
|
||||
return sizeof (struct sockaddr_un);
|
||||
}
|
||||
--- a/xdr_float.c
|
||||
+++ b/xdr_float.c
|
||||
@@ -55,7 +55,7 @@ static char sccsid[] = "@(#)xdr_float.c
|
||||
* This routine works on Suns (Sky / 68000's) and Vaxen.
|
||||
*/
|
||||
|
||||
-#define LSW (__FLOAT_WORD_ORDER == __BIG_ENDIAN)
|
||||
+#define LSW (__BYTE_ORDER == __BIG_ENDIAN)
|
||||
|
||||
#ifdef vax
|
||||
|
Loading…
Reference in a new issue