Browse Source

libc: Remove 32bit timespec structures everywhere.

With time64 enabled we use statx() system call and the appropriate
routines for results conversion. There is no need in `__ts32_struct`
anymore.

Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Dmitry Chestnykh 1 month ago
parent
commit
1be6cbd9c0

+ 0 - 5
include/internal/time64_helpers.h

@@ -5,11 +5,6 @@
 #include <time.h>
 #include <stddef.h>
 
-struct __ts32_struct {
-   __S32_TYPE tv_sec;
-   __S32_TYPE tv_nsec;
-};
-
 struct __ts64_struct {
    __S64_TYPE tv_sec;
    __S64_TYPE tv_nsec;

+ 0 - 16
libc/sysdeps/linux/arm/bits/kernel_stat.h

@@ -5,10 +5,6 @@
  * struct kernel_stat should look like...  It turns out each arch has a
  * different opinion on the subject... */
 
-#if defined(__UCLIBC_USE_TIME64__)
-#include "internal/time64_helpers.h"
-#endif
-
 struct kernel_stat {
 #if defined(__ARMEB__)
 	unsigned short st_dev;
@@ -30,15 +26,9 @@ struct kernel_stat {
 	unsigned long  st_size;
 	unsigned long  st_blksize;
 	unsigned long  st_blocks;
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec st_atim;
 	struct timespec st_mtim;
 	struct timespec st_ctim;
-#endif
 	unsigned long  __uclibc_unused4;
 	unsigned long  __uclibc_unused5;
 };
@@ -60,15 +50,9 @@ struct kernel_stat64 {
 	long long          st_size;
 	unsigned long      st_blksize;
 	unsigned long long st_blocks;  /* Number 512-byte blocks allocated. */
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec    st_atim;
 	struct timespec    st_mtim;
 	struct timespec    st_ctim;
-#endif
 	unsigned long long st_ino;
 #ifndef __ARM_EABI__
 } __attribute__((packed));

+ 0 - 27
libc/sysdeps/linux/common/xstatconv.c

@@ -37,21 +37,12 @@ void __xstat_conv(struct kernel_stat *kbuf, struct stat *buf)
 	buf->st_size = kbuf->st_size;
 	buf->st_blksize = kbuf->st_blksize;
 	buf->st_blocks = kbuf->st_blocks;
-#if defined(__UCLIBC_USE_TIME64__) && !defined(__mips__)
-	buf->st_atim.tv_sec = kbuf->__st_atim32.tv_sec;
-	buf->st_atim.tv_nsec = kbuf->__st_atim32.tv_nsec;
-	buf->st_mtim.tv_sec = kbuf->__st_mtim32.tv_sec;
-	buf->st_mtim.tv_nsec = kbuf->__st_mtim32.tv_nsec;
-	buf->st_ctim.tv_sec = kbuf->__st_ctim32.tv_sec;
-	buf->st_ctim.tv_nsec = kbuf->__st_ctim32.tv_nsec;
-#else
 	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
 	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
 	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
 	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
 	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
 	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
-#endif
 }
 
 void __xstat32_conv(struct kernel_stat64 *kbuf, struct stat *buf)
@@ -68,21 +59,12 @@ void __xstat32_conv(struct kernel_stat64 *kbuf, struct stat *buf)
 	buf->st_size = kbuf->st_size;
 	buf->st_blksize = kbuf->st_blksize;
 	buf->st_blocks = kbuf->st_blocks;
-#if defined(__UCLIBC_USE_TIME64__) && !defined(__mips__)
-	buf->st_atim.tv_sec = kbuf->__st_atim32.tv_sec;
-	buf->st_atim.tv_nsec = kbuf->__st_atim32.tv_nsec;
-	buf->st_mtim.tv_sec = kbuf->__st_mtim32.tv_sec;
-	buf->st_mtim.tv_nsec = kbuf->__st_mtim32.tv_nsec;
-	buf->st_ctim.tv_sec = kbuf->__st_ctim32.tv_sec;
-	buf->st_ctim.tv_nsec = kbuf->__st_ctim32.tv_nsec;
-#else
 	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
 	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
 	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
 	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
 	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
 	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
-#endif
 }
 
 void __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf)
@@ -102,19 +84,10 @@ void __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf)
 	buf->st_size = kbuf->st_size;
 	buf->st_blksize = kbuf->st_blksize;
 	buf->st_blocks = kbuf->st_blocks;
-#if defined(__UCLIBC_USE_TIME64__) && !defined(__mips__)
-	buf->st_atim.tv_sec = kbuf->__st_atim32.tv_sec;
-	buf->st_atim.tv_nsec = kbuf->__st_atim32.tv_nsec;
-	buf->st_mtim.tv_sec = kbuf->__st_mtim32.tv_sec;
-	buf->st_mtim.tv_nsec = kbuf->__st_mtim32.tv_nsec;
-	buf->st_ctim.tv_sec = kbuf->__st_ctim32.tv_sec;
-	buf->st_ctim.tv_nsec = kbuf->__st_ctim32.tv_nsec;
-#else
 	buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
 	buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
 	buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
 	buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
 	buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
 	buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
-#endif
 }

