aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2019-08-01 00:56:48 -0400
committerRich Felker <dalias@aerifal.cx>2019-10-28 19:26:52 -0400
commit50018f92f7a1d79bc41a1ad5c5baf99eb7cd40af (patch)
tree40e0587a6d6a19a3b33978e8d1ff996ef635100b
parent2d69fcf5ef271c1f5fec45ee9337ec7280a5dae7 (diff)
downloadmusl-50018f92f7a1d79bc41a1ad5c5baf99eb7cd40af.zip
musl-50018f92f7a1d79bc41a1ad5c5baf99eb7cd40af.tar.gz
musl-50018f92f7a1d79bc41a1ad5c5baf99eb7cd40af.tar.bz2
disable lfs64 aliases for remapped time64 functions
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.
-rw-r--r--src/aio/aio_suspend.c2
-rw-r--r--src/stat/__xstat.c4
-rw-r--r--src/stat/fstat.c2
-rw-r--r--src/stat/fstatat.c2
-rw-r--r--src/stat/lstat.c2
-rw-r--r--src/stat/stat.c2
6 files changed, 14 insertions, 0 deletions
diff --git a/src/aio/aio_suspend.c b/src/aio/aio_suspend.c
index 9b24b6a..34b66f8 100644
--- a/src/aio/aio_suspend.c
+++ b/src/aio/aio_suspend.c
@@ -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
diff --git a/src/stat/__xstat.c b/src/stat/__xstat.c
index f630343..630936a 100644
--- a/src/stat/__xstat.c
+++ b/src/stat/__xstat.c
@@ -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);
diff --git a/src/stat/fstat.c b/src/stat/fstat.c
index 07f9a5d..9bbb46d 100644
--- a/src/stat/fstat.c
+++ b/src/stat/fstat.c
@@ -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
diff --git a/src/stat/fstatat.c b/src/stat/fstatat.c
index d915fa1..bf0a554 100644
--- a/src/stat/fstatat.c
+++ b/src/stat/fstatat.c
@@ -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
diff --git a/src/stat/lstat.c b/src/stat/lstat.c
index 9f95218..6fe004d 100644
--- a/src/stat/lstat.c
+++ b/src/stat/lstat.c
@@ -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
diff --git a/src/stat/stat.c b/src/stat/stat.c
index 528870d..ea70efc 100644
--- a/src/stat/stat.c
+++ b/src/stat/stat.c
@@ -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