[rtems-libbsd commit] XDR(3): Port to RTEMS

Sebastian Huber sebh at rtems.org
Fri Jun 10 12:15:35 UTC 2016


Module:    rtems-libbsd
Branch:    master
Commit:    a037da67c614f7fb5549725c511a1cc0bfeb24a9
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=a037da67c614f7fb5549725c511a1cc0bfeb24a9

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Jun  9 11:48:16 2016 +0200

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(-)

diff --git a/freebsd/lib/libc/xdr/rpc_com.h b/freebsd/lib/libc/xdr/rpc_com.h
new file mode 100644
index 0000000..7f6b4bf
--- /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 ccb8d10..561f179 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 e1db120..4ff153b 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 <machine/endian.h>
 #define IEEEFP
+#else /* __rtems__ */
+#include <machine/endian.h>
+#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 03d1992..a204b44 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 5f21bf4..e7c7d06 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 64a6810..b751c9f 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',



More information about the vc mailing list