1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

Revert "linux: Move {f}xstat{at} to compat symbols" for static build

This reverts commit 20b39d5946 for static
library.  This avoids the need to rebuild the world for the case where
libstdc++ (and potentially other libraries) are linked to a old glibc.

To avoid requering to provide xstat symbols for newer ABIs (such as
riscv32) a new LIB_COMPAT macro is added.  It is similar to SHLIB_COMPAT
but also works for static case (thus evaluating similar to SHLIB_COMPAT
for both shared and static case).

Checked with a check-abi on all affected ABIs. I also check if the
static library does contains the xstat symbols.
This commit is contained in:
Adhemerval Zanella
2020-12-29 13:21:29 +00:00
parent 28f2ce2772
commit 46c1c765d1
17 changed files with 40 additions and 37 deletions

View File

@ -26,7 +26,7 @@
# include <xstatover.h>
# include <shlib-compat.h>
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
# if LIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
/* Get information about the file FD in BUF. */
int
@ -61,6 +61,6 @@ __fxstat (int vers, int fd, struct stat *buf)
}
}
# endif /* SHLIB_COMPAT */
# endif /* LIB_COMPAT */
#endif /* XSTAT_IS_XSTAT64 */

View File

@ -26,7 +26,7 @@
#include <statx_cp.h>
#include <shlib-compat.h>
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
#if LIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
/* Get information about the file FD in BUF. */
@ -78,4 +78,4 @@ strong_alias (___fxstat64, __fxstat64)
strong_alias (___fxstat64, __fxstat)
#endif
#endif /* SHLIB_COMPAT */
#endif /* LIB_COMPAT */

View File

@ -26,7 +26,7 @@
# include <xstatover.h>
# include <shlib-compat.h>
# if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
# if LIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
/* Get information about the file FD in BUF. */
int
@ -50,6 +50,6 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
#endif
}
# endif /* SHLIB_COMPAT */
# endif /* LIB_COMPAT */
#endif /* XSTAT_IS_XSTAT64 */

View File

@ -26,7 +26,7 @@
#include <statx_cp.h>
#include <shlib-compat.h>
#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
#if LIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33)
/* Get information about the file FD in BUF. */
@ -69,4 +69,4 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
strong_alias (__fxstatat64, __fxstatat)
#endif
#endif /* SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33) */
#endif /* LIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33) */

View File

@ -26,7 +26,7 @@
# include <xstatconv.h>
# include <xstatover.h>
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
# if LIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
/* Get information about the file NAME in BUF. */
int

View File

@ -26,7 +26,7 @@
#include <statx_cp.h>
#include <shlib-compat.h>
#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33)
#if LIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_33)
/* Get information about the file NAME in BUF. */
@ -95,4 +95,4 @@ strong_alias (___lxstat64, __lxstat64);
strong_alias (___lxstat64,__lxstat)
#endif
#endif /* SHLIB_COMPAT */
#endif /* LIB_COMPAT */

View File

@ -20,13 +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>
# include <shlib-compat.h>
# if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
# if LIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
/* Get information about the file NAME in BUF. */
int
@ -61,6 +61,6 @@ __xstat (int vers, const char *name, struct stat *buf)
}
}
# endif /* SHLIB_COMPAT */
# endif /* LIB_COMPAT */
#endif /* XSTAT_IS_XSTAT64 */

View File

@ -26,7 +26,7 @@
#include <statx_cp.h>
#include <shlib-compat.h>
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
#if LIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33)
/* Get information about the file NAME in BUF. */
@ -92,4 +92,5 @@ compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
strong_alias (___xstat64, __xstat64)
#endif
#endif /* SHLIB_COMPAT */
#endif /* LIB_COMPAT */