about summary refs log tree commit diff
path: root/libio
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-03-02 17:06:02 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-06-22 12:09:52 -0300
commit52a5fe70a2c77935afe807fb6e904e512ddd894e (patch)
treee17476a3ebc60b2e00aea93f24227199caaee8d4 /libio
parenta318262bc0081ab83e3f3c90e50462f99148605e (diff)
downloadglibc-52a5fe70a2c77935afe807fb6e904e512ddd894e.tar.gz
glibc-52a5fe70a2c77935afe807fb6e904e512ddd894e.tar.xz
glibc-52a5fe70a2c77935afe807fb6e904e512ddd894e.zip
Use 64 bit time_t stat internally
For the legacy ABI with supports 32-bit time_t it calls the 64-bit
time directly, since the LFS symbols calls the 64-bit time_t ones
internally.

Checked on i686-linux-gnu and x86_64-linux-gnu.

Reviewed-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'libio')
-rw-r--r--libio/filedoalloc.c2
-rw-r--r--libio/fileops.c8
-rw-r--r--libio/oldfileops.c2
-rw-r--r--libio/wfileops.c2
4 files changed, 7 insertions, 7 deletions
diff --git a/libio/filedoalloc.c b/libio/filedoalloc.c
index 7afa3cb683..c792eec88f 100644
--- a/libio/filedoalloc.c
+++ b/libio/filedoalloc.c
@@ -78,7 +78,7 @@ _IO_file_doallocate (FILE *fp)
 {
   size_t size;
   char *p;
-  struct stat64 st;
+  struct __stat64_t64 st;
 
   size = BUFSIZ;
   if (fp->_fileno >= 0 && __builtin_expect (_IO_SYSSTAT (fp, &st), 0) >= 0)
diff --git a/libio/fileops.c b/libio/fileops.c
index a71a567547..e8ee374821 100644
--- a/libio/fileops.c
+++ b/libio/fileops.c
@@ -545,7 +545,7 @@ libc_hidden_ver (_IO_new_file_underflow, _IO_file_underflow)
 static int
 mmap_remap_check (FILE *fp)
 {
-  struct stat64 st;
+  struct __stat64_t64 st;
 
   if (_IO_SYSSTAT (fp, &st) == 0
       && S_ISREG (st.st_mode) && st.st_size != 0
@@ -663,7 +663,7 @@ decide_maybe_mmap (FILE *fp)
      file descriptors are for mmap-able objects and on 32-bit
      machines we don't want to map files which are too large since
      this would require too much virtual memory.  */
-  struct stat64 st;
+  struct __stat64_t64 st;
 
   if (_IO_SYSSTAT (fp, &st) == 0
       && S_ISREG (st.st_mode) && st.st_size != 0
@@ -962,7 +962,7 @@ _IO_new_file_seekoff (FILE *fp, off64_t offset, int dir, int mode)
       break;
     case _IO_seek_end:
       {
-	struct stat64 st;
+	struct __stat64_t64 st;
 	if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
 	  {
 	    offset += st.st_size;
@@ -1145,7 +1145,7 @@ libc_hidden_def (_IO_file_seek)
 int
 _IO_file_stat (FILE *fp, void *st)
 {
-  return __fstat64 (fp->_fileno, (struct stat64 *) st);
+  return __fstat64_time64 (fp->_fileno, (struct __stat64_t64 *) st);
 }
 libc_hidden_def (_IO_file_stat)
 
diff --git a/libio/oldfileops.c b/libio/oldfileops.c
index ed235360ad..ed3c98bd6d 100644
--- a/libio/oldfileops.c
+++ b/libio/oldfileops.c
@@ -487,7 +487,7 @@ _IO_old_file_seekoff (FILE *fp, off64_t offset, int dir, int mode)
       break;
     case _IO_seek_end:
       {
-	struct stat64 st;
+	struct __stat64_t64 st;
 	if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
 	  {
 	    offset += st.st_size;
diff --git a/libio/wfileops.c b/libio/wfileops.c
index 5d23566171..37f44780f8 100644
--- a/libio/wfileops.c
+++ b/libio/wfileops.c
@@ -840,7 +840,7 @@ _IO_wfile_seekoff (FILE *fp, off64_t offset, int dir, int mode)
       break;
     case _IO_seek_end:
       {
-	struct stat64 st;
+	struct __stat64_t64 st;
 	if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
 	  {
 	    offset += st.st_size;