y2038: Introduce struct __utimbuf64 - new internal glibc type
authorLukasz Majewski <lukma@denx.de>
Thu, 6 Feb 2020 13:25:30 +0000 (14:25 +0100)
committerLukasz Majewski <lukma@denx.de>
Tue, 3 Mar 2020 13:28:08 +0000 (14:28 +0100)
This type is a glibc's "internal" type to store file's access and modification
times in __time64_t rather than __time_t, which makes it Y2038-proof.

Build tests:
./src/scripts/build-many-glibcs.py glibcs

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
include/time.h

index 6180665..0bb2bcc 100644 (file)
@@ -109,6 +109,18 @@ struct __timeval64
 #endif
 
 #if __TIMESIZE == 64
+# define __utimbuf64 utimbuf
+#else
+/* The glibc Y2038-proof struct __utimbuf64 structure for file's access
+   and modification time values.  */
+struct __utimbuf64
+{
+  __time64_t actime;           /* Access time.  */
+  __time64_t modtime;          /* Modification time.  */
+};
+#endif
+
+#if __TIMESIZE == 64
 # define __ctime64 ctime
 #else
 extern char *__ctime64 (const __time64_t *__timer) __THROW;