From a037da67c614f7fb5549725c511a1cc0bfeb24a9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 9 Jun 2016 11:48:16 +0200 Subject: XDR(3): Port to RTEMS --- freebsd/lib/libc/xdr/rpc_com.h | 1 + freebsd/lib/libc/xdr/xdr.c | 8 +++----- freebsd/lib/libc/xdr/xdr_float.c | 3 +++ freebsd/lib/libc/xdr/xdr_rec.c | 2 +- libbsd.py | 8 ++++++++ libbsd_waf.py | 8 ++++++++ 6 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 freebsd/lib/libc/xdr/rpc_com.h diff --git a/freebsd/lib/libc/xdr/rpc_com.h b/freebsd/lib/libc/xdr/rpc_com.h new file mode 100644 index 00000000..7f6b4bf0 --- /dev/null +++ b/freebsd/lib/libc/xdr/rpc_com.h @@ -0,0 +1 @@ +#include "../rpc/rpc_com.h" diff --git a/freebsd/lib/libc/xdr/xdr.c b/freebsd/lib/libc/xdr/xdr.c index ccb8d107..561f179b 100644 --- a/freebsd/lib/libc/xdr/xdr.c +++ b/freebsd/lib/libc/xdr/xdr.c @@ -522,16 +522,14 @@ xdr_enum(xdrs, ep) XDR *xdrs; enum_t *ep; { - enum sizecheck { SIZEVAL }; /* used to find the size of an enum */ - /* * enums are treated as ints */ - /* LINTED */ if (sizeof (enum sizecheck) == sizeof (long)) { + /* LINTED */ if (sizeof (enum_t) == sizeof (long)) { return (xdr_long(xdrs, (long *)(void *)ep)); - } else /* LINTED */ if (sizeof (enum sizecheck) == sizeof (int)) { + } else /* LINTED */ if (sizeof (enum_t) == sizeof (int)) { return (xdr_int(xdrs, (int *)(void *)ep)); - } else /* LINTED */ if (sizeof (enum sizecheck) == sizeof (short)) { + } else /* LINTED */ if (sizeof (enum_t) == sizeof (short)) { return (xdr_short(xdrs, (short *)(void *)ep)); } else { return (FALSE); diff --git a/freebsd/lib/libc/xdr/xdr_float.c b/freebsd/lib/libc/xdr/xdr_float.c index e1db120d..4ff153b3 100644 --- a/freebsd/lib/libc/xdr/xdr_float.c +++ b/freebsd/lib/libc/xdr/xdr_float.c @@ -69,6 +69,9 @@ __FBSDID("$FreeBSD$"); defined(__arm26__) || defined(__sparc64__) || defined(__amd64__) #include #define IEEEFP +#else /* __rtems__ */ +#include +#define IEEEFP #endif #if defined(__vax__) diff --git a/freebsd/lib/libc/xdr/xdr_rec.c b/freebsd/lib/libc/xdr/xdr_rec.c index 03d19925..a204b44b 100644 --- a/freebsd/lib/libc/xdr/xdr_rec.c +++ b/freebsd/lib/libc/xdr/xdr_rec.c @@ -513,7 +513,7 @@ xdrrec_eof(xdrs) bool_t xdrrec_endofrecord(xdrs, sendnow) XDR *xdrs; - bool_t sendnow; + int sendnow; { RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private); u_long len; /* fragment length */ diff --git a/libbsd.py b/libbsd.py index 5f21bf40..e7c7d066 100755 --- a/libbsd.py +++ b/libbsd.py @@ -2033,6 +2033,14 @@ def user_space(mm): 'lib/libc/stdlib/strtonum.c', 'lib/libc/stdlib/strtoumax.c', 'lib/libc/string/strsep.c', + 'lib/libc/xdr/xdr_array.c', + 'lib/libc/xdr/xdr.c', + 'lib/libc/xdr/xdr_float.c', + 'lib/libc/xdr/xdr_mem.c', + 'lib/libc/xdr/xdr_rec.c', + 'lib/libc/xdr/xdr_reference.c', + 'lib/libc/xdr/xdr_sizeof.c', + 'lib/libc/xdr/xdr_stdio.c', 'lib/libipsec/ipsec_dump_policy.c', 'lib/libipsec/ipsec_get_policylen.c', 'lib/libipsec/ipsec_strerror.c', diff --git a/libbsd_waf.py b/libbsd_waf.py index 64a68108..b751c9f5 100644 --- a/libbsd_waf.py +++ b/libbsd_waf.py @@ -342,6 +342,14 @@ def build(bld): 'freebsd/lib/libc/stdlib/strtonum.c', 'freebsd/lib/libc/stdlib/strtoumax.c', 'freebsd/lib/libc/string/strsep.c', + 'freebsd/lib/libc/xdr/xdr.c', + 'freebsd/lib/libc/xdr/xdr_array.c', + 'freebsd/lib/libc/xdr/xdr_float.c', + 'freebsd/lib/libc/xdr/xdr_mem.c', + 'freebsd/lib/libc/xdr/xdr_rec.c', + 'freebsd/lib/libc/xdr/xdr_reference.c', + 'freebsd/lib/libc/xdr/xdr_sizeof.c', + 'freebsd/lib/libc/xdr/xdr_stdio.c', 'freebsd/lib/libipsec/ipsec_dump_policy.c', 'freebsd/lib/libipsec/ipsec_get_policylen.c', 'freebsd/lib/libipsec/ipsec_strerror.c', -- cgit v1.2.3