disable lfs64 aliases for remapped time64 functions
authorRich Felker <dalias@aerifal.cx>
Thu, 1 Aug 2019 04:56:48 +0000 (00:56 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 28 Oct 2019 23:26:52 +0000 (19:26 -0400)
these functions cannot provide the glibc lfs64-ABI-compatible symbols
when time_t differs from what it was in that ABI. instead, the aliases
need to be provided by the time32 compat shims or through some other
mechanism.

src/aio/aio_suspend.c
src/stat/__xstat.c
src/stat/fstat.c
src/stat/fstatat.c
src/stat/lstat.c
src/stat/stat.c

index 9b24b6af2487a199591530fec4b2d7e13a7ba4c0..34b66f8787a49fb97c264b962285a413c34b50dc 100644 (file)
@@ -73,4 +73,6 @@ int aio_suspend(const struct aiocb *const cbs[], int cnt, const struct timespec
        }
 }
 
+#if !_REDIR_TIME64
 weak_alias(aio_suspend, aio_suspend64);
+#endif
index f6303430da91b4522c9d7c4abfd4d0327bae6db6..630936a0faf3f681a445e0f24c368b21a92a71fe 100644 (file)
@@ -1,5 +1,7 @@
 #include <sys/stat.h>
 
+#if !_REDIR_TIME64
+
 int __fxstat(int ver, int fd, struct stat *buf)
 {
        return fstat(fd, buf);
@@ -25,6 +27,8 @@ weak_alias(__fxstatat, __fxstatat64);
 weak_alias(__lxstat, __lxstat64);
 weak_alias(__xstat, __xstat64);
 
+#endif
+
 int __xmknod(int ver, const char *path, mode_t mode, dev_t *dev)
 {
        return mknod(path, mode, *dev);
index 07f9a5de15e8a54b4f7b1c37ddcb0119190fef5b..9bbb46decb03579c89ceb8ce3ffafcf31724263b 100644 (file)
@@ -10,4 +10,6 @@ int fstat(int fd, struct stat *st)
        return fstatat(fd, "", st, AT_EMPTY_PATH);
 }
 
+#if !_REDIR_TIME64
 weak_alias(fstat, fstat64);
+#endif
index d915fa1060ee99dda509f953da70a22381209643..bf0a554ca0fe60cf90266174e96c58bb68436ac6 100644 (file)
@@ -126,4 +126,6 @@ int fstatat(int fd, const char *restrict path, struct stat *restrict st, int fla
        return __syscall_ret(ret);
 }
 
+#if !_REDIR_TIME64
 weak_alias(fstatat, fstatat64);
+#endif
index 9f95218a4e83e38929542861b4d3349f78ef3a85..6fe004dec28c49e212821e413d2b4b35973bff85 100644 (file)
@@ -6,4 +6,6 @@ int lstat(const char *restrict path, struct stat *restrict buf)
        return fstatat(AT_FDCWD, path, buf, AT_SYMLINK_NOFOLLOW);
 }
 
+#if !_REDIR_TIME64
 weak_alias(lstat, lstat64);
+#endif
index 528870d2fcb786060aef053ad1b1ddddabf5ee02..ea70efc4a0a4e27a0a160541dc047377b90eaee0 100644 (file)
@@ -6,4 +6,6 @@ int stat(const char *restrict path, struct stat *restrict buf)
        return fstatat(AT_FDCWD, path, buf, 0);
 }
 
+#if !_REDIR_TIME64
 weak_alias(stat, stat64);
+#endif