From 1fd4834f594f42bfa182013bac80f5ec08c8e072 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Mon, 24 Jan 2022 16:39:19 -0500 Subject: [PATCH] Auto-sync with upstream branch master Temporary patches to work around gcc 12 vs glibc warning and ppc64le long double conflicts. Upstream commit: 5b8e7980c5dabd9aaefeba4f0208baa8cf7653ee - Linux: Detect user namespace support in io/tst-getcwd-smallbuff - Fix handling of unterminated bracket expressions in fnmatch (bug 28792) - realpath: Avoid overwriting preexisting error (CVE-2021-3998) - elf: Add a test for PT_LOAD segments with invalid p_align [BZ #28688] - elf: Add a test for PT_LOAD segments with p_align == 1 [BZ #28688] - elf: Add a test for PT_LOAD segments with mixed p_align [BZ #28676] - Add and use link-test-modules-rpath-link [BZ #28455] - tst-realpath-toolong: Fix hurd build - getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999) - Add valgrind smoke test - htl: Fix cleaning the reply port - elf: Properly align all PT_LOAD segments [BZ #28676] - realpath: Set errno to ENAMETOOLONG for result larger than PATH_MAX [BZ #28770] - support: Add helpers to create paths longer than PATH_MAX - nptl: Effectively skip CAS in spinlock loop - mips: Move DT_MIPS into - x86_64: Document libmvec vector functions accuracy [BZ #28766] - x86: Black list more Intel CPUs for TSX [BZ #27398] - elf: Fix tst-align3 - elf: Move _dl_setup_hash to its own file - htl: Fix build error in annexc - elf: Reinstate tst-audit17 - x86: use default cache size if it cannot be determined [BZ #28784] - rt/tst-mqueue*: Return UNSUPPORTED when mq_open fails with ENOSYS - Linux: Add epoll_pwait2 (BZ #27359) - Properly handle --disable-default-pie [BZ #28780] - elf: Fix 64 time_t support for installed statically binaries - Revert "elf: Fix 64 time_t support for installed statically binaries" - CVE-2022-23218: Buffer overflow in sunrpc svcunix_create (bug 28768) - sunrpc: Test case for clnt_create "unix" buffer overflow (bug 22542) - CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix" (bug 22542) - socket: Add the __sockaddr_un_set function - elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732) - elf: Set l_contiguous to 1 for the main map in more cases - elf: Introduce rtld_setup_main_map - hurd: Make RPC input array parameters const - hurd: optimize exec cleanup - hurd: Add __rtld_execve - hurd: Fix exec() leak on proc_task2proc failure - htl: Hide __pthread_attr's __schedparam type [BZ #23088] - htl: Clear kernel_thread field before releasing the thread structure - hurd: drop SA_SIGINFO availability xfail - hurd: Fix timer/clock_getres crash on NULL res parameter - hurd: Fix pthread_kill on exiting/ted thread - [hurd] Drop spurious #ifdef SHARED - [hurd] Call _dl_sort_maps_init in _dl_sysdep_start - elf tst-dl_find_object: Fix typo - s390x: Use in early HWCAP check - x86: Add x86-64-vN check to early startup - powerpc64le: Use in early HWCAP check - Add --with-rtld-early-cflags configure option - elf: Split dl-printf.c from dl-misc.c - elf/Makefile: Reflow and sort most variable assignments - Generate gcc-macros.h - x86: HAVE_X86_LAHF_SAHF, HAVE_X86_MOVBE and -march=x86-64-vN (bug 28782) - math: Add more inputs to atan2 accuracy tests [BZ #28765] - Disable debuginfod in printer tests [BZ #28757] - Update syscall lists for Linux 5.16 - i386: Remove broken CAN_USE_REGISTER_ASM_EBP (bug 28771) - stdlib: Fix formatting of tests list in Makefile - stdlib: Sort tests in Makefile - x86_64: Fix SSE4.2 libmvec atan2 function accuracy [BZ #28765] - debug: Synchronize feature guards in fortified functions [BZ #28746] - debug: Autogenerate _FORTIFY_SOURCE tests - Do not build libresolv module with 64 bit time_t flags - Revert "linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350)" - Revert "support: Add support_socket_so_timestamp_time64" - timezone: Fix tst-bz28707 Makefile rule - linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350) - support: Add support_socket_so_timestamp_time64 - elf: Fix 64 time_t support for installed statically binaries - Enable _FORTIFY_SOURCE=3 for gcc 12 and above - manual: Drop obsolete @refill - aarch64: Add HWCAP2_ECV from Linux 5.16 - Use Linux 5.16 in build-many-glibcs.py - x86: Fix __wcsncmp_evex in strcmp-evex.S [BZ# 28755] - x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] - math: Fix float conversion regressions with gcc-12 [BZ #28713] - elf: Simplify software TM implementation in _dl_find_object - Restore ENTRY_POINT definition on hppa, ia64 (bug 28749) - elf: Fix fences in _dl_find_object_update (bug 28745) - ttydefaults.h: Fix CSTATUS to control-t - AArch64: Check for SVE in ifuncs [BZ #28744] - debug: Remove catchsegv and libSegfault (BZ #14913) - Documentation for OpenRISC port - build-many-glibcs.py: add OpenRISC support - or1k: Build Infrastructure - or1k: ABI lists - or1k: Linux ABI - or1k: Linux Syscall Interface - or1k: math soft float support - or1k: Atomics and Locking primitives - or1k: Thread Local Storage support - or1k: startup and dynamic linking code - or1k: ABI Implementation - linux/syscalls: Add or1k_atomic syscall for OpenRISC - elf: Add reloc for OpenRISC - elf: Add a comment after trailing backslashes - elf: Also try DT_RUNPATH for LD_AUDIT dlopen [BZ #28455] - elf: Fix tst-linkall-static link when pthread is not in libc --- glibc-rh2034715.patch | 93 ---------------------- glibc-temp-Wno-use-after-free.patch | 86 ++++++++++++++++++++ glibc-temp-ibmldbl64.patch | 35 ++++++++ glibc.spec | 119 +++++++++++++++++++++++++++- sources | 2 +- 5 files changed, 238 insertions(+), 97 deletions(-) delete mode 100644 glibc-rh2034715.patch create mode 100644 glibc-temp-Wno-use-after-free.patch create mode 100644 glibc-temp-ibmldbl64.patch diff --git a/glibc-rh2034715.patch b/glibc-rh2034715.patch deleted file mode 100644 index ffd083c..0000000 --- a/glibc-rh2034715.patch +++ /dev/null @@ -1,93 +0,0 @@ -Revert "Use LFS and 64 bit time for installed programs (BZ #15333)" - -This reverts commit a6d2f948b71adcb5ea395cb04833bc645eab45e6. - -Temporary measure to avoid breakage on 32-bit systems. - -diff --git a/Makeconfig b/Makeconfig -index 64ef166e9af0e848..da9faeef6963bccd 100644 ---- a/Makeconfig -+++ b/Makeconfig -@@ -866,13 +866,6 @@ endif - # -fno-math-errno. - +extra-math-flags = $(if $(filter libm,$(in-module)),-fno-math-errno,-fmath-errno) - --# Use 64 bit time_t support for installed programs --installed-modules = nonlib nscd lddlibc4 libresolv ldconfig locale_programs \ -- iconvprogs libnss_files libnss_compat libnss_db libnss_hesiod \ -- libutil libpcprofile libSegFault --+extra-time-flags = $(if $(filter $(installed-modules),\ -- $(in-module)),-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64) -- - # We might want to compile with some stack-protection flag. - ifneq ($(stack-protector),) - +stack-protector=$(stack-protector) -@@ -970,7 +963,7 @@ libio-include = -I$(..)libio - built-modules = iconvprogs iconvdata ldconfig lddlibc4 libmemusage \ - libSegFault libpcprofile librpcsvc locale-programs \ - memusagestat nonlib nscd extramodules libnldbl libsupport \ -- testsuite testsuite-internal -+ testsuite - - in-module = $(subst -,_,$(firstword $(libof-$(basename $(@F))) \ - $(libof-$( $@ + ++CFLAGS-localealias.c += -Wno-use-after-free ++ + CFLAGS-tst-gettext.c += -DTESTSTRS_H=\"$(objpfx)msgs.h\" + CFLAGS-tst-translit.c += -DOBJPFX=\"$(objpfx)\" + CFLAGS-tst-gettext2.c += -DOBJPFX=\"$(objpfx)\" +diff --git a/io/Makefile b/io/Makefile +index cf265dc9b9..c53cf209ee 100644 +--- a/io/Makefile ++++ b/io/Makefile +@@ -123,9 +123,9 @@ CFLAGS-fstatvfs.c += -fexceptions + CFLAGS-fts.c += -Wno-uninitialized $(uses-callbacks) -fexceptions + CFLAGS-fts64.c += -Wno-uninitialized $(uses-callbacks) -fexceptions + CFLAGS-fts64-time64.c += -Wno-uninitialized $(uses-callbacks) -fexceptions +-CFLAGS-ftw.c += $(uses-callbacks) -fexceptions +-CFLAGS-ftw64.c += $(uses-callbacks) -fexceptions +-CFLAGS-ftw64-time64.c += $(uses-callbacks) -fexceptions ++CFLAGS-ftw.c += $(uses-callbacks) -fexceptions -Wno-use-after-free ++CFLAGS-ftw64.c += $(uses-callbacks) -fexceptions -Wno-use-after-free ++CFLAGS-ftw64-time64.c += $(uses-callbacks) -fexceptions -Wno-use-after-free + CFLAGS-posix_fallocate.c += -fexceptions + CFLAGS-posix_fallocate64.c += -fexceptions + CFLAGS-fallocate.c += -fexceptions +diff --git a/malloc/Makefile b/malloc/Makefile +index 2329cf718a..677773b86b 100644 +--- a/malloc/Makefile ++++ b/malloc/Makefile +@@ -259,6 +259,13 @@ include ../Rules + CFLAGS-mcheck-init.c += $(PIC-ccflag) + CFLAGS-obstack.c += $(uses-callbacks) + ++CFLAGS-tst-realloc.c += -Wno-use-after-free ++CFLAGS-tst-obstack.c += -Wno-use-after-free ++CFLAGS-tst-malloc-check.c += -Wno-use-after-free ++CFLAGS-tst-malloc-backtrace.c += -Wno-use-after-free ++CFLAGS-tst-malloc-too-large.c += -Wno-use-after-free ++CFLAGS-tst-mallocalign1.c += -Wno-use-after-free ++ + $(objpfx)libmcheck.a: $(objpfx)mcheck-init.o + -rm -f $@ + $(patsubst %/,cd % &&,$(objpfx)) \ +diff --git a/stdlib/Makefile b/stdlib/Makefile +index 8236741984..dbacf88218 100644 +--- a/stdlib/Makefile ++++ b/stdlib/Makefile +@@ -196,6 +196,7 @@ extra-test-objs += tst-putenvmod.os + + generated += isomac isomac.out tst-putenvmod.so + ++CFLAGS-setenv.c += -Wno-use-after-free + CFLAGS-bsearch.c += $(uses-callbacks) + CFLAGS-msort.c += $(uses-callbacks) + CFLAGS-qsort.c += $(uses-callbacks) +diff --git a/support/Makefile b/support/Makefile +index 6dc6c9d49a..7dafcffb71 100644 +--- a/support/Makefile ++++ b/support/Makefile +@@ -234,6 +234,8 @@ CFLAGS-support_paths.c = \ + CFLAGS-timespec.c += -fexcess-precision=standard + CFLAGS-timespec-time64.c += -fexcess-precision=standard + ++CFLAGS-tst-support-open-dev-null-range.c += -Wno-use-after-free ++ + ifeq (,$(CXX)) + LINKS_DSO_PROGRAM = links-dso-program-c + else diff --git a/glibc-temp-ibmldbl64.patch b/glibc-temp-ibmldbl64.patch new file mode 100644 index 0000000..7d0418d --- /dev/null +++ b/glibc-temp-ibmldbl64.patch @@ -0,0 +1,35 @@ +diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile +index 1d01846476..0e06abf9f1 100644 +--- a/sysdeps/ieee754/ldbl-opt/Makefile ++++ b/sysdeps/ieee754/ldbl-opt/Makefile +@@ -186,8 +186,8 @@ CFLAGS-nldbl-y0.c = -fno-builtin-y0l + CFLAGS-nldbl-y1.c = -fno-builtin-y1l + CFLAGS-nldbl-yn.c = -fno-builtin-ynl + +-tests += test-narrow-macros-ldbl-64 test-nldbl-redirect \ +- test-redirection-ldbl-64 ++#tests += test-narrow-macros-ldbl-64 test-nldbl-redirect \ ++# test-redirection-ldbl-64 + CFLAGS-test-narrow-macros-ldbl-64.c += -mlong-double-64 + CFLAGS-test-nldbl-redirect.c += -mlong-double-64 + CFLAGS-test-redirection-ldbl-64.c += -mlong-double-64 +@@ -198,7 +198,7 @@ endif + + # Tests for argp.h functions (reusing the relevant tests from argp/) + ifeq ($(subdir),argp) +-tests-internal += tst-nldbl-argp ++#tests-internal += tst-nldbl-argp + + $(objpfx)tst-nldbl-argp.c: tst-ldbl-argp.c + cp $< $@ +@@ -209,8 +209,8 @@ endif + # Tests for err.h and error.h functions (reusing the relevant tests from + # misc/). + ifeq ($(subdir), misc) +-tests-internal += tst-nldbl-warn +-tests-internal += tst-nldbl-error ++#tests-internal += tst-nldbl-warn ++#tests-internal += tst-nldbl-error + + $(objpfx)tst-nldbl-warn.c: tst-ldbl-warn.c + cp $< $@ diff --git a/glibc.spec b/glibc.spec index 4eab88f..c9bb5f5 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,4 +1,4 @@ -%define glibcsrcdir glibc-2.34.9000-478-g28713c0612 +%define glibcsrcdir glibc-2.34.9000-578-g5b8e7980c5 %define glibcversion 2.34.9000 # Pre-release tarballs are pulled in from git using a command that is # effectively: @@ -77,6 +77,10 @@ %undefine _annotated_build %endif +# We do our own build flags management. In particular, see +# rpm_inherit_flags below. +%undefine _auto_set_build_flags + ############################################################################## # Any architecture/kernel combination that supports running 32-bit and 64-bit # code in userspace is considered a biarch arch. @@ -148,7 +152,7 @@ end \ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 37%{?dist} +Release: 38%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -221,7 +225,12 @@ Patch15: glibc-rh1070416.patch Patch17: glibc-cs-path.patch Patch23: glibc-python3.patch Patch30: glibc-deprecated-selinux-makedb.patch -Patch31: glibc-rh2034715.patch + +# Temporary until the sources are patched to account for new gcc warning +Patch98: glibc-temp-Wno-use-after-free.patch +# Temporary until gcc is patched to have -mlong-double-64 override +# -mabi=ibmlongdouble instead of conflict with it. +Patch99: glibc-temp-ibmldbl64.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2154,6 +2163,110 @@ update_gconv_modules_cache () %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Mon Jan 24 2022 DJ Delorie - 2.34.9000-38 +- Auto-sync with upstream branch master, + commit 5b8e7980c5dabd9aaefeba4f0208baa8cf7653ee. +- Linux: Detect user namespace support in io/tst-getcwd-smallbuff +- Fix handling of unterminated bracket expressions in fnmatch (bug 28792) +- realpath: Avoid overwriting preexisting error (CVE-2021-3998) +- elf: Add a test for PT_LOAD segments with invalid p_align [BZ #28688] +- elf: Add a test for PT_LOAD segments with p_align == 1 [BZ #28688] +- elf: Add a test for PT_LOAD segments with mixed p_align [BZ #28676] +- Add and use link-test-modules-rpath-link [BZ #28455] +- tst-realpath-toolong: Fix hurd build +- getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999) +- Add valgrind smoke test +- htl: Fix cleaning the reply port +- elf: Properly align all PT_LOAD segments [BZ #28676] +- realpath: Set errno to ENAMETOOLONG for result larger than PATH_MAX [BZ #28770] +- support: Add helpers to create paths longer than PATH_MAX +- nptl: Effectively skip CAS in spinlock loop +- mips: Move DT_MIPS into +- x86_64: Document libmvec vector functions accuracy [BZ #28766] +- x86: Black list more Intel CPUs for TSX [BZ #27398] +- elf: Fix tst-align3 +- elf: Move _dl_setup_hash to its own file +- htl: Fix build error in annexc +- elf: Reinstate tst-audit17 +- x86: use default cache size if it cannot be determined [BZ #28784] +- rt/tst-mqueue*: Return UNSUPPORTED when mq_open fails with ENOSYS +- Linux: Add epoll_pwait2 (BZ #27359) +- Properly handle --disable-default-pie [BZ #28780] +- elf: Fix 64 time_t support for installed statically binaries +- Revert "elf: Fix 64 time_t support for installed statically binaries" +- CVE-2022-23218: Buffer overflow in sunrpc svcunix_create (bug 28768) +- sunrpc: Test case for clnt_create "unix" buffer overflow (bug 22542) +- CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix" (bug 22542) +- socket: Add the __sockaddr_un_set function +- elf/tst-dl_find_object: Disable subtests for non-contiguous maps (bug 28732) +- elf: Set l_contiguous to 1 for the main map in more cases +- elf: Introduce rtld_setup_main_map +- hurd: Make RPC input array parameters const +- hurd: optimize exec cleanup +- hurd: Add __rtld_execve +- hurd: Fix exec() leak on proc_task2proc failure +- htl: Hide __pthread_attr's __schedparam type [BZ #23088] +- htl: Clear kernel_thread field before releasing the thread structure +- hurd: drop SA_SIGINFO availability xfail +- hurd: Fix timer/clock_getres crash on NULL res parameter +- hurd: Fix pthread_kill on exiting/ted thread +- [hurd] Drop spurious #ifdef SHARED +- [hurd] Call _dl_sort_maps_init in _dl_sysdep_start +- elf tst-dl_find_object: Fix typo +- s390x: Use in early HWCAP check +- x86: Add x86-64-vN check to early startup +- powerpc64le: Use in early HWCAP check +- Add --with-rtld-early-cflags configure option +- elf: Split dl-printf.c from dl-misc.c +- elf/Makefile: Reflow and sort most variable assignments +- Generate gcc-macros.h +- x86: HAVE_X86_LAHF_SAHF, HAVE_X86_MOVBE and -march=x86-64-vN (bug 28782) +- math: Add more inputs to atan2 accuracy tests [BZ #28765] +- Disable debuginfod in printer tests [BZ #28757] +- Update syscall lists for Linux 5.16 +- i386: Remove broken CAN_USE_REGISTER_ASM_EBP (bug 28771) +- stdlib: Fix formatting of tests list in Makefile +- stdlib: Sort tests in Makefile +- x86_64: Fix SSE4.2 libmvec atan2 function accuracy [BZ #28765] +- debug: Synchronize feature guards in fortified functions [BZ #28746] +- debug: Autogenerate _FORTIFY_SOURCE tests +- Do not build libresolv module with 64 bit time_t flags +- Revert "linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350)" +- Revert "support: Add support_socket_so_timestamp_time64" +- timezone: Fix tst-bz28707 Makefile rule +- linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350) +- support: Add support_socket_so_timestamp_time64 +- elf: Fix 64 time_t support for installed statically binaries +- Enable _FORTIFY_SOURCE=3 for gcc 12 and above +- manual: Drop obsolete @refill +- aarch64: Add HWCAP2_ECV from Linux 5.16 +- Use Linux 5.16 in build-many-glibcs.py +- x86: Fix __wcsncmp_evex in strcmp-evex.S [BZ# 28755] +- x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] +- math: Fix float conversion regressions with gcc-12 [BZ #28713] +- elf: Simplify software TM implementation in _dl_find_object +- Restore ENTRY_POINT definition on hppa, ia64 (bug 28749) +- elf: Fix fences in _dl_find_object_update (bug 28745) +- ttydefaults.h: Fix CSTATUS to control-t +- AArch64: Check for SVE in ifuncs [BZ #28744] +- debug: Remove catchsegv and libSegfault (BZ #14913) +- Documentation for OpenRISC port +- build-many-glibcs.py: add OpenRISC support +- or1k: Build Infrastructure +- or1k: ABI lists +- or1k: Linux ABI +- or1k: Linux Syscall Interface +- or1k: math soft float support +- or1k: Atomics and Locking primitives +- or1k: Thread Local Storage support +- or1k: startup and dynamic linking code +- or1k: ABI Implementation +- linux/syscalls: Add or1k_atomic syscall for OpenRISC +- elf: Add reloc for OpenRISC +- elf: Add a comment after trailing backslashes +- elf: Also try DT_RUNPATH for LD_AUDIT dlopen [BZ #28455] +- elf: Fix tst-linkall-static link when pthread is not in libc + * Thu Jan 20 2022 Fedora Release Engineering - 2.34.9000-37 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index ddf3416..ac9ef1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glibc-2.34.9000-478-g28713c0612.tar.xz) = 5accef5c2624018bd71dc1d9ebb6b2ef057c54aff21c393b640ef18b519610dc6f203709eb5bcaffb145c7f9241f1fc711547060e5e0d31d9e21e31a911db82d +SHA512 (glibc-2.34.9000-578-g5b8e7980c5.tar.xz) = 22f6af54b723a9e44b2c44814a2b0d05bd3cf50e018974454c159bcc05b76147ab775be538c3a31ec590bf65b08f04248eadb2f68d0b5171bf9d609a244c1a1f