[newlib-cygwin] Fix sys/time.h build problem due to inconsistent macro usage
Corinna Vinschen
corinna@sourceware.org
Mon Jul 6 12:08:00 GMT 2015
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=f9b87aaf109366342777521fe93fe9f795e8f1fa
commit f9b87aaf109366342777521fe93fe9f795e8f1fa
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Mon Jul 6 14:08:30 2015 +0200
Fix sys/time.h build problem due to inconsistent macro usage
https://sourceware.org/ml/newlib/2015/msg00520.html describes
how sys/time.h uses __BSD_VISIBLE while the types used in the
affected inline functions are guarded with !_POSIX_SOURCE.
Fix that by guarding the type with __BSD_VISIBLE as well.
* libc/include/sys/time.h: Explicitely include sys/cdefs.h.
* libc/include/sys/types.h: Ditto. Guard BSD convenience base types
with __BSD_VISIBLE rather than !_POSIX_SOURCE.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
newlib/ChangeLog | 6 ++++++
newlib/libc/include/sys/time.h | 1 +
newlib/libc/include/sys/types.h | 5 +++--
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 9ada9de..994f1ca 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,9 @@
+2015-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/include/sys/time.h: Explicitely include sys/cdefs.h.
+ * libc/include/sys/types.h: Ditto. Guard BSD convenience base types
+ with __BSD_VISIBLE rather than !_POSIX_SOURCE.
+
2015-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/stdio/fputs.c (_puts_r): Add missing CHECK_INIT().
diff --git a/newlib/libc/include/sys/time.h b/newlib/libc/include/sys/time.h
index e95240e..7e7205b 100644
--- a/newlib/libc/include/sys/time.h
+++ b/newlib/libc/include/sys/time.h
@@ -38,6 +38,7 @@
#define _SYS_TIME_H_
#include <_ansi.h>
+#include <sys/cdefs.h>
#include <sys/_timeval.h>
#include <sys/types.h>
#include <sys/timespec.h>
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index 9fe2f5d..d8d6fdc 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -18,6 +18,7 @@
#ifndef _SYS_TYPES_H
#include <_ansi.h>
+# include <sys/cdefs.h>
#ifndef __INTTYPES_DEFINED__
#define __INTTYPES_DEFINED__
@@ -83,7 +84,7 @@ typedef quad_t * qaddr_t;
#define _ST_INT32
#endif
-# ifndef _POSIX_SOURCE
+# if __BSD_VISIBLE
# define physadr physadr_t
# define quad quad_t
@@ -112,7 +113,7 @@ typedef unsigned long u_long;
typedef unsigned short ushort; /* System V compatibility */
typedef unsigned int uint; /* System V compatibility */
typedef unsigned long ulong; /* System V compatibility */
-# endif /*!_POSIX_SOURCE */
+# endif /*__BSD_VISIBLE */
#ifndef __clock_t_defined
typedef _CLOCK_T_ clock_t;
More information about the Newlib-cvs
mailing list