Auto-sync with upstream branch master

Upstream commit: 1ea051145612f199d8716ecdf78b084b00b5a727

- Drop glibc-rh2269799.patch, fixed differently upstream.

-powerpc: Placeholder and infrastructure/build support to add Power11 related changes.
- powerpc: Add HWCAP3/HWCAP4 data to TCB for Power Architecture.
- elf: Enable TLS descriptor tests on aarch64
- arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372)
- Ignore undefined symbols for -mtls-dialect=gnu2
- Add tst-gnu2-tls2mod1 to test-internal-extras
- x86-64: Allocate state buffer space for RDI, RSI and RBX (#2269799)
- riscv: Update nofpu libm test ulps
- Add STATX_MNT_ID_UNIQUE from Linux 6.8 to bits/statx-generic.h
- linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
- aarch64: fix check for SVE support in assembler
- Update kernel version to 6.8 in header constant tests
- Update syscall lists for Linux 6.8
- Use Linux 6.8 in build-many-glibcs.py
- powerpc: Remove power8 strcasestr optimization
- riscv: Fix alignment-ignorant memcpy implementation
- linux/sigsetops: fix type confusion (bug 31468)
- LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf
- duplocale: protect use of global locale (bug 23970)
This commit is contained in:
Florian Weimer 2024-03-20 09:35:15 +01:00
parent 136bbceed9
commit b102601d3e
3 changed files with 27 additions and 38 deletions

View File

@ -1,34 +0,0 @@
Author: Florian Weimer <fweimer@redhat.com>
Date: Sat Mar 16 15:30:37 2024 +0100
x86-64: Stack alignment in _dl_tlsdesc_dynamic and red zone usage (bug 31501)
In sysdeps/x86_64/dl-tlsdesc-dynamic.h, the stack pointer is
realigned for some variants (notably _dl_tlsdesc_dynamic_xsavec).
This realignment does not take into account that the function has
already used part of the red zone at this point, thus clobbering
the initally saved register values located there if the stack
alignment inherited from the caller is unfortunate.
diff --git a/sysdeps/x86_64/dl-tlsdesc-dynamic.h b/sysdeps/x86_64/dl-tlsdesc-dynamic.h
index 9f02cfc3eb..8e49e7eece 100644
--- a/sysdeps/x86_64/dl-tlsdesc-dynamic.h
+++ b/sysdeps/x86_64/dl-tlsdesc-dynamic.h
@@ -83,6 +83,8 @@ _dl_tlsdesc_dynamic:
2:
#if DL_RUNTIME_RESOLVE_REALIGN_STACK
movq %rbx, -24(%rsp)
+ subq $24, %rsp
+ cfi_adjust_cfa_offset(24)
mov %RSP_LP, %RBX_LP
cfi_def_cfa_register(%rbx)
and $-STATE_SAVE_ALIGNMENT, %RSP_LP
@@ -153,6 +155,8 @@ _dl_tlsdesc_dynamic:
#if DL_RUNTIME_RESOLVE_REALIGN_STACK
mov %RBX_LP, %RSP_LP
cfi_def_cfa_register(%rsp)
+ addq $24, %rsp
+ cfi_adjust_cfa_offset(-24)
movq -24(%rsp), %rbx
cfi_restore(%rbx)
#else

View File

@ -1,4 +1,4 @@
%global glibcsrcdir glibc-2.39.9000-92-gb6e3898194
%global glibcsrcdir glibc-2.39.9000-111-g1ea0511456
%global glibcversion 2.39.9000
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
@ -171,7 +171,7 @@ Version: %{glibcversion}
# - It allows using the Release number without the %%dist tag in the dependency
# generator to make the generated requires interchangeable between Rawhide
# and ELN (.elnYY < .fcXX).
%global baserelease 8
%global baserelease 9
Release: %{baserelease}%{?dist}
# Licenses:
@ -281,7 +281,6 @@ Patch9: glibc-rh827510.patch
Patch13: glibc-fedora-localedata-rh61908.patch
Patch17: glibc-cs-path.patch
Patch23: glibc-python3.patch
Patch24: glibc-rh2269799.patch
##############################################################################
# Continued list of core "glibc" package information:
@ -2458,6 +2457,30 @@ update_gconv_modules_cache ()
%endif
%changelog
* Wed Mar 20 2024 Florian Weimer <fweimer@redhat.com> - 2.39.9000-9
- Drop glibc-rh2269799.patch, fixed differently upstream.
- Auto-sync with upstream branch master,
commit 1ea051145612f199d8716ecdf78b084b00b5a727:
- powerpc: Placeholder and infrastructure/build support to add Power11 related changes.
- powerpc: Add HWCAP3/HWCAP4 data to TCB for Power Architecture.
- elf: Enable TLS descriptor tests on aarch64
- arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372)
- Ignore undefined symbols for -mtls-dialect=gnu2
- Add tst-gnu2-tls2mod1 to test-internal-extras
- x86-64: Allocate state buffer space for RDI, RSI and RBX (#2269799)
- riscv: Update nofpu libm test ulps
- Add STATX_MNT_ID_UNIQUE from Linux 6.8 to bits/statx-generic.h
- linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
- aarch64: fix check for SVE support in assembler
- Update kernel version to 6.8 in header constant tests
- Update syscall lists for Linux 6.8
- Use Linux 6.8 in build-many-glibcs.py
- powerpc: Remove power8 strcasestr optimization
- riscv: Fix alignment-ignorant memcpy implementation
- linux/sigsetops: fix type confusion (bug 31468)
- LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf
- duplocale: protect use of global locale (bug 23970)
* Sat Mar 16 2024 Florian Weimer <fweimer@redhat.com> - 2.39.9000-8
- Global dynamic TLS access may clobber RBX (#2269799)

View File

@ -1 +1 @@
SHA512 (glibc-2.39.9000-92-gb6e3898194.tar.xz) = 8b354ced1de682e9bc34c9d4af8f6f7e593e0a6777617f3ff28cb7405bbe5ff7efb8de988213962a3484c589f4d6eaaa91d65ede24fb5cc1ffeb60fb0382528f
SHA512 (glibc-2.39.9000-111-g1ea0511456.tar.xz) = 4f5f8a27351e1b80442e44ccdb4bd585f7581ecb1f3f3e9f61946956e9fff30fb2d17ac9da2baf695f4cf2430c405ffae87d13c8ea93564df92a558a04f0eeb6