aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-06x86-64: Add vector acosh/acoshf to libmvec microbenchmarkSunil K Pandey
Add vector acosh/acoshf and input files to libmvec microbenchmark. libmvec-acosh-inputs: 90% Normal random distribution range: (1.0, DBL_MAX) mean: 1.0 sigma: 8.0 10% uniform random distribution in range (1.0, 1.0e6) libmvec-acoshf-inputs: 90% Normal random distribution range: (1.0f, FLT_MAX) mean: 1.0f sigma: 4.0f 10% uniform random distribution in range (1.0f, 1.0e6f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector atanh/atanhf to libmvec microbenchmarkSunil K Pandey
Add vector atanh/atanhf and input files to libmvec microbenchmark. libmvec-atanh-inputs: 90% Normal random distribution range: (-1.0, 1.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-1.0, 1.0) libmvec-atanhf-inputs: 90% Normal random distribution range: (-1.0f, 1.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-1.0f, 1.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector log1p/log1pf to libmvec microbenchmarkSunil K Pandey
Add vector log1p/log1pf and input files to libmvec microbenchmark. libmvec-log1p-inputs: 70% Normal random distribution range: (-1.0, DBL_MAX) mean: 0.0 sigma: 50.0 30% uniform random distribution in range (-1.0, 1.0e6) libmvec-log1pf-inputs: 70% Normal random distribution range: (-1.0f, FLT_MAX) mean: 0.0f sigma: 50.0f 30% uniform random distribution in range (-1.0f, 1.0e6f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector log2/log2f to libmvec microbenchmarkSunil K Pandey
Add vector log2/log2f and input files to libmvec microbenchmark. libmvec-log2-inputs: 70% Normal random distribution range: (0.0, DBL_MAX) mean: 1.0 sigma: 50.0 30% uniform random distribution in range (0.0, 1.0e6) libmvec-log2f-inputs: 70% Normal random distribution range: (0.0f, FLT_MAX) mean: 1.0f sigma: 50.0f 30% uniform random distribution in range (0.0f, 1.0e6f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector log10/log10f to libmvec microbenchmarkSunil K Pandey
Add vector log10/log10f and input files to libmvec microbenchmark. libmvec-log10-inputs: 70% Normal random distribution range: (0.0, DBL_MAX) mean: 1.0 sigma: 50.0 30% uniform random distribution in range (0.0, 1.0e6) libmvec-log10f-inputs: 70% Normal random distribution range: (0.0f, FLT_MAX) mean: 1.0f sigma: 50.0f 30% uniform random distribution in range (0.0f, 1.0e6f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector atan2/atan2f to libmvec microbenchmarkSunil K Pandey
Add vector atan2/atan2f and input files to libmvec microbenchmark. libmvec-atan2-inputs: arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) arg2: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) libmvec-atan2f-inputs: arg1: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) arg2: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector cbrt/cbrtf to libmvec microbenchmarkSunil K Pandey
Add vector cbrt/cbrtf and input files to libmvec microbenchmark. libmvec-cbrt-inputs: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 10.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-cbrtf-inputs: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 10.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector sinh/sinhf to libmvec microbenchmarkSunil K Pandey
Add vector sinh/sinhf and input files to libmvec microbenchmark. libmvec-sinh-inputs: 90% Normal random distribution range: (-710.0, 710.0) mean: 0.0 sigma: 32.0 10% uniform random distribution in range (-500.0, 500.0) libmvec-sinhf-inputs: 90% Normal random distribution range: (-89.0f, 89.0f) mean: 0.0f sigma: 16.0f 10% uniform random distribution in range (-50.0f, 50.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector expm1/expm1f to libmvec microbenchmarkSunil K Pandey
Add vector expm1/expm1f and input files to libmvec microbenchmark. libmvec-expm1-inputs: 90% Normal random distribution range: (-708.0, 709.0) mean: 0.0 sigma: 16.0 10% uniform random distribution in range (-500.0, 500.0) libmvec-expm1f-inputs: 90% Normal random distribution range: (-87.0f, 88.0f) mean: 0.0f sigma: 8.0f 10% uniform random distribution in range (-50.0f, 50.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector cosh/coshf to libmvec microbenchmarkSunil K Pandey
Add vector cosh/coshf and input files to libmvec microbenchmark. libmvec-cosh-inputs: 90% Normal random distribution range: (-710.0, 710.0) mean: 0.0 sigma: 32.0 10% uniform random distribution in range (-500.0, 500.0) libmvec-coshf-inputs: 90% Normal random distribution range: (-89.0f, 89.0f) mean: 0.0f sigma: 16.0f 10% uniform random distribution in range (-50.0f, 50.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector exp10/exp10f to libmvec microbenchmarkSunil K Pandey
Add vector exp10/exp10f and input files to libmvec microbenchmark. libmvec-exp10-inputs: 90% Normal random distribution range: (-307.0, 308.0) mean: 0.0 sigma: 16.0 10% uniform random distribution in range (-250.0, 250.0) libmvec-exp10f-inputs: 90% Normal random distribution range: (-37.0f, 38.0f) mean: 0.0f sigma: 8.0f 10% uniform random distribution in range (-25.0f, 25.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector exp2/exp2f to libmvec microbenchmarkSunil K Pandey
Add vector exp2/exp2f and input files to libmvec microbenchmark. libmvec-exp2-inputs: 90% Normal random distribution range: (-1022.0, 1024.0) mean: 0.0 sigma: 16.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-exp2f-inputs: 90% Normal random distribution range: (-126.0f, 128.0f) mean: 0.0f sigma: 8.0f 10% uniform random distribution in range (-100.0f, 100.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector hypot/hypotf to libmvec microbenchmarkSunil K Pandey
Add vector hypot/hypotf and input files to libmvec microbenchmark. libmvec-hypot-inputs: arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 10.0 10% uniform random distribution in range (-1000.0, 1000.0) arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 10.0 10% uniform random distribution in range (-1000.0, 1000.0) libmvec-hypotf-inputs: arg1: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 10.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) arg2: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 10.0f 10% uniform random distribution in range (-1000.0f, 1000.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector asin/asinf to libmvec microbenchmarkSunil K Pandey
Add vector asin/asinf and input files to libmvec microbenchmark. libmvec-asin-inputs: 90% Normal random distribution range: (-1.0, 1.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-1.0, 1.0) libmvec-asinf-inputs: 90% Normal random distribution range: (-1.0f, 1.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-1.0f, 1.0f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06x86-64: Add vector atan/atanf to libmvec microbenchmarkSunil K Pandey
Add vector atan/atanf and input files to libmvec microbenchmark. libmvec-atan-inputs: arg1: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) arg2: 90% Normal random distribution range: (-DBL_MAX, DBL_MAX) mean: 0.0 sigma: 4.0 10% uniform random distribution in range (-1.0e6, 1.0e6) libmvec-atanf-inputs: arg1: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) arg2: 90% Normal random distribution range: (-FLT_MAX, FLT_MAX) mean: 0.0f sigma: 4.0f 10% uniform random distribution in range (-1.0e6f, 1.0e6f) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-06elf: Replace tst-audit24bmod2.so with tst-audit24bmod2H.J. Lu
Replace tst-audit24bmod2.so with tst-audit24bmod2 to silence: make[2]: Entering directory '/export/gnu/import/git/gitlab/x86-glibc/elf' Makefile:2201: warning: overriding recipe for target '/export/build/gnu/tools-build/glibc-gitlab/build-x86_64-linux/elf/tst-audit24bmod2.so' ../Makerules:765: warning: ignoring old recipe for target '/export/build/gnu/tools-build/glibc-gitlab/build-x86_64-linux/elf/tst-audit24bmod2.so'
2022-02-05x86_64/multiarch: Sort sysdep_routines and put one entry per lineH.J. Lu
2022-02-05string: Sort headers, routines, tests and tests-translationH.J. Lu
Sort headers, routines, tests and tests-translation. Put one entry per line.
2022-02-05x86: Improve L to support L(XXX_SYMBOL (YYY, ZZZ))H.J. Lu
2022-02-05Benchtests: move 'alloc_bufs' from loop in bench-memset.cNoah Goldstein
One buf allocation is sufficient. Calling `alloc_bufs' in the loop just adds unnecessary syscall overhead. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-02-04x86-64: Fix strcmp-evex.SH.J. Lu
Change "movl %edx, %rdx" to "movl %edx, %edx" in: commit 8418eb3ff4b781d31c4ed5dc6c0bd7356bc45db9 Author: Noah Goldstein <goldstein.w.n@gmail.com> Date: Mon Jan 10 15:35:39 2022 -0600 x86: Optimize strcmp-evex.S
2022-02-04x86-64: Fix strcmp-avx2.SH.J. Lu
Change "movl %edx, %rdx" to "movl %edx, %edx" in: commit b77b06e0e296f1a2276c27a67e1d44f2cfa38d45 Author: Noah Goldstein <goldstein.w.n@gmail.com> Date: Mon Jan 10 15:35:38 2022 -0600 x86: Optimize strcmp-avx2.S
2022-02-03x86-64: Add vector acos/acosf to libmvec microbenchmarkSunil K Pandey
Add vector acos/acosf and input files to libmvec microbenchmark. libmvec-acos-inputs: 90% Normal random distribution range: (-1.0, 1.0) mean: 0.0 sigma: 1.0 10% uniform random distribution in range (-1.0, 1.0) libmvec-acosf-inputs: 90% Normal random distribution range: (-1.0f, 1.0f) mean: 0.0f sigma: 1.0f 10% uniform random distribution in range (-1.0f, 1.0f) Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-02-03benchtests: Add more coverage for strcmp and strncmp benchmarksNoah Goldstein
Add more small and medium sized tests for strcmp and strncmp. As well for strcmp add option for more direct control of alignment. Previously alignment was being pushed to the end of the page. While this is the most difficult case to implement, it is far from the common case and so shouldn't be the only benchmark. Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-02-03x86: Optimize strcmp-evex.SNoah Goldstein
Optimization are primarily to the loop logic and how the page cross logic interacts with the loop. The page cross logic is at times more expensive for short strings near the end of a page but not crossing the page. This is done to retest the page cross conditions with a non-faulty check and to improve the logic for entering the loop afterwards. This is only particular cases, however, and is general made up for by more than 10x improvements on the transition from the page cross -> loop case. The non-page cross cases as well are nearly universally improved. test-strcmp, test-strncmp, test-wcscmp, and test-wcsncmp all pass. Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-02-03x86: Optimize strcmp-avx2.SNoah Goldstein
Optimization are primarily to the loop logic and how the page cross logic interacts with the loop. The page cross logic is at times more expensive for short strings near the end of a page but not crossing the page. This is done to retest the page cross conditions with a non-faulty check and to improve the logic for entering the loop afterwards. This is only particular cases, however, and is general made up for by more than 10x improvements on the transition from the page cross -> loop case. The non-page cross cases are improved most for smaller sizes [0, 128] and go about even for (128, 4096]. The loop page cross logic is improved so some more significant speedup is seen there as well. test-strcmp, test-strncmp, test-wcscmp, and test-wcsncmp all pass. Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-02-03string: Improve coverage in test-strcmp.c and test-strncmp.cNoah Goldstein
Add additional test cases for small / medium sizes. Add tests in test-strncmp.c where `n` is near ULONG_MAX or LONG_MIN to test for overflow bugs in length handling. Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-02-03string/test-str*cmp: remove stupid_[strcmp, strncmp, wcscmp, wcsncmp].Noah Goldstein
These implementations just add to test duration. Since we have simple_* implementations we already have a safe reference implementation. Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
2022-02-03linux: Fix missing __convert_scm_timestamps (BZ #28860)Adhemerval Zanella
Commit 948ce73b31 made recvmsg/recvmmsg to always call __convert_scm_timestamps for 64 bit time_t symbol, so adjust it to always build it for __TIMESIZE != 64. It fixes build for architecture with 32 bit time_t support when configured with minimum kernel of 5.1.
2022-02-03linux: __get_nprocs_sched: do not feed CPU_COUNT_S with garbage [BZ #28850]Gleb Fotengauer-Malinovskiy
Pass the actual number of bytes returned by the kernel. Fixes: 33099d72e41c ("linux: Simplify get_nprocs") Reviewed-by: Dmitry V. Levin <ldv@altlinux.org>
2022-02-03posix: Fix tst-spawn6 terminal handling (BZ #28853)Adhemerval Zanella
The test changes the current foreground process group, which might break testing depending of how the make check is issued. For instance: nohup make -j1 test t=posix/tst-spawn6 | less Will set 'make' and 'less' to be in the foreground process group in the current session. When tst-spawn6 new child takes over it becomes the foreground process and 'less' is stopped and backgrounded which interrupts the 'make check' command. To fix it a pseudo-terminal is allocated, the test starts in new session (so there is no controlling terminal associated), and the pseudo-terminal is set as the controlling one (similar to what login_tty does). Checked on x86_64-linux-gnu. Tested-by: Carlos O'Donell <carlos@redhat.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2022-02-03Regenerate configureAndreas Schwab
2022-02-03Open master branch for glibc 2.36 developmentglibc-2.35.9000Carlos O'Donell
2022-02-03Create ChangeLog.old/ChangeLog.24.glibc-2.35Carlos O'Donell
2022-02-03Prepare for glibc 2.35 release.Carlos O'Donell
Update version.h, and include/features.h.
2022-02-03Regenerate configure.Carlos O'Donell
2022-02-03Update install.texi, and regenerate INSTALL.Carlos O'Donell
2022-02-02Update NEWS bug list.Carlos O'Donell
2022-02-02Update NEWS.Carlos O'Donell
Moved LD_AUDIT notes into requirements section since the LAV_CURRENT bump is a requirements change that impacts loading old audit modules or new audit modules on older loaders.
2022-02-02Update translations.Carlos O'Donell
2022-02-02Linux: Use ptrdiff_t for __rseq_offsetFlorian Weimer
This matches the data size initial-exec relocations use on most targets. Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2022-02-02Fix elf/tst-audit25a with default bind now toolchainsSzabolcs Nagy
This test relies on lazy binding for the executable so request that explicitly in case the toolchain defaults to bind now.
2022-02-02posix: Replace posix_spawnattr_tc{get,set}pgrp_np with ↵Adhemerval Zanella
posix_spawn_file_actions_addtcsetpgrp_np The posix_spawnattr_tcsetpgrp_np works on a file descriptor (the controlling terminal), so it would make more sense to actually fit it on the file actions API. Also, POSIX_SPAWN_TCSETPGROUP is not really required since it is implicit by the presence of tcsetpgrp file action. The posix/tst-spawn6.c is also fixed when TTY can is not present. Checked on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
2022-02-02or1k: Define PI_STATIC_AND_HIDDENStafford Horne
PI_STATIC_AND_HIDDEN means that references to static functions, data and symbols with hidden visibility do not need any run-time relocations after the final link, with the build flags used by glibc. OpenRISC follows this so enabled PI_STATIC_AND_HIDDEN by adding configure.ac and generating configure. Suggested-by: Florian Weimer <fweimer@redhat.com>
2022-02-01SET_RELHOOK: merge i386 and x86_64, and move to sysdeps/mach/hurd/x86Samuel Thibault
It is not Hurd-specific, but H.J. Lu wants it there. Also, dc.a can be used to avoid hardcoding .long vs .quad and thus use the same implementation for i386 and x86_64.
2022-02-01elf: Fix runtime linker auditing on aarch64 (BZ #26643)Ben Woodard
The rtld audit support show two problems on aarch64: 1. _dl_runtime_resolve does not preserve x8, the indirect result location register, which might generate wrong result calls depending of the function signature. 2. The NEON Q registers pushed onto the stack by _dl_runtime_resolve were twice the size of D registers extracted from the stack frame by _dl_runtime_profile. While 2. might result in wrong information passed on the PLT tracing, 1. generates wrong runtime behaviour. The aarch64 rtld audit support is changed to: * Both La_aarch64_regs and La_aarch64_retval are expanded to include both x8 and the full sized NEON V registers, as defined by the ABI. * dl_runtime_profile needed to extract registers saved by _dl_runtime_resolve and put them into the new correctly sized La_aarch64_regs structure. * The LAV_CURRENT check is change to only accept new audit modules to avoid the undefined behavior of not save/restore x8. * Different than other architectures, audit modules older than LAV_CURRENT are rejected (both La_aarch64_regs and La_aarch64_retval changed their layout and there are no requirements to support multiple audit interface with the inherent aarch64 issues). * A new field is also reserved on both La_aarch64_regs and La_aarch64_retval to support variant pcs symbols. Similar to x86, a new La_aarch64_vector type to represent the NEON register is added on the La_aarch64_regs (so each type can be accessed directly). Since LAV_CURRENT was already bumped to support bind-now, there is no need to increase it again. Checked on aarch64-linux-gnu. Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
2022-02-01elf: Issue la_symbind for bind-now (BZ #23734)Adhemerval Zanella
The audit symbind callback is not called for binaries built with -Wl,-z,now or when LD_BIND_NOW=1 is used, nor the PLT tracking callbacks (plt_enter and plt_exit) since this would change the expected program semantics (where no PLT is expected) and would have performance implications (such as for BZ#15533). LAV_CURRENT is also bumped to indicate the audit ABI change (where la_symbind flags are set by the loader to indicate no possible PLT trace). To handle powerpc64 ELFv1 function descriptor, _dl_audit_symbind requires to know whether bind-now is used so the symbol value is updated to function text segment instead of the OPD (for lazy binding this is done by PPC64_LOAD_FUNCPTR on _dl_runtime_resolve). Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu, powerpc64-linux-gnu. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
2022-02-01elf: Fix initial-exec TLS access on audit modules (BZ #28096)Adhemerval Zanella
For audit modules and dependencies with initial-exec TLS, we can not set the initial TLS image on default loader initialization because it would already be set by the audit setup. However, subsequent thread creation would need to follow the default behaviour. This patch fixes it by setting l_auditing link_map field not only for the audit modules, but also for all its dependencies. This is used on _dl_allocate_tls_init to avoid the static TLS initialization at load time. Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
2022-02-01elf: Add la_activity during application exitAdhemerval Zanella
la_activity is not called during application exit, even though la_objclose is. Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
2022-02-01localedata: Adjust C.UTF-8 to align with C/POSIX.Carlos O'Donell
We have had one downstream report from Canonical [1] that an rrdtool test was broken by the differences in LC_TIME that we had in the non-builtin C locale (C.UTF-8). If one application has an issue there are going to be others, and so with this commit we review and fix all the issues that cause the builtin C locale to be different from C.UTF-8, which includes: * mon_decimal_point should be empty e.g. "" - Depends on mon_decimal_point_wc fix. * negative_sign should be empty e.g. "" * week should be aligned with the builtin C/POSIX locale * d_fmt corrected with escaped slashes e.g. "%m//%d//%y" * yesstr and nostr should be empty e.g. "" * country_ab2 and country_ab3 should be empty e.g. "" We bump LC_IDENTIFICATION version and adjust the date to indicate the change in the locale. A new tst-c-utf8-consistency test is added to ensure consistency between C/POSIX and C.UTF-8. Tested on x86_64 and i686 without regression. [1] https://sourceware.org/pipermail/libc-alpha/2022-January/135703.html Co-authored-by: Florian Weimer <fweimer@redhat.com> Reviewed-by: Florian Weimer <fweimer@redhat.com>