From 20b39d59467b0c1d858e89ded8b0cebe55e22f60 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Sat, 18 Jul 2020 10:21:25 -0300 Subject: 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 --- sysdeps/unix/sysv/linux/lxstat64.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'sysdeps/unix/sysv/linux/lxstat64.c') diff --git a/sysdeps/unix/sysv/linux/lxstat64.c b/sysdeps/unix/sysv/linux/lxstat64.c index 2b06133..277b54b 100644 --- a/sysdeps/unix/sysv/linux/lxstat64.c +++ b/sysdeps/unix/sysv/linux/lxstat64.c @@ -24,10 +24,14 @@ #include #include #include +#include + +#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33) /* Get information about the file NAME in BUF. */ int +attribute_compat_text_section ___lxstat64 (int vers, const char *name, struct stat64 *buf) { #if XSTAT_IS_XSTAT64 @@ -80,17 +84,18 @@ ___lxstat64 (int vers, const char *name, struct stat64 *buf) return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); } -#if XSTAT_IS_XSTAT64 -weak_alias (___lxstat64, __lxstat); -weak_alias (___lxstat64, __GI___lxstat); -#endif - -#include - #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) compat_symbol (libc, __old__lxstat64, __lxstat64, GLIBC_2_1); #else strong_alias (___lxstat64, __lxstat64); +compat_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2); #endif + +#if XSTAT_IS_XSTAT64 +strong_alias (___lxstat64,__lxstat_compat) +compat_symbol (libc, __lxstat_compat, __lxstat, GLIBC_2_2); +#endif + +#endif /* SHLIB_COMPAT */ -- cgit v1.1