Upstream commit: b37b75d269883a2c553bb7019a813094eb4e2dd1
- x86_64: Simplify elf_machine_{load_address,dynamic}
- elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152] [BZ #28205]
- hurd: Drop fmh kludge
- time: Fix overflow itimer tests on 32-bit systems
- mips: increase stack alignment in clone to match the ABI
- mips: align stack in clone [BZ #28223]
Upstream commit: 4cc79c217744743077bf7a0ec5e0a4318f1e6641
- librt: add test (bug 28213)
- mtrace: Use a static buffer for printing [BZ #25947]
- hurd mmap: Reduce the requested max vmprot
- hurd mmap: Factorize MAP_SHARED flag check
- aarch64: Make elf_machine_{load_address,dynamic} robust [BZ #28203]
- elf: Unconditionally use __ehdr_start
- hurd: Add support for AT_NO_AUTOMOUNT
- [5/5] AArch64: Improve A64FX memset medium loops
- [4/5] AArch64: Improve A64FX memset by removing unroll32
- [3/5] AArch64: Improve A64FX memset for remaining bytes
- [2/5] AArch64: Improve A64FX memset for large sizes
- [1/5] AArch64: Improve A64FX memset for small sizes
- Use binutils 2.37 branch in build-many-glibcs.py
- Add PTRACE_GET_RSEQ_CONFIGURATION from Linux 5.13 to sys/ptrace.h
- librt: fix NULL pointer dereference (bug 28213)
- powerpc64: Add checks for Altivec and VSX in ifunc selection
- powerpc64: Check cacheline size before using optimised memset routines
- powerpc64: Replace some PPC_FEATURE_HAS_VSX with PPC_FEATURE_ARCH_2_06
- Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (bug 28182)
- Add INADDR_DUMMY from Linux 5.13 to netinet/in.h
- tst-mxfast: Don't run with mcheck
- rt: Set the correct message queue for tst-mqueue10
- Update sparc libm-test-ulps
- linux: Add sparck brk implementation
- test-dlclose-exit-race: avoid hang on pthread_create error
- gethosts: Remove unused argument _type
- hurd: Avoid spurious warning
- gaiconf_init: Avoid double-free in label and precedence lists
- copy_and_spawn_sgid: Avoid double calls to close()
- iconv_charmap: Close output file when done
- gconv_parseconfdir: Fix memory leak
- ldconfig: avoid leak on empty paths in config file
- Fix build of nptl/tst-thread_local1.cc with GCC 12
- nis: Fix leak on realloc failure in nis_getnames [BZ #28150]
- Remove obsolete comments/name from several benchtest input files.
- Remove obsolete comments/name from acos-inputs, since slow path was removed.
- Open master branch for glibc 2.35 development
Upstream commit: 77ede5f010f1b144e067ec035e422a13bb57c55d
- socket: Add time64 alias for sendmsg
- socket: Add time64 alias for recvmsg
- socket: Add time64 alias for sendmmsg
- Linux: Add time64 alias for prctl
- io: Add time64 alias for fcntl
- misc: Add time64 alias for ioctl
- RISC-V: Update rv64 ULPs
- resolv: Do not install libnss_dns.a, libnss_dns.so
- hurd: Add support for spawn_do_closefrom
- elf: Fix tst-cpu-features-cpuinfo on some AMD systems (BZ #28090)
- i386: Add the clone3 wrapper
Upstream commit: ee5ed99922ca90bcea4a2f9a48a0c9ae4b534ece
- nss: Directly load nss_dns, without going through dlsym/dlopen
- resolv: Move nss_dns into libc
- resolv: Move res_query functions into libc
- resolv: Move res_mkquery, res_nmkquery into libc
- resolv: Move res_send, res_nsend into libc
- resolv: Move res_hostalias into its own file, along with hostalias
- resolv: Move __res_context_hostalias into its own file and into libc
- resolv: Move res_queriesmatch to its own file and into libc
- resolv: Move res_nameinquery to its own file and into libc
- resolv: Move ns_samename into its own file, and into libc
- resolv: Move ns_makecanon into its own file, and into libc
- resolv: Move res_isourserver to its own file and reformat to GNU style
- resolv: Move __res_get_nsaddr to its own file and into libc
- resolv: Rename res_comp.c to res-name-checking.c and move into libc
- resolv: Move dn_skipname to its own file and into libc
- resolv: Move dn_comp to its own file and into libc
- resolv: Move _getlong, _getshort, __putlong, __putshort to res-putget
- resolv: Move dn_expand to its own file and into libc
- resolv: Move ns_name_compress into its own file and into libc
- resolv: Move ns_name_pack into its own file and into libc
- resolv: Move ns_name_pton into its own file and into libc
- resolv: Move ns_name_uncompress into its own file and into libc
- resolv: Move ns_name_skip to its own file and into libc (bug 28091)
- resolv: Deprecate legacy interfaces in libresolv
- tst-safe-linking: make false positives even more improbable
- htl: Do not expose pthread hidden proto outside libpthread
- elf: Fix a wrong array access on tst-tls20
- elf: Add -Wl,--no-as-needed for tst-tls-manydynamic*mod-dep-bad.so (BZ #28089)
- resolv: Move ns_name_unpack to its own file and into libc
- resolv: Remove unnecessary res_isourserver_p call from send_dg
- resolv: Move ns_name_ntop to its own file and into libc
- nss_dns: Do not use deprecated packet parsing functions
- resolv: Sort Makefile routines and Versions lexicographically
- socket: Add hidden prototype for setsockopt
- elf: Fix DTV gap reuse logic (BZ #27135)
- Fix linknamespace errors and local-plt-usages in nss_files.
- Add static tests for __clone_internal
- x86-64: Add the clone3 wrapper
- Add an internal wrapper for clone, clone2 and clone3
- nss: Fix build error with --disable-nscd
- htl: Fix linking static examples against libpthread
- htl: Let libc call __pthread_mutex_{,try,un}lock
- posix: Ignore non opened files on tst-spawn5
- mcheck: Align struct hdr to MALLOC_ALIGNMENT bytes [BZ #28068]
- Run postun only if the main gconv-modules configuration file exists.
Resolves: #1981013.
- Own %{libdir}/gconv/gconv-modules.d
- Rearrange file list command so that gconv-modules.cache is no longer
marked as %config
Upstream commit: 72e84d1db22203e01a43268de71ea8669eca2863
- Linux: Use 32-bit vDSO for clock_gettime, gettimeofday, time (BZ# 28071)
- Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN
- Fix failing nss/tst-nss-files-hosts-long.
- nis: nis_local_group may read from __nisgroup[-1] (bug 28075)
- hurd _Fork: Drop duplicate malloc_fork_lock calls
- support: Replace _SC_MINSIGSTKSZ with _SC_SIGSTKSZ
- support: Replace MINSIGSTKSZ with sysconf (_SC_MINSIGSTKSZ)
- Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN)
- Force building with -fno-common
- Add a generic malloc test for MALLOC_ALIGNMENT
- Properly run tst-spawn5 directly [BZ #28067]
- build-many-glibcs.py: Add glibcs-arm-linux-gnueabihf-thumb
- nptl: Use out-of-line wake function in __libc_lock_unlock slow path
- powerpc64le: Fix typo in configure
- powerpc64: Remove strcspn ifunc from the loader
- x86: Remove wcsnlen-sse4_1 from wcslen ifunc-impl-list [BZ #28064]
- x86-64: Test strlen and wcslen with 0 in the RSI register [BZ #28064]
- x86_64: Remove unneeded static PIE check for undefined weak diagnostic
- Add NT_ARM_PAC_ENABLED_KEYS to elf.h
- posix: Add posix_spawn_file_actions_addclosefrom_np
- io: Add closefrom [BZ #10353]
- linux: Add close_range
- support: Add support_stack_alloc
- _int_realloc is static
- Move mcheck symbol from stdlib to malloc
- nss: Do not install static linker input files for libnss_files
- elf/tests: Make thrlock and noload depend on libm
- Harden tcache double-free check
- nss: Access nss_files through direct references
- nss_files: Move into libc
- nss_files: Add generic code for set*ent, end*ent and file open
- nss_files: Allocate nscd file registration data on the heap
- libio: Replace internal _IO_getdelim symbol with __getdelim
- libio: Add hidden prototype for ungetc
- inet: Add hidden prototype for __inet_network
- Update MIPS libm-test-ulps
- Update powerpc-nofpu libm-test-ulps
- soft-fp: Add __extendhfsf2/__extendhfdf2, __truncsfhf2/__truncdfhf2,
__eqhf2/__nehf2
- Update kernel version to 5.13 in tst-mman-consts.py
- tests-exclude-mcheck: Fix typo
Upstream commit: 7a5db2e82fbb6c3a6e3fdae02b7166c5d0e8c7a8
- elf: Clean up GLIBC_PRIVATE exports of internal libdl symbols
- nptl: Reduce the GLIBC_PRIVATE ABI
- nptl: Remove GLIBC_2.34 versions of __pthread_mutex_lock,
__pthread_mutex_unlock
- nptl: Use internal low-level lock type for !IS_IN (libc)
- glibc.malloc.check: Fix nit in documentation
- Exclude tst-realloc from tests-mcheck
- linux: Fix setsockopt fallback
- linux: Use the expected size for SO_TIMESTAMP{NS} convertion
- linux: Consolidate Linux setsockopt implementation
- linux: Consolidate Linux getsockopt implementation
- manual: fix description for preadv()
Upstream commit: 832f50be6c9c010e46180d14126bbb81f35e808c
- linux: Check for null value msghdr struct before use
- elf: Call free from base namespace on error in dl-libc.c [BZ #27646]
Upstream commit: 91fb0f17a5779da6e7877eb74119a83dbe8bf167
- hooks.c: Remove incorrect comment
- mtrace: Add attribute nocommon to mallwatch
- Move glibc.malloc.check implementation into its own file
- mtrace: Deprecate mallwatch and tr_break
- Drop source dependencies on hooks.c and arena.c
- malloc: Initiate tcache shutdown even without allocations [BZ #28028]
- Add mcheck tests to malloc
- iconvconfig: Use the public feof_unlocked
- resolv: Move libanl into libc (if libpthread is in libc)
- powerpc: optimize strcpy/stpcpy for POWER9/10
- soft-fp: Add __extendhfxf2 and __truncxfhf2
- x86: Check RTM_ALWAYS_ABORT for RTM [BZ #28033]
- Update syscall lists for Linux 5.13
- s390: Fix MEMCHR_Z900_G5 ifunc-variant if n>=0x80000000 [BZ #28024]
- Fix extra PLT reference in libc.so due to __glob64_time64 if build with gcc 7.5 on 32bit.
- AArch64: Add hp-timing.h
- AArch64: Improve strnlen performance
Upstream commit: eb68d7d23cc411acdf68a60f194343a6774d6194
- Linux: Avoid calling malloc indirectly from __get_nprocs (#1975693)
- Use Linux 5.13 in build-many-glibcs.py
Upstream commit: 2c16cb88a6e5ace0fb7cedca86860ea7bde522a7
- Linux: Move timer helper routines from librt to libc
- Linux: Move mq_unlink from librt to libc
- Linux: Move mq_send, mq_timedsend, __mq_timedsend_time64 to libc
- Linux: Move mq_receive, mq_timedreceive, __mq_timedreceive_time64 to libc
- Linux: Move mq_open, __mq_open_2 from librt to libc
- Linux: Move mq_notify from librt to libc
- Linux: Move mq_getattr from librt to libc
- Linux: Move mq_setattr from librt to libc
- Linux: Move mq_close from librt to libc
- Linux: Move lio_listio, lio_listio64 from librt to libc
- rt: Rework lio_listio implementation
- Linux: Move aio_write, aio_write64 into libc
- Linux: Move aio_suspend, aio_suspend64, __aio_suspend_time64 to libc
- Linux: Move aio_return, aio_return64 into libc
- Linux: Move aio_read, aio_read64 into libc
- Linux: Move aio_fsync, aio_fsync64 into libc
- Linux: Move aio_error, aio_error64 into libc
- Linux: Move aio_cancel, aio_cancel64 into libc
- Linux: Move aio_init from librt into libc
- support: Fix xclone build failures on ia64 and hppa
- elf: Disable most of TLS modid gaps processing [BZ #27135]
- elf: Fix glibc-hwcaps priorities with cache flags mismatches [BZ #27046]
- * NEWS: Clarify _TIME_BITS change.
- x86: Remove unnecessary overflow check from wcsnlen-sse4_1.S
- String: Add three more overflow tests cases to test-strnlen.c
- Consolidate pthread_atfork
- posix: Do not clobber errno by atfork handlers
- posix: Consolidate fork implementation
- support: Add xclone
- x86: Fix tst-cpu-features-cpuinfo on Ryzen 9 (BZ #27873)
- x86: Copy IBT and SHSTK usable only if CET is enabled
- x86: Fix overflow bug in wcsnlen-sse4_1 and wcsnlen-avx2 [BZ #27974]
- x86: Fix overflow bug with wmemchr-sse2 and wmemchr-avx2 [BZ #27974]
- String: Add overflow tests for strnlen, memchr, and strncat [BZ #27974]
- x86-64: Add wcslen optimize for sse4.1
- x86-64: Move strlen.S to multiarch/strlen-vec.S
- hurd: Fix build after 52a5fe70a2
- nptl: Use SA_RESTART for SIGCANCEL handler
- doc: _TIME_BITS defaults may change
- More mcheck -> malloc-check refactoring
- Add NEWS item for gconv-modules.d change
- Handle DT_UNKNOWN in gconv-modules.d
- iconvconfig: Use common gconv module parsing function
- gconv_conf: Split out configuration file processing
- gconv_conf: Remove unused variables
- iconv: Remove alloca use in gconv-modules configuration parsing
- Remove unsused symbols from nptl/Versions
- linux: Only use 64-bit syscall if required for clock_nanosleep
- linux: Only use 64-bit syscall if required for internal futex
- linux: Only use 64-bit syscall if required for utimensat family
- linux: Only use 64-bit syscall if required for sigtimedwait
- linux: Only use 64-bit syscall if required for mq_timedsend
- linux: Only use 64-bit syscall if required for mq_timedreceive
- linux: Only use 64-bit syscall if required for timerfd_settime
- linux: Only use 64-bit syscall if required for semtimedop
- linux: timerfd_gettime minor cleanup
- linux: Remove time64-support
- linux: Remove supports_time64 () from clock_gettime
- linux: Remove supports_time64 () from clock_getres
- linux: Only use 64-bit syscall if required for select
- linux: Only use 64-bit syscall if required for pselect
- linux: Only use 64-bit syscall if required for ppoll
- support: Add support_create_timer
- Use 64 bit time_t stat internally
- malloc: Drop __malloc_initialized from Versions
- tst-mcheck: Rename to tst-malloc-check
- Add hidden prototypes for fsync, fdatasync
- nptl: Move pthreadP.h into sysdeps directory
- rt: Move generic implementation from sysdeps/pthread to rt
- rt: Move shm_unlink into libc
- rt: Move shm_open into libc
- rt: Replace generic stub of shm_unlink with the posix version
- rt: Replace generic stub of shm_open with the posix version
- Fix librt-routines-var issues for !PTHREAD_IN_LIBC
- rt: Lexicographically sort Versions file; librt-routines in Makefile
- elf: Use _dl_catch_error from base namespace in dl-libc.c [BZ #27646]
- Makeconfig: Fix time64-compat.mk target
Apparently, debugedit changes the build ID, so the separated debuginfo
no longer matches the specially crafted copy of libc.so.6 with its
minimal .symtab.
Upstream commit: aa9a7f629632c9180de89632d4f2c1e6039f7781
- nptl: Export _pthread_cleanup_push, _pthread_cleanup_pop again
- s390x: Align child stack while clone. [BZ #27968]
- y2038: Add test coverage
- libsupport: Add 64-bit time_t support for stat functions
- libsupport: Add 64-bit time_t support for time functions
- io: Add ftw64 with 64-bit time_t support
- io: Add fts64 with 64-bit time_t support
- posix: Add glob64 with 64-bit time_t support
- y2038: Add support for 64-bit time on legacy ABIs
- time: Add 64-bit time support for getdate
- y2038: Add __USE_TIME_BITS64 support for socket-constants.h
- y2038: Use a common definition for shmid_ds
- y2038: Use a common definition for semid_ds
- y2038: Use a common definition for msqid_ds
- y2038: Use a common definition for stat
- y2038: linux: Add __USE_TIME_BITS64 support for struct timex
- y2038: Add __USE_TIME_BITS64 support for struct utimbuf
- y2038: Add __USE_TIME_BITS64 support for struct timespec
- y2038: Add __USE_TIME_BITS64 support for struct timeval
- y2038: Add __USE_TIME_BITS64 support for time_t
- linux: Add recvvmsg fallback for 64-bit time_t SO_TIMESTAMP{NS}
- linux: Add fallback for 64-bit time_t SO_TIMESTAMP{NS}
- linux: Add fallback for 64-bit time_t SO_{RCV,SND}TIMEO
- linux: s390: Add libanl.abilist in s390 and s390x
- linux: mips: Split libanl.abilist in n32 and n64
- linux: mips: Split librt.abilist in n32 and n64
- Reinstate gconv-modules as the default configuration file
This adds patches proposed upstream to enable downgrades across
major glibc versions.
File list construction and the find-debuginfo.sh wrapper had
to be adjusted to cope with the changed file name patterns.
Auto-sync Upstream commit: ebae2f5a6f971a8f0b6c99e00f9c45ef7433924a
Changes in addition to the sync:
Add a downstream patch[1] to reinstate gconv-modules file and apply
glibc-rh697421.patch after it. Also update spec file to create a new
package glibc-gconv-extra with iconv converter modules that are not
commonly used so that they can be removed in minimal or hardened
installations.
[1] https://sourceware.org/pipermail/libc-alpha/2021-June/127497.html
Auto-sync commits:
- Add build option to disable usage of scv on powerpc
- io: Fix sporadic test failures in io/tst-stat
- nptl: Avoid async cancellation to wrongly update __nptl_nthreads (BZ #19366)
- nptl: Use pthread_kill on pthread_cancel
- nptl: Implement raise in terms of pthread_kill
- nptl: Move cancel type out of cancelhandling
- nptl: Move cancel state out of cancelhandling
- nptl: Remove CANCELING_BITMASK
- nptl: Install cancellation handler on pthread_cancel
- nptl: Deallocate the thread stack on setup failure (BZ #19511)
- Remove stale references to libdl.a
- Fix elf/tst-tls9-static after libdl cleanups.
- iconvdata: Split out non-essential gconv module configuration
- iconvdata: Move gconv-modules configuration to gconv-modules.conf
- gconv_conf: Read configuration files in gconv-modules.d
- iconvconfig: Read configuration from gconv-modules.d subdirectory
- iconvconfig: Make file handling more general purpose
- AArch64: Add support for roundeven[f]
- configure: Replaced obsolete AC_TRY_COMPILE
- libio: Assume _IO_lock_inexpensive
- nptl: Remove exit-thread.h
- Improve test coverage of strnlen function