Auto-sync with upstream branch master

Upstream commit: 4c38c1a229bc3628269ad98bd7e8d31d118d91f6

- Drop glibc-revert-fxstat-compat.patch; applied upstream.
- Drop glibc-revert-mknod-compat.patch; applied upstream.
- 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 <stddef.h> 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 <elf.h> 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 <smp.h> 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.
This commit is contained in:
Arjun Shankar 2020-12-04 15:16:11 +01:00
parent a3f3b637ae
commit 8f61d411e6
3 changed files with 104 additions and 949 deletions

View File

@ -1,667 +0,0 @@
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

View File

@ -1,278 +0,0 @@
From 9036019b09f0e6fd9d66721f4d6bbc856bb27da2 Mon Sep 17 00:00:00 2001
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
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
<https://www.gnu.org/licenses/>. */
-#include <sys/stat.h>
+#include <errno.h>
#include <fcntl.h>
-#include <shlib-compat.h>
+#include <stddef.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
/* 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 <string.h>
#include <sys/types.h>
#include <sys/sysmacros.h>
-#include <shlib-compat.h>
/* 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
- <https://www.gnu.org/licenses/>. */
-
-#include <sys/stat.h>
-#include <fcntl.h>
-
-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
- <https://www.gnu.org/licenses/>. */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-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 @@
<https://www.gnu.org/licenses/>. */
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <fcntl.h>
-#include <errno.h>
-#include <shlib-compat.h>
+#include <sysdep.h>
-#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
<https://www.gnu.org/licenses/>. */
-#include <sys/stat.h>
#include <errno.h>
-#include <shlib-compat.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
-#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

View File

@ -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 <arjun@redhat.com> - 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 <stddef.h> 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 <elf.h> 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 <smp.h> 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 <fweimer@redhat.com> - 2.32.9000-17
- s390x: Do not rewrite program interpreter symlink (make install is enough)