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.
This commit is contained in:
Rich Felker 2019-08-01 00:56:48 -04:00
parent 2d69fcf5ef
commit 50018f92f7
6 changed files with 14 additions and 0 deletions

View 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

View 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);

View 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

View 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

View 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

View 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