io: Add time64 alias for fcntl
authorFlorian Weimer <fweimer@redhat.com>
Wed, 21 Jul 2021 09:42:31 +0000 (11:42 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 21 Jul 2021 09:58:16 +0000 (11:58 +0200)
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
24 files changed:
io/Makefile
io/fcntl.h
io/tst-fcntl-time64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/Versions
sysdeps/unix/sysv/linux/arm/be/libc.abilist
sysdeps/unix/sysv/linux/arm/le/libc.abilist
sysdeps/unix/sysv/linux/csky/libc.abilist
sysdeps/unix/sysv/linux/fcntl64.c
sysdeps/unix/sysv/linux/hppa/libc.abilist
sysdeps/unix/sysv/linux/i386/libc.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
sysdeps/unix/sysv/linux/nios2/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
sysdeps/unix/sysv/linux/sh/be/libc.abilist
sysdeps/unix/sysv/linux/sh/le/libc.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

index ebb7d56..9871ecb 100644 (file)
@@ -90,6 +90,8 @@ tests-time64 := \
   tst-utime-time64 \
   tst-utimensat-time64 \
   tst-utimes-time64 \
+  tst-fcntl-time64 \
+  # tests-time64
 
 # Likewise for statx, but we do not need static linking here.
 tests-internal += tst-statx tst-file_change_detection
index f3b5e0e..8917a73 100644 (file)
@@ -172,17 +172,30 @@ typedef __pid_t pid_t;
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-#ifndef __USE_FILE_OFFSET64
+#ifndef __USE_TIME_BITS64
+# ifndef __USE_FILE_OFFSET64
 extern int fcntl (int __fd, int __cmd, ...);
-#else
-# ifdef __REDIRECT
-extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
 # else
-#  define fcntl fcntl64
+#  ifdef __REDIRECT
+extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
+#  else
+#   define fcntl fcntl64
+#  endif
 # endif
-#endif
-#ifdef __USE_LARGEFILE64
+# ifdef __USE_LARGEFILE64
 extern int fcntl64 (int __fd, int __cmd, ...);
+# endif
+#else /* __USE_TIME_BITS64 */
+# ifdef __REDIRECT
+extern int __REDIRECT (fcntl, (int __fd, int __request, ...),
+                      __fcntl_time64)  __THROW;
+extern int __REDIRECT (fcntl64, (int __fd, int __request, ...),
+                      __fcntl_time64)  __THROW;
+# else
+extern int __fcntl_time64 (int __fd, int __request, ...) __THROW;
+#  define fcntl64 __fcntl_time64
+#  define fcntl __fcntl_time64
+# endif
 #endif
 
 /* Open FILE and return a new file descriptor for it, or -1 on error.
diff --git a/io/tst-fcntl-time64.c b/io/tst-fcntl-time64.c
new file mode 100644 (file)
index 0000000..ef4a518
--- /dev/null
@@ -0,0 +1 @@
+#include "tst-fcntl.c"
index a78bf88..4f0e167 100644 (file)
@@ -209,6 +209,7 @@ libc {
     __ctime64;
     __ctime64_r;
     __difftime64;
+    __fcntl_time64;
     __fstat64_time64;
     __fstatat64_time64;
     __futimens64;
index bfb5d09..225cd17 100644 (file)
@@ -203,6 +203,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index cd64167..3731f38 100644 (file)
@@ -200,6 +200,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 121e5ad..6678218 100644 (file)
@@ -2359,6 +2359,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index ed19c32..e65233d 100644 (file)
@@ -54,6 +54,9 @@ libc_hidden_def (__libc_fcntl64)
 weak_alias (__libc_fcntl64, __fcntl64)
 libc_hidden_weak (__fcntl64)
 weak_alias (__libc_fcntl64, fcntl64)
+#if __TIMESIZE != 64
+weak_alias (__libc_fcntl64, __fcntl_time64)
+#endif
 
 #ifdef __OFF_T_MATCHES_OFF64_T
 weak_alias (__libc_fcntl64, __libc_fcntl)
index 1ef5669..8f105d3 100644 (file)
@@ -2310,6 +2310,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 287cd4e..53ddabd 100644 (file)
@@ -2493,6 +2493,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index f01a129..23168e8 100644 (file)
@@ -204,6 +204,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index beb2453..a63ac56 100644 (file)
@@ -2437,6 +2437,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 5ab2304..f9f6dfb 100644 (file)
@@ -2410,6 +2410,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index c3a61c9..97d03fa 100644 (file)
@@ -2407,6 +2407,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 1e66953..0deeb17 100644 (file)
@@ -2402,6 +2402,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index cd26df6..55432c5 100644 (file)
@@ -2400,6 +2400,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index a5002c8..daa0d49 100644 (file)
@@ -2408,6 +2408,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 04f33ca..36dcfc8 100644 (file)
@@ -2449,6 +2449,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 089577f..8283409 100644 (file)
@@ -2464,6 +2464,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index fc97125..590eda0 100644 (file)
@@ -2497,6 +2497,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index e16ddd9..08b0215 100644 (file)
@@ -2462,6 +2462,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 3437843..416db82 100644 (file)
@@ -2317,6 +2317,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 4e7c6ba..6be813c 100644 (file)
@@ -2314,6 +2314,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F
index 9274380..ce61dd9 100644 (file)
@@ -2457,6 +2457,7 @@ GLIBC_2.34 __cnd_timedwait64 F
 GLIBC_2.34 __ctime64 F
 GLIBC_2.34 __ctime64_r F
 GLIBC_2.34 __difftime64 F
+GLIBC_2.34 __fcntl_time64 F
 GLIBC_2.34 __fstat64_time64 F
 GLIBC_2.34 __fstatat64_time64 F
 GLIBC_2.34 __fts64_children_time64 F