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
Upstream commit: ac0353af81a23535f517586a5d04427120a157ac
- This removes libpthread as a separate shared object. New programs
will depend on the GLIBC_2.34 symbol version. Upstream development
brings in the following noteworthy bug fixes:
- ppc64le: scv ABI error handling fails to check IS_ERR_VALUE (#1962971)
- CVE-2021-27645 glibc: Use-after-free in addgetnetgrentX function in
netgroupcache.c (#1932590)
- Linking the main program with jemalloc causes sysconf to deadlock in
audit mode (#1909920)
Glibc on arm has a memory tagging option that can be enabled
via GLIBC_TUNABLES="glibc.mem.tagging=$SOMETHING" when glibc
is built with memory tagging support and the kernel/HW supports
MTE. This should be side effect free unless the user turns it
on with approprate HW support.
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
This needs a wrapper script around find-debuginfo.sh, so that
ld.so is not stripped.
This commit resolves debuginfo file conflicts (#1886295) because
the ldconfig debuginfo file now includes the architecture name.
All debugging information is preserved in ld.so (#1905611). With
the distribution defaults, we strip all binaries again (#1661510).
Upstream commit: f01a61e13872109b3b233158ab664364bd1879bc
- Drop glibc-rh819430.patch; fixed upstream.
- i386: Regenerate ulps
- x86: Add CPU-specific diagnostics to ld.so --list-diagnostics
- x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield
- ld.so: Implement the --list-diagnostics option
- powerpc: Update libm-test-ulps
- tst: Add test for utimes
- tst: Add test for utime
- tst: Add test for futimens
- nptl: __libc_cleanup_push/__libc_cleanup_pop require -fexceptions
- elf: Build __dl_iterate_phdr with unwinding support [BZ #27498]
- nptl: Use <unwind-link.h> for accessing the libgcc_s unwinder
- Implement _Unwind_Resume in libc on top of <unwind-link.h>
- Move sysdeps/gnu/unwind-resume.c to sysdeps/generic/unwind-resume.c
- __frame_state_for: Use <unwind-link.h> for unwinder access
- sparc: Implement backtrace on top <unwind-link.h>
- m68k: Implement backtrace on top of <unwind-link.h>
- i386: Implement backtrace on top of <unwind-link.h>
- arm: Implement backtrace on top of <unwind-link.h>
- backtrace: Implement on top of <unwind-link.h>
- Implement <unwind-link.h> for dynamically loading the libgcc_s unwinder
- Correct buffer end pointer in IO_wdefault_doallocate (BZ #26874)
- aarch64: update ulps.
- Add inputs that generate larger error bounds
- Reduce the statically linked startup code [BZ #23323]
- posix: Falling back to non wide mode in case of encoding error [BZ #14185]
- nptl: Move elision implementations into libc
- NEWS: Add missing bug closures
- added rt to malloc/Depend [BZ #27132]
- x86: Use x86/nptl/pthreaddef.h
- nptl: Move futex-internal into libc
- nptl: Move lowlevellock into libc [BZ #15648]
- nptl: Move futex-internal.c into main nptl directory
- nptl: Reformat Versions
- nptl: Split libpthread-routines into one routine per line
- x86: Remove unused variables for raw cache sizes from cacheinfo.h
- Use Linux 5.11 in build-many-glibcs.py.
- <bits/platform/x86.h>: Correct x86_cpu_TBM
- x86_64/clone.S: Upate comments
- i386/clone.S: Remove redundant EBX load
- aarch64: Remove the unused __read_tp symbol
- build-many-glibcs.py: Use make -O for more consistent log output
Upstream commit: e9e7f24543e6d1b0a31641f144697e261df6ccd7
- configure: Replace obsolete AC_TRY_LINK with AC_LINK_IFELSE
- configure: Remove obsolete AC_CHECK_TOOL_PREFIX
- configure: Replace obsoleted AC_HELP_STRING with AS_HELP_STRING
- Update syscall lists for Linux 5.11.
- Correct hppa EFD_NONBLOCK, IN_NONBLOCK, SFD_NONBLOCK and TFD_NONBLOCK defines.
- string: Work around GCC PR 98512 in rawmemchr
- tst: time: Provide Y2038 tests for mktime (tst-mktime4.c)
- tst: Provide test for difftime
- tst: Provide test for ctime
- tst: Provide test for sched_rr_get_interval
- S390: Add new hwcap values.
- aarch64: Fix sys/ptrace.h if linux headers are included
- elf: Do not copy vDSO soname when setting up link map
- x86: Remove the extra space between "# endif"
- hurd: Fix fstatfs build failure
- linux: Remove stat-check.c
- linux: Remove overflow.h
- linux: Consolidate internal_statvfs
- linux: Consolidate statvfs implementations
- linux: Consolidate fstatvfs implementations
- linux: Consolidate statfs implementations
- linux: Consolidate fstatfs implementations
- linux: Set LFS statfs as default
- linux: Set default kernel_stat.h to LFS
- linux: Fix STATFS_IS_STATFS64 definition
Upstream commit: df359a25ba6f6bda06104229fbfe284c1fb30915
- Revert "Make libc symbols hidden in static PIE" [BZ #27237]
The previous auto-sync failed to build due to the above bug.
Upstream commit: 3725ee39dbd4d7c17fc276b3ea4248cc16e4b522
- benchtests: Do not build bench-timing-type with MODULE_NAME=libc
- aarch64: Fix the list of tested IFUNC variants [BZ #26818]
- Update INSTALL with package versions that are known to work
- aarch64: Move and update the definition of MTE_ENABLED
- Fix misplaced const
- Update C-SKY libm-test-ulps
- manual: Correct argument order in mount examples [BZ #27207]
- linux: mips: Fix getdents64 fallback on mips64-n32
- x86: Properly match CPU features in /proc/cpuinfo [BZ #27222]
- x86-64: Update tst-glibc-hwcaps-2.c for x86-64 baseline
- powerpc64: Select POWER9 machine for the scv instruction
- x86: Check ifunc resolver with CPU_FEATURE_USABLE [BZ #27072]
- Revert "linux: Move {f}xstat{at} to compat symbols" for static build
- aarch64: revert memcpy optimze for kunpeng to avoid performance degradation
- Make libc symbols hidden in static PIE
- csu: Move static pie self relocation later [BZ #27072]
- Use hidden visibility for early static PIE code
- csu: Avoid weak ref for __ehdr_start in static PIE
- configure: Check for static PIE support
- elf: Avoid RELATIVE relocs in __tunables_init
- elf: Make the tunable struct definition internal only
- <sys/platform/x86.h>: Remove the C preprocessor magic
- posix: Fix fnmatch.c on bootstrap
- stdlib: Add testcase for BZ #26241
- posix: Fix regex_internal.h on bootstrap
- Use <startup.h> in __libc_init_secure
- elf: Avoid RELATIVE relocation for _dl_sysinfo
- libmvec: Add extra-test-objs to test-extras
- Hurd: Add rtld-strncpy-c.c
- Update MIPS libm-test-ulps.
- Update arm libm-test-ulps.
- Update powerpc-nofpu libm-test-ulps.
- Update hppa libm-test-ulps
- ARC: nofpu: Regenerate ulps
- ld.so: Add --list-tunables to print tunable values
- math/test-tgmath2: Fix fabs failure when no long double
- x86: Move x86 processor cache info to cpu_features
- Fix x86 build with --enable-tunable=no
- ifuncmain6pie: Remove the circular IFUNC dependency [BZ #20019]
The info pages of The GNU C Library Reference Manual included in the
devel subpackage, were (slightly) increasing the installed size of
systems that required the devel object files but not the manual.
In addition to this, a number of unnecessary files (READMEs, NEWS,
INSTALL, and an example gai.conf) were included in either the main
package or the common subpackage.
This commit introduces a new glibc-doc.noarch subpackage and moves the
info pages from the devel subpackage and the debugger interface
documentation from the main package into glibc-doc. It also removes all
the unnecessary documentation-like files mentioned above.
nscd is planned for a phased removal, with deprecation in Fedora 34:
https://fedoraproject.org/wiki/Changes/DeprecateNSCD
... and removal in Fedora 35:
https://fedoraproject.org/wiki/Changes/RemoveNSCD
systemd-resolved is now enabled by default for DNS caching in Fedora,
and sssd is capable of caching the remaining named services that nscd
handles. It is therefore time to retire nscd in Fedora and move to more
modern named services caches.