#ifndef _NEWLIB_GLUE_SYS_STAT_H_
#define _NEWLIB_GLUE_SYS_STAT_H_
-/* define __rtems__ only if not previously defined */
-#ifndef __rtems__
-/* A definition only for this header */
-#define __undef_rtems___NEWLIB_GLUE_SYS_STAT_H_
-#define __rtems__
-#endif
-
#include_next <sys/stat.h>
-/* cleanup __rtems__ */
-#ifdef __undef_rtems___NEWLIB_GLUE_SYS_STAT_H_
-#undef __rtems__
-#undef __undef_rtems___NEWLIB_GLUE_SYS_STAT_H_
-#endif
-
#define UTIME_NOW 0x3fffffff
#define UTIME_OMIT 0x3ffffffe
* such as nanosleep
*/
#define _POSIX_TIMERS 1
-
-/* define __rtems__ only if not previously defined */
-#ifndef __rtems__
-/* A definition only for this header */
-#define __undef_rtems__NEWLIBGLUE_TIME_H
-#define __rtems__
-
-/*
- * __DYNAMIC_REENT__ is defined in sys/config.h if
- * __rtems__ is defined; we undefine it in order to
- * avoid warnings.
- */
-#ifdef __DYNAMIC_REENT__
-#define __define_DYNAMIC_REENT__NEWLIBGLUE_TIME_H
-#undef __DYNAMIC_REENT__
-#endif /* __DYNAMIC_REENT__ */
-#endif /* __rtems__ */
-
#define _POSIX_MONOTONIC_CLOCK 1
#include_next <time.h>
-/* cleanup __rtems__ */
-#ifdef __undef_rtems__NEWLIBGLUE_TIME_H
-#undef __rtems__
-#undef __undef_rtems__NEWLIBGLUE_TIME_H
-#endif
-
-#ifdef __define_DYNAMIC_REENT__NEWLIBGLUE_TIME_H
-#define __DYNAMIC_REENT__
-#undef __define_DYNAMIC_REENT__NEWLIBGLUE_TIME_H
-#endif
-
#endif /* NEWLIBGLUE_TIME_H */
--- /dev/null
+From ec3f6adeefbd5f707e84eee74c0da1f691bad4eb Mon Sep 17 00:00:00 2001
+From: Florian Schmidt <florian.schmidt@neclab.eu>
+Date: Wed, 17 Apr 2019 15:05:20 +0200
+Subject: [PATCH] sys/stat.h: provide st_{a,c,m}tim;
+
+Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
+---
+ newlib/libc/include/sys/stat.h | 21 ---------------------
+ 1 file changed, 21 deletions(-)
+
+diff --git a/newlib/libc/include/sys/stat.h b/newlib/libc/include/sys/stat.h
+index eee98db64..0d2b9c9de 100644
+--- a/newlib/libc/include/sys/stat.h
++++ b/newlib/libc/include/sys/stat.h
+@@ -34,37 +34,16 @@ struct stat
+ gid_t st_gid;
+ dev_t st_rdev;
+ off_t st_size;
+-#if defined(__rtems__)
+ struct timespec st_atim;
+ struct timespec st_mtim;
+ struct timespec st_ctim;
+ blksize_t st_blksize;
+ blkcnt_t st_blocks;
+-#else
+- /* SysV/sco doesn't have the rest... But Solaris, eabi does. */
+-#if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__)
+- time_t st_atime;
+- time_t st_mtime;
+- time_t st_ctime;
+-#else
+- time_t st_atime;
+- long st_spare1;
+- time_t st_mtime;
+- long st_spare2;
+- time_t st_ctime;
+- long st_spare3;
+- blksize_t st_blksize;
+- blkcnt_t st_blocks;
+- long st_spare4[2];
+-#endif
+-#endif
+ };
+
+-#if defined(__rtems__)
+ #define st_atime st_atim.tv_sec
+ #define st_ctime st_ctim.tv_sec
+ #define st_mtime st_mtim.tv_sec
+-#endif
+
+ #endif
+
+--
+2.21.0
+