mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-24 11:41:07 +00:00
linux: Move {f}xstat{at} to compat symbols
They are no interna uses anymore. The riscv32 ABI was added on 2.33, so it is safe to remove the old __{f,l}stat{at} symbols and just provide the newer {f,l}stat{at} ones. Checked with a build for all affected ABIs. I also checked on x86_64, i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x. Reviewed-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
parent
6073bae64c
commit
20b39d5946
@ -22,9 +22,11 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstat64 (int vers, int fd, struct stat64 *buf)
|
__fxstat64 (int vers, int fd, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -42,4 +44,12 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
strong_alias (__fxstat64, __fxstat);
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
strong_alias (__fxstat64, __fxstat_compat)
|
||||||
|
compat_symbol (libc, __fxstat_compat, __fxstat, GLIBC_2_0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33)
|
||||||
|
compat_symbol (libc, __fxstat64, __fxstat64, GLIBC_2_1);
|
||||||
|
#endif
|
||||||
|
@ -22,11 +22,18 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
||||||
{
|
{
|
||||||
return INLINE_SYSCALL_CALL (fstatat64, fd, file, st, flag);
|
return INLINE_SYSCALL_CALL (fstatat64, fd, file, st, flag);
|
||||||
}
|
}
|
||||||
strong_alias (__fxstatat64, __fxstatat);
|
strong_alias (__fxstatat64, __fxstatat_compat)
|
||||||
|
compat_symbol (libc, __fxstatat_compat, __fxstatat, GLIBC_2_4);
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstatat64, __fxstatat64, GLIBC_2_4);
|
||||||
|
#endif
|
||||||
|
@ -23,9 +23,11 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__lxstat64 (int vers, const char *name, struct stat64 *buf)
|
__lxstat64 (int vers, const char *name, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -43,4 +45,12 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
weak_alias (__lxstat64, __lxstat);
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
strong_alias (__lxstat64, __lxstat_compat)
|
||||||
|
compat_symbol (libc, __lxstat_compat, __lxstat, GLIBC_2_0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33)
|
||||||
|
compat_symbol (libc, __lxstat64, __lxstat64, GLIBC_2_1);
|
||||||
|
#endif
|
||||||
|
@ -23,9 +23,11 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__xstat64 (int vers, const char *name, struct stat64 *buf)
|
__xstat64 (int vers, const char *name, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -43,4 +45,12 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
weak_alias (__xstat64, __xstat);
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
strong_alias (__xstat64, __xstat_compat)
|
||||||
|
compat_symbol (libc, __xstat_compat, __xstat, GLIBC_2_0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33)
|
||||||
|
compat_symbol (libc, __xstat64, __xstat64, GLIBC_2_1);
|
||||||
|
#endif
|
||||||
|
@ -24,9 +24,13 @@
|
|||||||
#if !XSTAT_IS_XSTAT64
|
#if !XSTAT_IS_XSTAT64
|
||||||
# include <xstatconv.h>
|
# include <xstatconv.h>
|
||||||
# include <xstatover.h>
|
# include <xstatover.h>
|
||||||
|
# include <shlib-compat.h>
|
||||||
|
|
||||||
|
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file FD in BUF. */
|
/* Get information about the file FD in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstat (int vers, int fd, struct stat *buf)
|
__fxstat (int vers, int fd, struct stat *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -57,4 +61,8 @@ __fxstat (int vers, int fd, struct stat *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstat, __fxstat, GLIBC_2_0);
|
||||||
|
# endif /* SHLIB_COMPAT */
|
||||||
|
|
||||||
#endif /* XSTAT_IS_XSTAT64 */
|
#endif /* XSTAT_IS_XSTAT64 */
|
||||||
|
@ -24,10 +24,14 @@
|
|||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
#include <statx_cp.h>
|
#include <statx_cp.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file FD in BUF. */
|
/* Get information about the file FD in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
___fxstat64 (int vers, int fd, struct stat64 *buf)
|
___fxstat64 (int vers, int fd, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
@ -63,16 +67,18 @@ ___fxstat64 (int vers, int fd, struct stat64 *buf)
|
|||||||
#endif /* XSTAT_IS_XSTAT64 */
|
#endif /* XSTAT_IS_XSTAT64 */
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
|
||||||
|
|
||||||
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
||||||
versioned_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
|
compat_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
|
||||||
strong_alias (___fxstat64, __old__fxstat64)
|
strong_alias (___fxstat64, __old__fxstat64)
|
||||||
compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
|
compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
|
||||||
#else
|
#else
|
||||||
strong_alias (___fxstat64, __fxstat64)
|
strong_alias (___fxstat64, __fxstat64)
|
||||||
|
compat_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
strong_alias (__fxstat64, __fxstat);
|
strong_alias (___fxstat64, __fxstat_compat)
|
||||||
|
compat_symbol (libc, __fxstat_compat, __fxstat, GLIBC_2_2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* SHLIB_COMPAT */
|
||||||
|
@ -24,9 +24,13 @@
|
|||||||
#if !XSTAT_IS_XSTAT64
|
#if !XSTAT_IS_XSTAT64
|
||||||
# include <xstatconv.h>
|
# include <xstatconv.h>
|
||||||
# include <xstatover.h>
|
# include <xstatover.h>
|
||||||
|
# include <shlib-compat.h>
|
||||||
|
|
||||||
|
# if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file FD in BUF. */
|
/* Get information about the file FD in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
||||||
{
|
{
|
||||||
#if STAT_IS_KERNEL_STAT
|
#if STAT_IS_KERNEL_STAT
|
||||||
@ -46,4 +50,8 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
|||||||
return r ?: __xstat32_conv (vers, &st64, st);
|
return r ?: __xstat32_conv (vers, &st64, st);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstatat, __fxstatat, GLIBC_2_4);
|
||||||
|
# endif /* SHLIB_COMPAT */
|
||||||
|
|
||||||
#endif /* XSTAT_IS_XSTAT64 */
|
#endif /* XSTAT_IS_XSTAT64 */
|
||||||
|
@ -24,10 +24,14 @@
|
|||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
#include <statx_cp.h>
|
#include <statx_cp.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file FD in BUF. */
|
/* Get information about the file FD in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
||||||
{
|
{
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
@ -61,6 +65,12 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|||||||
#endif
|
#endif
|
||||||
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstatat64, __fxstatat64, GLIBC_2_4);
|
||||||
|
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
strong_alias (__fxstatat64, __fxstatat);
|
strong_alias (__fxstatat64, __fxstatat_compat)
|
||||||
|
compat_symbol (libc, __fxstatat_compat, __fxstatat, GLIBC_2_4);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33) */
|
||||||
|
@ -20,13 +20,17 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
#if !XSTAT_IS_XSTAT64
|
#if !XSTAT_IS_XSTAT64
|
||||||
# include <xstatconv.h>
|
# include <xstatconv.h>
|
||||||
# include <xstatover.h>
|
# include <xstatover.h>
|
||||||
|
|
||||||
|
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__lxstat (int vers, const char *name, struct stat *buf)
|
__lxstat (int vers, const char *name, struct stat *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -58,4 +62,8 @@ __lxstat (int vers, const char *name, struct stat *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __lxstat, __lxstat, GLIBC_2_0);
|
||||||
|
# endif /* SHLIB_COMPAT */
|
||||||
|
|
||||||
#endif /* XSTAT_IS_XSTAT64 */
|
#endif /* XSTAT_IS_XSTAT64 */
|
||||||
|
@ -24,10 +24,14 @@
|
|||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
#include <statx_cp.h>
|
#include <statx_cp.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
___lxstat64 (int vers, const char *name, struct stat64 *buf)
|
___lxstat64 (int vers, const char *name, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
@ -80,17 +84,18 @@ ___lxstat64 (int vers, const char *name, struct stat64 *buf)
|
|||||||
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if XSTAT_IS_XSTAT64
|
|
||||||
weak_alias (___lxstat64, __lxstat);
|
|
||||||
weak_alias (___lxstat64, __GI___lxstat);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
|
||||||
|
|
||||||
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
||||||
versioned_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
|
compat_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
|
||||||
strong_alias (___lxstat64, __old__lxstat64)
|
strong_alias (___lxstat64, __old__lxstat64)
|
||||||
compat_symbol (libc, __old__lxstat64, __lxstat64, GLIBC_2_1);
|
compat_symbol (libc, __old__lxstat64, __lxstat64, GLIBC_2_1);
|
||||||
#else
|
#else
|
||||||
strong_alias (___lxstat64, __lxstat64);
|
strong_alias (___lxstat64, __lxstat64);
|
||||||
|
compat_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if XSTAT_IS_XSTAT64
|
||||||
|
strong_alias (___lxstat64,__lxstat_compat)
|
||||||
|
compat_symbol (libc, __lxstat_compat, __lxstat, GLIBC_2_2);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* SHLIB_COMPAT */
|
||||||
|
@ -21,9 +21,13 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstat (int vers, int fd, struct stat *buf)
|
__fxstat (int vers, int fd, struct stat *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -39,3 +43,7 @@ __fxstat (int vers, int fd, struct stat *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstat, __fxstat, GLIBC_2_0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -21,9 +21,13 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__lxstat (int vers, const char *name, struct stat *buf)
|
__lxstat (int vers, const char *name, struct stat *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -39,3 +43,7 @@ __lxstat (int vers, const char *name, struct stat *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __lxstat, __lxstat, GLIBC_2_0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -20,10 +20,14 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file FD in BUF. */
|
/* Get information about the file FD in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstat64 (int vers, int fd, struct stat64 *buf)
|
__fxstat64 (int vers, int fd, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
struct kernel_stat kbuf;
|
struct kernel_stat kbuf;
|
||||||
@ -31,3 +35,7 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
|
|||||||
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstat64, __fxstat64, GLIBC_2_2);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -21,12 +21,20 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file FD in BUF. */
|
/* Get information about the file FD in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
||||||
{
|
{
|
||||||
struct kernel_stat kst;
|
struct kernel_stat kst;
|
||||||
int r = INLINE_SYSCALL_CALL (newfstatat, fd, file, &kst, flag);
|
int r = INLINE_SYSCALL_CALL (newfstatat, fd, file, &kst, flag);
|
||||||
return r ?: __xstat_conv (vers, &kst, st);
|
return r ?: __xstat_conv (vers, &kst, st);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstatat, __fxstatat, GLIBC_2_4);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -19,10 +19,14 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
||||||
{
|
{
|
||||||
if (vers == _STAT_VER_LINUX)
|
if (vers == _STAT_VER_LINUX)
|
||||||
@ -33,3 +37,7 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|||||||
}
|
}
|
||||||
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __fxstatat64, __fxstatat64, GLIBC_2_4);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -20,12 +20,20 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__lxstat64 (int vers, const char *name, struct stat64 *buf)
|
__lxstat64 (int vers, const char *name, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
struct kernel_stat kbuf;
|
struct kernel_stat kbuf;
|
||||||
int r = INLINE_SYSCALL_CALL (lstat, name, &kbuf);
|
int r = INLINE_SYSCALL_CALL (lstat, name, &kbuf);
|
||||||
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __lxstat64, __lxstat64, GLIBC_2_2);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -20,13 +20,20 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__xstat64 (int vers, const char *name, struct stat64 *buf)
|
__xstat64 (int vers, const char *name, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
struct kernel_stat kbuf;
|
struct kernel_stat kbuf;
|
||||||
int r = INLINE_SYSCALL_CALL (stat, name, &kbuf);
|
int r = INLINE_SYSCALL_CALL (stat, name, &kbuf);
|
||||||
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __xstat64, __xstat64, GLIBC_2_2);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -21,9 +21,13 @@
|
|||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__xstat (int vers, const char *name, struct stat *buf)
|
__xstat (int vers, const char *name, struct stat *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -39,3 +43,7 @@ __xstat (int vers, const char *name, struct stat *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __xstat, __xstat, GLIBC_2_0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@ -201,10 +201,6 @@ GLIBC_2.33 __fsetlocking F
|
|||||||
GLIBC_2.33 __fwprintf_chk F
|
GLIBC_2.33 __fwprintf_chk F
|
||||||
GLIBC_2.33 __fwritable F
|
GLIBC_2.33 __fwritable F
|
||||||
GLIBC_2.33 __fwriting F
|
GLIBC_2.33 __fwriting F
|
||||||
GLIBC_2.33 __fxstat F
|
|
||||||
GLIBC_2.33 __fxstat64 F
|
|
||||||
GLIBC_2.33 __fxstatat F
|
|
||||||
GLIBC_2.33 __fxstatat64 F
|
|
||||||
GLIBC_2.33 __getauxval F
|
GLIBC_2.33 __getauxval F
|
||||||
GLIBC_2.33 __getcwd_chk F
|
GLIBC_2.33 __getcwd_chk F
|
||||||
GLIBC_2.33 __getdelim F
|
GLIBC_2.33 __getdelim F
|
||||||
@ -287,8 +283,6 @@ GLIBC_2.33 __libc_start_main F
|
|||||||
GLIBC_2.33 __libc_valloc F
|
GLIBC_2.33 __libc_valloc F
|
||||||
GLIBC_2.33 __longjmp_chk F
|
GLIBC_2.33 __longjmp_chk F
|
||||||
GLIBC_2.33 __lseek F
|
GLIBC_2.33 __lseek F
|
||||||
GLIBC_2.33 __lxstat F
|
|
||||||
GLIBC_2.33 __lxstat64 F
|
|
||||||
GLIBC_2.33 __malloc_hook D 0x4
|
GLIBC_2.33 __malloc_hook D 0x4
|
||||||
GLIBC_2.33 __mbrlen F
|
GLIBC_2.33 __mbrlen F
|
||||||
GLIBC_2.33 __mbrtowc F
|
GLIBC_2.33 __mbrtowc F
|
||||||
@ -489,8 +483,6 @@ GLIBC_2.33 __xmknodat F
|
|||||||
GLIBC_2.33 __xpg_basename F
|
GLIBC_2.33 __xpg_basename F
|
||||||
GLIBC_2.33 __xpg_sigpause F
|
GLIBC_2.33 __xpg_sigpause F
|
||||||
GLIBC_2.33 __xpg_strerror_r F
|
GLIBC_2.33 __xpg_strerror_r F
|
||||||
GLIBC_2.33 __xstat F
|
|
||||||
GLIBC_2.33 __xstat64 F
|
|
||||||
GLIBC_2.33 _dl_mcount_wrapper F
|
GLIBC_2.33 _dl_mcount_wrapper F
|
||||||
GLIBC_2.33 _dl_mcount_wrapper_check F
|
GLIBC_2.33 _dl_mcount_wrapper_check F
|
||||||
GLIBC_2.33 _environ D 0x4
|
GLIBC_2.33 _environ D 0x4
|
||||||
|
@ -20,13 +20,17 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <kernel_stat.h>
|
#include <kernel_stat.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
#if !XSTAT_IS_XSTAT64
|
#if !XSTAT_IS_XSTAT64
|
||||||
# include <xstatconv.h>
|
# include <xstatconv.h>
|
||||||
# include <xstatover.h>
|
# include <xstatover.h>
|
||||||
|
|
||||||
|
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
__xstat (int vers, const char *name, struct stat *buf)
|
__xstat (int vers, const char *name, struct stat *buf)
|
||||||
{
|
{
|
||||||
switch (vers)
|
switch (vers)
|
||||||
@ -57,4 +61,8 @@ __xstat (int vers, const char *name, struct stat *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compat_symbol (libc, __xstat, __xstat, GLIBC_2_0);
|
||||||
|
# endif /* SHLIB_COMPAT */
|
||||||
|
|
||||||
#endif /* XSTAT_IS_XSTAT64 */
|
#endif /* XSTAT_IS_XSTAT64 */
|
||||||
|
@ -24,10 +24,14 @@
|
|||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <xstatconv.h>
|
#include <xstatconv.h>
|
||||||
#include <statx_cp.h>
|
#include <statx_cp.h>
|
||||||
|
#include <shlib-compat.h>
|
||||||
|
|
||||||
|
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
||||||
|
|
||||||
/* Get information about the file NAME in BUF. */
|
/* Get information about the file NAME in BUF. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
attribute_compat_text_section
|
||||||
___xstat64 (int vers, const char *name, struct stat64 *buf)
|
___xstat64 (int vers, const char *name, struct stat64 *buf)
|
||||||
{
|
{
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
@ -78,16 +82,17 @@ ___xstat64 (int vers, const char *name, struct stat64 *buf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if XSTAT_IS_XSTAT64
|
#if XSTAT_IS_XSTAT64
|
||||||
weak_alias (___xstat64, __xstat);
|
strong_alias (___xstat64, __xstat_compat)
|
||||||
weak_alias (___xstat64, __GI___xstat);
|
compat_symbol (libc, __xstat_compat, __xstat, GLIBC_2_2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
|
||||||
|
|
||||||
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
||||||
versioned_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
|
compat_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
|
||||||
strong_alias (___xstat64, __old__xstat64)
|
strong_alias (___xstat64, __old__xstat64)
|
||||||
compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
|
compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
|
||||||
#else
|
#else
|
||||||
strong_alias (___xstat64, __xstat64)
|
strong_alias (___xstat64, __xstat64)
|
||||||
|
compat_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* SHLIB_COMPAT */
|
||||||
|
Loading…
Reference in New Issue
Block a user