+ 0 - 10
libc/sysdeps/linux/or1k/bits/kernel_stat.h

@@ -1,10 +1,6 @@
 #ifndef _BITS_STAT_STRUCT_H
 #define _BITS_STAT_STRUCT_H
 
-#if defined(__UCLIBC_USE_TIME64__)
-#include "internal/time64_helpers.h"
-#endif
-
 struct kernel_stat {
 	unsigned long	st_dev;		/* Device.  */
 	unsigned long	st_ino;		/* File serial number.  */
@@ -18,15 +14,9 @@ struct kernel_stat {
 	int		st_blksize;	/* Optimal block size for I/O.  */
 	int		__pad2;
 	long		st_blocks;	/* Number 512-byte blocks allocated. */
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec st_atim;
 	struct timespec st_mtim;
 	struct timespec st_ctim;
-#endif
 	unsigned int	__unused4;
 	unsigned int	__unused5;
 };

+ 0 - 16
libc/sysdeps/linux/powerpc/bits/kernel_stat.h

@@ -5,10 +5,6 @@
  * struct kernel_stat should look like...  It turns out each arch has a
  * different opinion on the subject... */
 
-#if defined(__UCLIBC_USE_TIME64__)
-#include "internal/time64_helpers.h"
-#endif
-
 #if __WORDSIZE == 64
 #define kernel_stat kernel_stat64
 #else
@@ -23,15 +19,9 @@ struct kernel_stat {
 	__kernel_off_t	st_size;
 	unsigned long  	st_blksize;
 	unsigned long  	st_blocks;
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec	st_atim;
 	struct timespec	st_mtim;
 	struct timespec	st_ctim;
-#endif
 	unsigned long  	__unused4;
 	unsigned long  	__unused5;
 };
@@ -49,15 +39,9 @@ struct kernel_stat64 {
 	long long st_size;		/* Size of file, in bytes.  */
 	long st_blksize;		/* Optimal block size for I/O.  */
 	long long st_blocks;		/* Number 512-byte blocks allocated. */
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec	st_atim;
 	struct timespec	st_mtim;
 	struct timespec	st_ctim;
-#endif
 	unsigned long int __uclibc_unused4;
 	unsigned long int __uclibc_unused5;
 };

+ 0 - 16
libc/sysdeps/linux/sparc/bits/kernel_stat.h

@@ -5,10 +5,6 @@
  * struct kernel_stat should look like...  It turns out each arch has a
  * different opinion on the subject... */
 
-#if defined(__UCLIBC_USE_TIME64__)
-#include "internal/time64_helpers.h"
-#endif
-
 struct kernel_stat {
     unsigned short	st_dev;
     unsigned long	st_ino;
@@ -18,15 +14,9 @@ struct kernel_stat {
     unsigned short	st_gid;
     unsigned short	st_rdev;
     long		st_size;
-#if defined(__UCLIBC_USE_TIME64__)
-    struct __ts32_struct __st_atim32;
-    struct __ts32_struct __st_mtim32;
-    struct __ts32_struct __st_ctim32;
-#else
     struct timespec	st_atim;
     struct timespec	st_mtim;
     struct timespec	st_ctim;
-#endif
     long		st_blksize;
     long		st_blocks;
     unsigned long	__unused4[2];
@@ -45,15 +35,9 @@ struct kernel_stat64 {
 	unsigned int	st_blksize;
 	unsigned char	__pad4[8];
 	unsigned int	st_blocks;
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec	st_atim;
 	struct timespec	st_mtim;
 	struct timespec	st_ctim;
-#endif
 	unsigned int	__unused4;
 	unsigned int	__unused5;
 };

+ 0 - 16
libc/sysdeps/linux/xtensa/bits/kernel_stat.h

@@ -5,10 +5,6 @@
  * struct kernel_stat should look like...  It turns out each arch has a
  * different opinion on the subject... */
 
-#if defined(__UCLIBC_USE_TIME64__)
-#include "internal/time64_helpers.h"
-#endif
-
 struct kernel_stat {
 	unsigned long	st_dev;
 	unsigned long	st_ino;
@@ -20,15 +16,9 @@ struct kernel_stat {
 	long		st_size;
 	unsigned long	st_blksize;
 	unsigned long	st_blocks;
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec	st_atim;
 	struct timespec	st_mtim;
 	struct timespec	st_ctim;
-#endif
 	unsigned long	__unused4;
 	unsigned long	__unused5;
 };
@@ -45,15 +35,9 @@ struct kernel_stat64 {
 	unsigned long st_blksize;	/* Optimal block size for I/O. */
 	unsigned long __uclibc_unused2;
 	unsigned long long st_blocks;	/* Number 512-byte blocks allocated. */
-#if defined(__UCLIBC_USE_TIME64__)
-	struct __ts32_struct __st_atim32;
-	struct __ts32_struct __st_mtim32;
-	struct __ts32_struct __st_ctim32;
-#else
 	struct timespec st_atim;	/* Time of last access. */
 	struct timespec st_mtim;	/* Time of last modification. */
 	struct timespec st_ctim;	/* Time of last status change. */
-#endif
 	unsigned long __uclibc_unused4;
 	unsigned long __uclibc_unused5;
 };