diff --git a/glibc-revert-fxstat-compat.patch b/glibc-revert-fxstat-compat.patch deleted file mode 100644 index a3374b4..0000000 --- a/glibc-revert-fxstat-compat.patch +++ /dev/null @@ -1,667 +0,0 @@ -From d28b30ba10c1c7da38392e1759ae141d107f3640 Mon Sep 17 00:00:00 2001 -From: Siddhesh Poyarekar -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 - #include - #include --#include - - /* 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 - #include - #include --#include - --#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 - #include - #include --#include - - /* 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 - #include - #include --#include - - /* 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 - # include --# include -- --# 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 - #include - #include --#include -- --#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 -+ - #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 - # include --# include -- --# 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 - #include - #include --#include -- --#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 - #include - #include --#include - - #if !XSTAT_IS_XSTAT64 - # include - # include - --# 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 - #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 -@@ -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 -+ - #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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include -- --#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 - #include - #include --#include - - #if !XSTAT_IS_XSTAT64 - # include - # include - --# 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 - #include - #include --#include -- --#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 -+ - #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 - diff --git a/glibc-revert-mknod-compat.patch b/glibc-revert-mknod-compat.patch deleted file mode 100644 index 85b4913..0000000 --- a/glibc-revert-mknod-compat.patch +++ /dev/null @@ -1,278 +0,0 @@ -From 9036019b09f0e6fd9d66721f4d6bbc856bb27da2 Mon Sep 17 00:00:00 2001 -From: Siddhesh Poyarekar -Date: Wed, 21 Oct 2020 14:51:39 +0530 -Subject: [PATCH] Revert "linux: Move xmknod{at} to compat symbols" - -This reverts commit 81b83ff61f95f30ad53d6075247af0ea61a0b16e. ---- - include/sys/stat.h | 4 +-- - sysdeps/mach/hurd/xmknod.c | 17 +++------ - sysdeps/mach/hurd/xmknodat.c | 12 +------ - sysdeps/unix/sysv/linux/mknod.c | 28 --------------- - sysdeps/unix/sysv/linux/mknodat.c | 35 ------------------- - .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++ - sysdeps/unix/sysv/linux/xmknod.c | 20 +++++++---- - sysdeps/unix/sysv/linux/xmknodat.c | 23 ++++++++---- - 8 files changed, 40 insertions(+), 101 deletions(-) - delete mode 100644 sysdeps/unix/sysv/linux/mknod.c - delete mode 100644 sysdeps/unix/sysv/linux/mknodat.c - -diff --git a/include/sys/stat.h b/include/sys/stat.h -index 108cb0c9bf..9a4a8f62cc 100644 ---- a/include/sys/stat.h -+++ b/include/sys/stat.h -@@ -79,8 +79,10 @@ libc_hidden_proto (__mknod); - - extern int __xmknod (int __ver, const char *__path, __mode_t __mode, - __dev_t *__dev); -+libc_hidden_proto (__xmknod) - extern int __xmknodat (int __ver, int __fd, const char *__path, - __mode_t __mode, __dev_t *__dev); -+libc_hidden_proto (__xmknodat) - - int __fxstat (int __ver, int __fildes, struct stat *__stat_buf); - int __xstat (int __ver, const char *__filename, -@@ -106,8 +108,6 @@ hidden_proto (__xstat64); - hidden_proto (__lxstat64); - hidden_proto (__fxstatat64); - # endif --libc_hidden_proto (__xmknod) --libc_hidden_proto (__xmknodat) - # define stat(fname, buf) __xstat (_STAT_VER, fname, buf) - # define lstat(fname, buf) __lxstat (_STAT_VER, fname, buf) - # define __lstat(fname, buf) __lxstat (_STAT_VER, fname, buf) -diff --git a/sysdeps/mach/hurd/xmknod.c b/sysdeps/mach/hurd/xmknod.c -index a1b5af086d..0ab4f1b719 100644 ---- a/sysdeps/mach/hurd/xmknod.c -+++ b/sysdeps/mach/hurd/xmknod.c -@@ -15,9 +15,12 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include - #include --#include -+#include -+#include -+#include -+ - - /* Create a device file named FILE_NAME, with permission and special bits MODE - and device number DEV (which can be constructed from major and minor -@@ -28,13 +31,3 @@ __xmknod (int vers, const char *file_name, mode_t mode, dev_t *dev) - return __xmknodat (vers, AT_FDCWD, file_name, mode, dev); - } - libc_hidden_def (__xmknod) -- --#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33) --int --__xmknod_compat (int vers, const char *file_name, mode_t mode, dev_t *dev) --{ -- return __xmknod (vers, file_name, mode, dev); --} -- --compat_symbol (libc, __xmknod_compat, __xmknod, GLIBC_2_0); --#endif -diff --git a/sysdeps/mach/hurd/xmknodat.c b/sysdeps/mach/hurd/xmknodat.c -index 90724694d5..4239d1ea91 100644 ---- a/sysdeps/mach/hurd/xmknodat.c -+++ b/sysdeps/mach/hurd/xmknodat.c -@@ -26,7 +26,6 @@ - #include - #include - #include --#include - - /* Create a device file named PATH relative to FD, with permission and - special bits MODE and device number DEV (which can be constructed -@@ -117,14 +116,5 @@ __xmknodat (int vers, int fd, const char *path, mode_t mode, dev_t *dev) - return __hurd_fail (err); - return 0; - } --libc_hidden_def (__xmknodat) -- --#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33) --int --__xmknodat_compat (int vers, int fd, const char *path, mode_t mode, dev_t *dev) --{ -- return __xmknodat (vers, fd, path, mode, dev); --} - --compat_symbol (libc, __xmknodat_compat, __xmknodat, GLIBC_2_4); --#endif -+libc_hidden_def (__xmknodat) -diff --git a/sysdeps/unix/sysv/linux/mknod.c b/sysdeps/unix/sysv/linux/mknod.c -deleted file mode 100644 -index 7e290ddc8b..0000000000 ---- a/sysdeps/unix/sysv/linux/mknod.c -+++ /dev/null -@@ -1,28 +0,0 @@ --/* Create a special or ordinary file. Linux version. -- Copyright (C) 2020 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#include --#include -- --int --__mknod (const char *path, mode_t mode, dev_t dev) --{ -- return __mknodat (AT_FDCWD, path, mode, dev); --} --libc_hidden_def (__mknod) --weak_alias (__mknod, mknod) -diff --git a/sysdeps/unix/sysv/linux/mknodat.c b/sysdeps/unix/sysv/linux/mknodat.c -deleted file mode 100644 -index fdb8f1951a..0000000000 ---- a/sysdeps/unix/sysv/linux/mknodat.c -+++ /dev/null -@@ -1,35 +0,0 @@ --/* Create a special or ordinary file. Linux version. -- Copyright (C) 2020 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- . */ -- --#include --#include --#include -- --int --__mknodat (int fd, const char *path, mode_t mode, dev_t dev) --{ -- /* The user-exported dev_t is 64-bit while the kernel interface is -- 32-bit. */ -- unsigned int k_dev = dev; -- if (k_dev != dev) -- return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); -- -- return INLINE_SYSCALL_CALL (mknodat, fd, path, mode, k_dev); --} --libc_hidden_def (__mknodat) --weak_alias (__mknodat, mknodat) -diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist -index 365a6b17cf..d984c02492 100644 ---- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist -+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist -@@ -484,6 +484,8 @@ GLIBC_2.33 __wprintf_chk F - GLIBC_2.33 __write F - GLIBC_2.33 __wuflow F - GLIBC_2.33 __wunderflow F -+GLIBC_2.33 __xmknod F -+GLIBC_2.33 __xmknodat F - GLIBC_2.33 __xpg_basename F - GLIBC_2.33 __xpg_sigpause F - GLIBC_2.33 __xpg_strerror_r F -diff --git a/sysdeps/unix/sysv/linux/xmknod.c b/sysdeps/unix/sysv/linux/xmknod.c -index 82bb0bd953..42809d4c57 100644 ---- a/sysdeps/unix/sysv/linux/xmknod.c -+++ b/sysdeps/unix/sysv/linux/xmknod.c -@@ -17,23 +17,29 @@ - . */ - - #include -+#include - #include --#include --#include -+#include - --#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_33) - /* Create a device file named PATH, with permission and special bits MODE - and device number DEV (which can be constructed from major and minor - device numbers with the `makedev' macro above). */ - int --attribute_compat_text_section - __xmknod (int vers, const char *path, mode_t mode, dev_t *dev) - { -+ unsigned long long int k_dev; -+ - if (vers != _MKNOD_VER) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); - -- return __mknodat (AT_FDCWD, path, mode, *dev); -+ /* We must convert the value to dev_t type used by the kernel. */ -+ k_dev = (*dev) & ((1ULL << 32) - 1); -+ if (k_dev != *dev) -+ return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); -+ -+ return INLINE_SYSCALL_CALL (mknodat, AT_FDCWD, path, mode, -+ (unsigned int) k_dev); - } - --compat_symbol (libc, __xmknod, __xmknod, GLIBC_2_0); --#endif -+weak_alias (__xmknod, _xmknod) -+libc_hidden_def (__xmknod) -diff --git a/sysdeps/unix/sysv/linux/xmknodat.c b/sysdeps/unix/sysv/linux/xmknodat.c -index fae3fe54d1..5640a499aa 100644 ---- a/sysdeps/unix/sysv/linux/xmknodat.c -+++ b/sysdeps/unix/sysv/linux/xmknodat.c -@@ -15,11 +15,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include - #include --#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ - --#if SHLIB_COMPAT(libc, GLIBC_2_4, GLIBC_2_33) - /* Create a device file named PATH relative to FD, with permission and - special bits MODE and device number DEV (which can be constructed - from major and minor device numbers with the `makedev' macro above). */ -@@ -29,8 +36,12 @@ __xmknodat (int vers, int fd, const char *file, mode_t mode, dev_t *dev) - if (vers != _MKNOD_VER) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); - -- return __mknodat (fd, file, mode, *dev); -+ /* We must convert the value to dev_t type used by the kernel. */ -+ unsigned long long int k_dev = (*dev) & ((1ULL << 32) - 1); -+ if (k_dev != *dev) -+ return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); -+ -+ return INLINE_SYSCALL (mknodat, 4, fd, file, mode, (unsigned int) k_dev); - } - --compat_symbol (libc, __xmknodat, __xmknodat, GLIBC_2_4); --#endif -+libc_hidden_def (__xmknodat) --- -2.26.2 - diff --git a/glibc.spec b/glibc.spec index 5c8b02d..51446ec 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,4 +1,4 @@ -%define glibcsrcdir glibc-2.32.9000-270-g75a193b761 +%define glibcsrcdir glibc-2.32.9000-366-g4c38c1a229 %define glibcversion 2.32.9000 # Pre-release tarballs are pulled in from git using a command that is # effectively: @@ -100,7 +100,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 17%{?dist} +Release: 18%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -161,8 +161,6 @@ Patch23: glibc-python3.patch Patch29: glibc-fedora-nsswitch.patch Patch30: glibc-deprecated-selinux-makedb.patch Patch31: glibc-deprecated-selinux-nscd.patch -Patch33: glibc-revert-fxstat-compat.patch -Patch34: glibc-revert-mknod-compat.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2260,6 +2258,108 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Fri Dec 04 2020 Arjun Shankar - 2.32.9000-18 +- Drop glibc-revert-fxstat-compat.patch; applied upstream. +- Drop glibc-revert-mknod-compat.patch; applied upstream. +- Auto-sync with upstream branch master, + commit 4c38c1a229bc3628269ad98bd7e8d31d118d91f6: +- powerpc64le: Add glibc-hwcaps support +- x86: Adjust tst-cpu-features-supports.c for GCC 11 +- x86: Set RDRAND usable if CPU supports RDRAND +- elf: Add missing header to elf/dl-hwcaps.h +- lowlevellock-futex: Remove not used macros +- futex: Remove not used futex_reltimed_wait{_cancelable} +- y2038: Convert gai_suspend to support 64 bit time +- symbols: Add defines for libanl's libanl_hidden_{def|proto} +- x86_64: Add glibc-hwcaps support +- elf: Add glibc-hwcaps subdirectory support to ld.so cache processing +- elf: Process glibc-hwcaps subdirectories in ldconfig +- elf: Implement tail merging of strings in ldconfig +- elf: Implement a string table for ldconfig, with tail merging +- elf: Add extension mechanism to ld.so.cache +- elf: Add endianness markup to ld.so.cache (bug 27008) +- elf: Add glibc-hwcaps support for LD_LIBRARY_PATH +- elf: Synchronize section header flags with binutils +- x86: Fix THREAD_SELF definition to avoid ld.so crash (bug 27004) +- htl: Add hidden def for __pthread_create/detach +- manual: Clarify File Access Modes section and add O_PATH +- htl: Add missing symbols +- Revert "linux: Move xmknod{at} to compat symbols" +- Revert "linux: Move {f}xstat{at} to compat symbols" +- elf.h: Fix spelling of EM_TILE64 comment +- nptl: Fix __futex_clocklock64 return error check [BZ #26964] +- powerpc64le: ifunc select *f128 routines in multiarch mode +- y2038: Convert aio_suspend to support 64 bit time +- Fix typo in NEWS file +- nptl: Add EOVERFLOW checks for futex calls +- nptl: Fix PTHREAD_PRIO_PROTECT timed lock +- sh: Add sh4 fpu Implies folder +- io: nftw/ftw: Fix stack overflow with large nopenfd [BZ #26353] +- elf: Introduce enum opt_format in the ldconfig implementation +- support: Add support_copy_file +- NEWS entry for commit b4f020c9b408fb3d1d3d4901c4a71839145f8791 +- timezone: Change zdump installation to bin directory +- nptl: Return EINVAL for invalid clock for pthread_clockjoin_np +- nptl: Return EINVAL for pthread_mutex_clocklock/PI with CLOCK_MONOTONIC [BZ #26801] +- nptl: Replace lll_futex_wake with futex-internal.h +- nptl: Replace lll_futex_supported_clockid with futex-internal.h +- nptl: Replace lll_futex_{timed_}wait by futex-internal.h +- nptl: Replace lll_timedwait with __futex_abstimed_wait64 +- nptl: Replace __futex_clocklock_wait64 with __futex_abstimed_wait64 +- nptl: Remove _futex_clock_wait_bitset64 +- nptl: Consolidate __futex_abstimed_wait_{cancelable}64 +- nptl: Extend __futex_abstimed_wait_cancelable64 comment +- nptl: Remove clockwait_tid +- nptl: Remove futex_wait_cancelable +- nptl: Remove unused internal futex functions +- Mark mtrace tests UNSUPPORTED if bug-ga2.mtrace or tst-leaks2.mtrace are missing +- elf: Fix uninitialized variable for _dl_write +- powerpc: Make PT_THREAD_POINTER available to assembly code +- Use libnss_files.so for tests posix/bug-ga2 and resolv/tst-leaks2 [BZ #26821] +- hurd report-wait: Fix stpcpy usage +- hurd S_msg_report_wait: Fix detecting fd ports +- hurd S_msg_report_wait: Fix reporting ports +- hurd: Fix strcpy calls +- hurd: Fix _S_msg_get/set_env_variable prototype +- hurd: Enable using ifunc +- Add {,sysdep-}ld-library-path make variable +- nptl: Move stack list variables into _rtld_global +- hurd: let _dl_argv and __libc_stack_end be relro +- hurd: Remove some remnants of cthreads +- nanosleep: Pass NULL when rem == NULL on ports with __TIMESIZE != 64 +- y2038: Convert thrd_sleep to support 64 bit time +- y2038: Convert mtx_timedlock to support 64 bit time +- y2038: Convert cnd_timedwait to support 64 bit time +- hurd: Drop CLOCK_MONOTONIC change which slipped in +- hurd: make ptsname fail with ENOTTY on non-master-pty +- mach: Add missing assert.h include +- hurd: break relocation loop between libc.so and lib{mach,hurd}user.so +- Remove obsolete defines for HPUX support from fcntl.h and update O_NONBLOCK. +- Remove tls.h inclusion from internal errno.h +- nptl: Eliminate and __is_smp +- powerpc: Eliminate UP macro conditionals +- x86: Remove UP macro. Define LOCK_PREFIX unconditionally. +- alpha: Remove UP preprocessor conditionals +- hurd: Make sure signals get started +- hurd: initialize libpthread before starting the signal thread +- hurd: Make _hurd_libc_proc_init idempotent +- powerpc: Add optimized stpncpy for POWER9 +- powerpc: Add optimized strncpy for POWER9 +- Don't use nested function in test-ffs +- Use __builtin___stpncpy_chk when available +- tests: Remove NULL check for an array +- hurd: Move {,f,l}xstat{,at} and xmknod{at} to compat symbols +- hurd: Notify the proc server later during initialization +- htl: Initialize later +- htl: Keep thread signals blocked during its initialization +- htl: Fix spurious symbols in namespaces +- Use O_CLOEXEC in sysconf [BZ #26791] +- struct _Unwind_Exception alignment should not depend on compiler flags +- hurd: keep only required PLTs in ld.so +- hurd: Add missing startup calls +- riscv: Get cache information through sysconf +- RISC-V: Add _dl_start_user. + * Thu Nov 26 2020 Florian Weimer - 2.32.9000-17 - s390x: Do not rewrite program interpreter symlink (make install is enough)