[rtems-libbsd commit] Add compatiblity for older Newlib variants

Sebastian Huber sebh at rtems.org
Wed Sep 25 07:24:41 UTC 2019


Module:    rtems-libbsd
Branch:    5-freebsd-12
Commit:    8618727d5161ab9485248f3135a076e9ae5dd964
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=8618727d5161ab9485248f3135a076e9ae5dd964

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Sep 25 09:24:09 2019 +0200

Add compatiblity for older Newlib variants

---

 rtemsbsd/include/machine/rtems-bsd-user-space.h | 36 +++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/rtemsbsd/include/machine/rtems-bsd-user-space.h b/rtemsbsd/include/machine/rtems-bsd-user-space.h
index ac78b72..67326a0 100644
--- a/rtemsbsd/include/machine/rtems-bsd-user-space.h
+++ b/rtemsbsd/include/machine/rtems-bsd-user-space.h
@@ -91,6 +91,42 @@ char *fgetln(FILE *fp, size_t *lenp);
 /* FIXME: Add to Newlib */
 int	feature_present(const char *);
 
+/* FIXME: Remove after Newlib update */
+#ifndef timespecclear
+#define	timespecclear(tvp)	((tvp)->tv_sec = (tvp)->tv_nsec = 0)
+#endif
+#ifndef timespecisset
+#define	timespecisset(tvp)	((tvp)->tv_sec || (tvp)->tv_nsec)
+#endif
+#ifndef timespeccmp
+#define	timespeccmp(tvp, uvp, cmp)					\
+	(((tvp)->tv_sec == (uvp)->tv_sec) ?				\
+	    ((tvp)->tv_nsec cmp (uvp)->tv_nsec) :			\
+	    ((tvp)->tv_sec cmp (uvp)->tv_sec))
+#endif
+#ifndef timespecadd
+#define	timespecadd(tsp, usp, vsp)					\
+	do {								\
+		(vsp)->tv_sec = (tsp)->tv_sec + (usp)->tv_sec;		\
+		(vsp)->tv_nsec = (tsp)->tv_nsec + (usp)->tv_nsec;	\
+		if ((vsp)->tv_nsec >= 1000000000L) {			\
+			(vsp)->tv_sec++;				\
+			(vsp)->tv_nsec -= 1000000000L;			\
+		}							\
+	} while (0)
+#endif
+#ifndef timespecsub
+#define	timespecsub(tsp, usp, vsp)					\
+	do {								\
+		(vsp)->tv_sec = (tsp)->tv_sec - (usp)->tv_sec;		\
+		(vsp)->tv_nsec = (tsp)->tv_nsec - (usp)->tv_nsec;	\
+		if ((vsp)->tv_nsec < 0) {				\
+			(vsp)->tv_sec--;				\
+			(vsp)->tv_nsec += 1000000000L;			\
+		}							\
+	} while (0)
+#endif
+
 __END_DECLS
 
 #endif /* _RTEMS_BSD_MACHINE_RTEMS_BSD_USER_SPACE_H_ */



More information about the vc mailing list