Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/glibc.git#35514a81165c87eba803232593be24c5706e22a0
This commit is contained in:
DistroBaker 2020-12-04 20:05:15 +00:00
parent 461195a745
commit 6ce6a082b9
4 changed files with 105 additions and 950 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)

View File

@ -1 +1 @@
SHA512 (glibc-2.32.9000-270-g75a193b761.tar.xz) = 74dfae4bffa8499aa07050e4a808f862c379f66c4545d37d4ca535bf4a583684938f64bf5987c91b54ddcfb606a36d18b60b13fc826b4f723b68b8c60e6c1d14
SHA512 (glibc-2.32.9000-366-g4c38c1a229.tar.xz) = fbf6178b6bd9e1e752173af3ddaca4e32e7ccc34efaa654eec287697b9d219214bd6ca82231d2b16adab01f135d396934fb08995325a8004e59c9b376a383704