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.
Upstream commit: cf1290064598def8dfeddec3d86d98495aee1fba
- Use the right argument code in unnormal tests
- ldconfig/x86: Store ISA level in cache and aux cache
- elf: work around a gcc bug in elf_get_dynamic_info
- x86: Set header.feature_1 in TCB for always-on CET [BZ #27177]
- posix: consume less entropy on tempname
- Makerules: Do not require startup files for format.lds probe object
- install: Replace scripts/output-format.sed with objdump -f [BZ #26559]
- math: Add BZ#18980 fix back on dbl-64 cosh
- posix: Sync tempname with gnulib [BZ #26648]
- posix: Fix return value of system if shell can not be executed [BZ #27053]
- support: Add xchmod wrapper
- Update STATX_ATTR_DAX value from Linux 5.10.
- riscv: Initialize $gp before resolving the IRELATIVE relocation
- riscv: support GNU indirect function
- posix: Correct attribute access mode on readlinkat [BZ #27024].
- Add xfchmod to libsupport
- Add xchdir to libsupport.
- POSIX locale: Fix typo in comment
- ARC: Regenerate ulps
- mntent: Use __putc_unlocked instead of fputc_unlocked
- aarch64: define PI_STATIC_AND_HIDDEN
- Update NEWS for CVE-2019-25013.
- x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717]
- Remove dbl-64/wordsize-64 (part 2)
- Remove dbl-64/wordsize-64
- Add SEGV_MTEAERR and SEGV_MTESERR from Linux 5.10.
- support: Add support_small_thread_stack_size
- stdlib: Sync canonicalize with gnulib [BZ #10635] [BZ #26592] [BZ #26341] [BZ #24970]
- malloc: Add scratch_buffer_dupfree
- Import filename.h from gnulib
- Import idx.h from gnulib
- alpha: Provide wait4 for static library [BZ #27150]
- aarch64: push the set of rules before falling into slow path
- nptl: Fix comment typo in pthread_cond_wait.c
- x86: Check IFUNC definition in unrelocated executable [BZ #20019]
- hurd: Fix mmap(!MAP_FIXED) on bogus address
Upstream commit: 3ec5d83d2a237d39e7fd6ef7a0bc8ac4c171a4a5
- Drop glibc-fedora-__libc_multiple_libcs.patch. Replaced by upstream's
__libc_initial flag.
- Adjust glibc-rh819430.patch to upstream's gnulib merge of fnmatch.
- Disable -Werror again due to GCC PR98512.
- x86-64: Avoid rep movsb with short distance [BZ #27130]
- aarch64: fix stack missing after sp is updated
- nptl: Remove set*id, set*gid files which are not built
- Drop nan-pseudo-number.h usage from tests
- posix: Sync fnmatch with gnulib
- Sync flexmember.h with gnulib
- Sync intprops.h with gnulib
- posix: Sync glob code with gnulib
- posix: Sync regex code with gnulib
- Move generic nan-pseudo-number.h to ldbl-96
- Sync FDL from https://www.gnu.org/licenses/fdl-1.3.texi
- Sync move-if-change from Gnulib
- Update automatically-generated copyright dates
- Update copyright dates not handled by scripts/update-copyrights.
- Update copyright dates with scripts/update-copyrights
- aarch64: use PTR_ARG and SIZE_ARG instead of DELOUSE
- nonstring: Enable __FORTIFY_LEVEL=3
- string: Enable __FORTIFY_LEVEL=3
- Introduce _FORTIFY_SOURCE=3
- Warn on unsupported fortification levels
- powerpc: Use scv instruction on clone when available
- powerpc: Runtime selection between sc and scv for syscalls
- malloc: preserve errno on mcheck hooks [BZ #17924]
- x86 long double: Add tests for pseudo normal numbers
- x86 long double: Consider pseudo numbers as signaling
- io: Remove xmknod{at} implementations
- io: Remove xstat implementations
- free: preserve errno [BZ#17924]
- hurd: Accept including hurd/version.h
- hurd: Add WSTOPPED/WCONTINUED/WEXITED/WNOWAIT support [BZ #23091]
- support: Make support_process_state_wait wait less
- hurd: set sigaction for signal preemptors in arch-independent file
- hurd: Fix spawni SPAWN_XFLAGS_TRY_SHELL with empty argv
- hurd: Try shell in posix_spawn* only in compat mode
- Remove _ISOMAC check from <cpu-features.h>
- x86: Remove the duplicated CPU_FEATURE_CPU_P
- Partially revert 681900d29683722b1cb0a8e565a0585846ec5a61
- x86 long double: Support pseudo numbers in isnanl
- x86 long double: Support pseudo numbers in fpclassifyl
- MTE: Do not pad size in realloc_check
- tests-mcheck: New variable to run tests with MALLOC_CHECK_=3
- elf: Account for glibc-hwcaps/ prefix in _dl_important_hwcaps
- misc: Use __ferror_unlocked instead of ferror
- s390x: Regenerate ulps
- powerpc: Regenerate ulps
- addmntent: Remove unbounded alloca usage from getmntent [BZ#27083]
- <sys/platform/x86.h>: Add Intel LAM support
- i386: Regenerate ulps
- aarch64: update ulps.
- aarch64: Add aarch64-specific files for memory tagging support
- aarch64: Add sysv specific enabling code for memory tagging
- linux: Add compatibility definitions to sys/prctl.h for MTE
- malloc: Basic support for memory tagging in the malloc() family
- elf: Add a tunable to control use of tagged memory
- config: Allow memory tagging to be enabled when configuring glibc
- alpha: Remove anonymous union in struct stat [BZ #27042]
- add inputs to auto-libm-test-in yielding larger errors (binary64, x86_64)
- m68k: fix clobbering a5 in setjmp() [BZ #24202]
- iconv add iconv_close before the function returned with bad value.
- iconv: use iconv_close after iconv_open
- Fix buffer overrun in EUC-KR conversion module (bz #24973)
- hurd: Make trampoline fill siginfo ss_sp from sc_uesp
- Hurd: make sigstates hold a reference on thread ports
- profil-counter: Add missing SIGINFO case
- hurd: implement SA_SIGINFO signal handlers.
- hurd: Fix ELF_MACHINE_USER_ADDRESS_MASK value
- hurd: Note when the vm_map kernel bug was fixed
- hurd: Also turn KERN_INVALID_ADDRESS to EINVAL
- ieee754: Remove unused __sin32 and __cos32
- ieee754: Remove slow paths from asin and acos
- getenv: Move call to strlen to the branch it's used in.
- Update kernel version to 5.10 in tst-mman-consts.py.
- s390x: Require GCC 7.1 or later to build glibc.
- malloc: Use __libc_initial to detect an inner libc
- Replace __libc_multiple_libcs with __libc_initial flag
- {nptl,htl}/semaphoreP.h: clean up
- htl: Get sem_open/sem_close/sem_unlink support [BZ #25524]
- pthread: Move semaphore initialization for open to semaphoreP.h
- Mark __libc_freeres_fn as used [BZ #27002]
- Update syscall lists for Linux 5.10.
- htl: Add pshared semaphore support
- hurd: Add LLL_PRIVATE and LLL_SHARED
- hurd: Add __libc_open and __libc_close
- htl: Add futex-internal.h
- hurd: Add __lll_abstimed_wait_intr
- hurd: make lll_* take a variable instead of a ptr
- hurd: Rename LLL_INITIALIZER to LLL_LOCK_INITIALIZER
- Use Linux 5.10 in build-many-glibcs.py.