forked from rpms/glibc
5a5cbfec77
This breaks linking with static libraries that may have been built with an older glibc.
668 lines
20 KiB
Diff
668 lines
20 KiB
Diff
From d28b30ba10c1c7da38392e1759ae141d107f3640 Mon Sep 17 00:00:00 2001
|
|
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
|
Date: Wed, 21 Oct 2020 14:20:17 +0530
|
|
Subject: [PATCH] Revert "linux: Move {f}xstat{at} to compat symbols"
|
|
|
|
This reverts commit 20b39d59467b0c1d858e89ded8b0cebe55e22f60.
|
|
---
|
|
sysdeps/unix/sysv/linux/alpha/fxstat64.c | 12 +----------
|
|
sysdeps/unix/sysv/linux/alpha/fxstatat64.c | 9 +-------
|
|
sysdeps/unix/sysv/linux/alpha/lxstat64.c | 12 +----------
|
|
sysdeps/unix/sysv/linux/alpha/xstat64.c | 12 +----------
|
|
sysdeps/unix/sysv/linux/fxstat.c | 8 -------
|
|
sysdeps/unix/sysv/linux/fxstat64.c | 14 ++++---------
|
|
sysdeps/unix/sysv/linux/fxstatat.c | 8 -------
|
|
sysdeps/unix/sysv/linux/fxstatat64.c | 12 +----------
|
|
sysdeps/unix/sysv/linux/lxstat.c | 8 -------
|
|
sysdeps/unix/sysv/linux/lxstat64.c | 21 +++++++------------
|
|
sysdeps/unix/sysv/linux/mips/fxstat.c | 8 -------
|
|
sysdeps/unix/sysv/linux/mips/lxstat.c | 8 -------
|
|
.../unix/sysv/linux/mips/mips64/fxstat64.c | 8 -------
|
|
.../unix/sysv/linux/mips/mips64/fxstatat.c | 8 -------
|
|
.../unix/sysv/linux/mips/mips64/fxstatat64.c | 8 -------
|
|
.../unix/sysv/linux/mips/mips64/lxstat64.c | 8 -------
|
|
sysdeps/unix/sysv/linux/mips/mips64/xstat64.c | 9 +-------
|
|
sysdeps/unix/sysv/linux/mips/xstat.c | 8 -------
|
|
.../unix/sysv/linux/riscv/rv32/libc.abilist | 8 +++++++
|
|
sysdeps/unix/sysv/linux/xstat.c | 8 -------
|
|
sysdeps/unix/sysv/linux/xstat64.c | 15 +++++--------
|
|
21 files changed, 31 insertions(+), 181 deletions(-)
|
|
|
|
diff --git a/sysdeps/unix/sysv/linux/alpha/fxstat64.c b/sysdeps/unix/sysv/linux/alpha/fxstat64.c
|
|
index bcfb55050c..9d6b8eca32 100644
|
|
--- a/sysdeps/unix/sysv/linux/alpha/fxstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/alpha/fxstat64.c
|
|
@@ -22,11 +22,9 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.h>
|
|
#include <xstatconv.h>
|
|
-#include <shlib-compat.h>
|
|
|
|
/* Get information about the file NAME in BUF. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstat64 (int vers, int fd, struct stat64 *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -44,12 +42,4 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-#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
|
|
+strong_alias (__fxstat64, __fxstat);
|
|
diff --git a/sysdeps/unix/sysv/linux/alpha/fxstatat64.c b/sysdeps/unix/sysv/linux/alpha/fxstatat64.c
|
|
index fa3074eeca..997fb87ac6 100644
|
|
--- a/sysdeps/unix/sysv/linux/alpha/fxstatat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/alpha/fxstatat64.c
|
|
@@ -22,18 +22,11 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|
{
|
|
return INLINE_SYSCALL_CALL (fstatat64, fd, file, st, flag);
|
|
}
|
|
-strong_alias (__fxstatat64, __fxstatat_compat)
|
|
-compat_symbol (libc, __fxstatat_compat, __fxstatat, GLIBC_2_4);
|
|
-
|
|
-compat_symbol (libc, __fxstatat64, __fxstatat64, GLIBC_2_4);
|
|
-#endif
|
|
+strong_alias (__fxstatat64, __fxstatat);
|
|
diff --git a/sysdeps/unix/sysv/linux/alpha/lxstat64.c b/sysdeps/unix/sysv/linux/alpha/lxstat64.c
|
|
index 7424b2f621..38f132f15e 100644
|
|
--- a/sysdeps/unix/sysv/linux/alpha/lxstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/alpha/lxstat64.c
|
|
@@ -23,11 +23,9 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.h>
|
|
#include <xstatconv.h>
|
|
-#include <shlib-compat.h>
|
|
|
|
/* Get information about the file NAME in BUF. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__lxstat64 (int vers, const char *name, struct stat64 *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -45,12 +43,4 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-#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
|
|
+weak_alias (__lxstat64, __lxstat);
|
|
diff --git a/sysdeps/unix/sysv/linux/alpha/xstat64.c b/sysdeps/unix/sysv/linux/alpha/xstat64.c
|
|
index 59f7ddae7f..c856c95dc5 100644
|
|
--- a/sysdeps/unix/sysv/linux/alpha/xstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/alpha/xstat64.c
|
|
@@ -23,11 +23,9 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.h>
|
|
#include <xstatconv.h>
|
|
-#include <shlib-compat.h>
|
|
|
|
/* Get information about the file NAME in BUF. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__xstat64 (int vers, const char *name, struct stat64 *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -45,12 +43,4 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-#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
|
|
+weak_alias (__xstat64, __xstat);
|
|
diff --git a/sysdeps/unix/sysv/linux/fxstat.c b/sysdeps/unix/sysv/linux/fxstat.c
|
|
index 649bb95252..f78497ea92 100644
|
|
--- a/sysdeps/unix/sysv/linux/fxstat.c
|
|
+++ b/sysdeps/unix/sysv/linux/fxstat.c
|
|
@@ -24,13 +24,9 @@
|
|
#if !XSTAT_IS_XSTAT64
|
|
# include <xstatconv.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstat (int vers, int fd, struct stat *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -61,8 +57,4 @@ __fxstat (int vers, int fd, struct stat *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstat, __fxstat, GLIBC_2_0);
|
|
-# endif /* SHLIB_COMPAT */
|
|
-
|
|
#endif /* XSTAT_IS_XSTAT64 */
|
|
diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c
|
|
index 4bd926bf01..dd7b752873 100644
|
|
--- a/sysdeps/unix/sysv/linux/fxstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/fxstat64.c
|
|
@@ -24,14 +24,10 @@
|
|
#include <sysdep.h>
|
|
#include <xstatconv.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. */
|
|
|
|
int
|
|
-attribute_compat_text_section
|
|
___fxstat64 (int vers, int fd, struct stat64 *buf)
|
|
{
|
|
#if XSTAT_IS_XSTAT64
|
|
@@ -67,18 +63,16 @@ ___fxstat64 (int vers, int fd, struct stat64 *buf)
|
|
#endif /* XSTAT_IS_XSTAT64 */
|
|
}
|
|
|
|
+#include <shlib-compat.h>
|
|
+
|
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
|
-compat_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
|
|
+versioned_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
|
|
strong_alias (___fxstat64, __old__fxstat64)
|
|
compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
|
|
#else
|
|
strong_alias (___fxstat64, __fxstat64)
|
|
-compat_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
|
|
#endif
|
|
|
|
#if XSTAT_IS_XSTAT64
|
|
-strong_alias (___fxstat64, __fxstat_compat)
|
|
-compat_symbol (libc, __fxstat_compat, __fxstat, GLIBC_2_2);
|
|
+strong_alias (__fxstat64, __fxstat);
|
|
#endif
|
|
-
|
|
-#endif /* SHLIB_COMPAT */
|
|
diff --git a/sysdeps/unix/sysv/linux/fxstatat.c b/sysdeps/unix/sysv/linux/fxstatat.c
|
|
index 2083e18eac..1a60fc10e3 100644
|
|
--- a/sysdeps/unix/sysv/linux/fxstatat.c
|
|
+++ b/sysdeps/unix/sysv/linux/fxstatat.c
|
|
@@ -24,13 +24,9 @@
|
|
#if !XSTAT_IS_XSTAT64
|
|
# include <xstatconv.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
|
{
|
|
#if STAT_IS_KERNEL_STAT
|
|
@@ -50,8 +46,4 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
|
return r ?: __xstat32_conv (vers, &st64, st);
|
|
#endif
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstatat, __fxstatat, GLIBC_2_4);
|
|
-# endif /* SHLIB_COMPAT */
|
|
-
|
|
#endif /* XSTAT_IS_XSTAT64 */
|
|
diff --git a/sysdeps/unix/sysv/linux/fxstatat64.c b/sysdeps/unix/sysv/linux/fxstatat64.c
|
|
index 8a505451d9..7fe034809c 100644
|
|
--- a/sysdeps/unix/sysv/linux/fxstatat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/fxstatat64.c
|
|
@@ -24,14 +24,10 @@
|
|
#include <sysdep.h>
|
|
#include <xstatconv.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. */
|
|
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|
{
|
|
#if XSTAT_IS_XSTAT64
|
|
@@ -65,12 +61,6 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|
#endif
|
|
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstatat64, __fxstatat64, GLIBC_2_4);
|
|
-
|
|
#if XSTAT_IS_XSTAT64
|
|
-strong_alias (__fxstatat64, __fxstatat_compat)
|
|
-compat_symbol (libc, __fxstatat_compat, __fxstatat, GLIBC_2_4);
|
|
+strong_alias (__fxstatat64, __fxstatat);
|
|
#endif
|
|
-
|
|
-#endif /* SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33) */
|
|
diff --git a/sysdeps/unix/sysv/linux/lxstat.c b/sysdeps/unix/sysv/linux/lxstat.c
|
|
index 913618eab9..9e7e02d298 100644
|
|
--- a/sysdeps/unix/sysv/linux/lxstat.c
|
|
+++ b/sysdeps/unix/sysv/linux/lxstat.c
|
|
@@ -20,17 +20,13 @@
|
|
#include <fcntl.h>
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.h>
|
|
-#include <shlib-compat.h>
|
|
|
|
#if !XSTAT_IS_XSTAT64
|
|
# include <xstatconv.h>
|
|
# include <xstatover.h>
|
|
|
|
-# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
|
-
|
|
/* Get information about the file NAME in BUF. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__lxstat (int vers, const char *name, struct stat *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -62,8 +58,4 @@ __lxstat (int vers, const char *name, struct stat *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-compat_symbol (libc, __lxstat, __lxstat, GLIBC_2_0);
|
|
-# endif /* SHLIB_COMPAT */
|
|
-
|
|
#endif /* XSTAT_IS_XSTAT64 */
|
|
diff --git a/sysdeps/unix/sysv/linux/lxstat64.c b/sysdeps/unix/sysv/linux/lxstat64.c
|
|
index 277b54b305..2b06133bf3 100644
|
|
--- a/sysdeps/unix/sysv/linux/lxstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/lxstat64.c
|
|
@@ -24,14 +24,10 @@
|
|
#include <sysdep.h>
|
|
#include <xstatconv.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. */
|
|
|
|
int
|
|
-attribute_compat_text_section
|
|
___lxstat64 (int vers, const char *name, struct stat64 *buf)
|
|
{
|
|
#if XSTAT_IS_XSTAT64
|
|
@@ -84,18 +80,17 @@ ___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 <shlib-compat.h>
|
|
+
|
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
|
-compat_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
|
|
+versioned_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 */
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/fxstat.c b/sysdeps/unix/sysv/linux/mips/fxstat.c
|
|
index cb9f656628..4585c2362b 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/fxstat.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/fxstat.c
|
|
@@ -21,13 +21,9 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstat (int vers, int fd, struct stat *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -43,7 +39,3 @@ __fxstat (int vers, int fd, struct stat *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstat, __fxstat, GLIBC_2_0);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/lxstat.c b/sysdeps/unix/sysv/linux/mips/lxstat.c
|
|
index ebd05cca50..62a3b15b32 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/lxstat.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/lxstat.c
|
|
@@ -21,13 +21,9 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__lxstat (int vers, const char *name, struct stat *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -43,7 +39,3 @@ __lxstat (int vers, const char *name, struct stat *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-compat_symbol (libc, __lxstat, __lxstat, GLIBC_2_0);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c b/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
|
|
index 855c650814..e6c1cacd4b 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c
|
|
@@ -20,14 +20,10 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstat64 (int vers, int fd, struct stat64 *buf)
|
|
{
|
|
struct kernel_stat kbuf;
|
|
@@ -35,7 +31,3 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
|
|
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
|
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstat64, __fxstat64, GLIBC_2_2);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/fxstatat.c b/sysdeps/unix/sysv/linux/mips/mips64/fxstatat.c
|
|
index 1c1fbb02c2..e384dbab8b 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/mips64/fxstatat.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/mips64/fxstatat.c
|
|
@@ -21,20 +21,12 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
|
|
{
|
|
struct kernel_stat kst;
|
|
int r = INLINE_SYSCALL_CALL (newfstatat, fd, file, &kst, flag);
|
|
return r ?: __xstat_conv (vers, &kst, st);
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstatat, __fxstatat, GLIBC_2_4);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c b/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
|
|
index f40a2c5aa8..cfd172d301 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
|
|
@@ -19,14 +19,10 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
|
|
int
|
|
-attribute_compat_text_section
|
|
__fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|
{
|
|
if (vers == _STAT_VER_LINUX)
|
|
@@ -37,7 +33,3 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
|
|
}
|
|
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
|
|
}
|
|
-
|
|
-compat_symbol (libc, __fxstatat64, __fxstatat64, GLIBC_2_4);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c b/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
|
|
index 752c5284a7..0f3934f8c8 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
|
|
@@ -20,20 +20,12 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__lxstat64 (int vers, const char *name, struct stat64 *buf)
|
|
{
|
|
struct kernel_stat kbuf;
|
|
int r = INLINE_SYSCALL_CALL (lstat, name, &kbuf);
|
|
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
|
}
|
|
-
|
|
-compat_symbol (libc, __lxstat64, __lxstat64, GLIBC_2_2);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c b/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
|
|
index a620ba2f1f..64d2952276 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
|
|
@@ -20,20 +20,13 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
+
|
|
int
|
|
-attribute_compat_text_section
|
|
__xstat64 (int vers, const char *name, struct stat64 *buf)
|
|
{
|
|
struct kernel_stat kbuf;
|
|
int r = INLINE_SYSCALL_CALL (stat, name, &kbuf);
|
|
return r ?: __xstat64_conv (vers, &kbuf, buf);
|
|
}
|
|
-
|
|
-compat_symbol (libc, __xstat64, __xstat64, GLIBC_2_2);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/mips/xstat.c b/sysdeps/unix/sysv/linux/mips/xstat.c
|
|
index 0748a3422d..d6ff5ccbe0 100644
|
|
--- a/sysdeps/unix/sysv/linux/mips/xstat.c
|
|
+++ b/sysdeps/unix/sysv/linux/mips/xstat.c
|
|
@@ -21,13 +21,9 @@
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.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. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__xstat (int vers, const char *name, struct stat *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -43,7 +39,3 @@ __xstat (int vers, const char *name, struct stat *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-compat_symbol (libc, __xstat, __xstat, GLIBC_2_0);
|
|
-
|
|
-#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
|
|
index 66459efdba..365a6b17cf 100644
|
|
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
|
|
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
|
|
@@ -201,6 +201,10 @@ GLIBC_2.33 __fsetlocking F
|
|
GLIBC_2.33 __fwprintf_chk F
|
|
GLIBC_2.33 __fwritable 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 __getcwd_chk F
|
|
GLIBC_2.33 __getdelim F
|
|
@@ -283,6 +287,8 @@ GLIBC_2.33 __libc_start_main F
|
|
GLIBC_2.33 __libc_valloc F
|
|
GLIBC_2.33 __longjmp_chk 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 __mbrlen F
|
|
GLIBC_2.33 __mbrtowc F
|
|
@@ -481,6 +487,8 @@ GLIBC_2.33 __wunderflow F
|
|
GLIBC_2.33 __xpg_basename F
|
|
GLIBC_2.33 __xpg_sigpause 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_check F
|
|
GLIBC_2.33 _environ D 0x4
|
|
diff --git a/sysdeps/unix/sysv/linux/xstat.c b/sysdeps/unix/sysv/linux/xstat.c
|
|
index 3eb2d8c51b..a971e8cf6a 100644
|
|
--- a/sysdeps/unix/sysv/linux/xstat.c
|
|
+++ b/sysdeps/unix/sysv/linux/xstat.c
|
|
@@ -20,17 +20,13 @@
|
|
#include <fcntl.h>
|
|
#include <kernel_stat.h>
|
|
#include <sysdep.h>
|
|
-#include <shlib-compat.h>
|
|
|
|
#if !XSTAT_IS_XSTAT64
|
|
# include <xstatconv.h>
|
|
# include <xstatover.h>
|
|
|
|
-# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
|
|
-
|
|
/* Get information about the file NAME in BUF. */
|
|
int
|
|
-attribute_compat_text_section
|
|
__xstat (int vers, const char *name, struct stat *buf)
|
|
{
|
|
switch (vers)
|
|
@@ -61,8 +57,4 @@ __xstat (int vers, const char *name, struct stat *buf)
|
|
}
|
|
}
|
|
}
|
|
-
|
|
-compat_symbol (libc, __xstat, __xstat, GLIBC_2_0);
|
|
-# endif /* SHLIB_COMPAT */
|
|
-
|
|
#endif /* XSTAT_IS_XSTAT64 */
|
|
diff --git a/sysdeps/unix/sysv/linux/xstat64.c b/sysdeps/unix/sysv/linux/xstat64.c
|
|
index dd4f808c7a..9d368d5841 100644
|
|
--- a/sysdeps/unix/sysv/linux/xstat64.c
|
|
+++ b/sysdeps/unix/sysv/linux/xstat64.c
|
|
@@ -24,14 +24,10 @@
|
|
#include <sysdep.h>
|
|
#include <xstatconv.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. */
|
|
|
|
int
|
|
-attribute_compat_text_section
|
|
___xstat64 (int vers, const char *name, struct stat64 *buf)
|
|
{
|
|
#if XSTAT_IS_XSTAT64
|
|
@@ -82,17 +78,16 @@ ___xstat64 (int vers, const char *name, struct stat64 *buf)
|
|
}
|
|
|
|
#if XSTAT_IS_XSTAT64
|
|
-strong_alias (___xstat64, __xstat_compat)
|
|
-compat_symbol (libc, __xstat_compat, __xstat, GLIBC_2_2);
|
|
+weak_alias (___xstat64, __xstat);
|
|
+weak_alias (___xstat64, __GI___xstat);
|
|
#endif
|
|
|
|
+#include <shlib-compat.h>
|
|
+
|
|
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
|
|
-compat_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
|
|
+versioned_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
|
|
strong_alias (___xstat64, __old__xstat64)
|
|
compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
|
|
#else
|
|
strong_alias (___xstat64, __xstat64)
|
|
-compat_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
|
|
#endif
|
|
-
|
|
-#endif /* SHLIB_COMPAT */
|
|
--
|
|
2.26.2
|
|
|