Upstream commit: e2436d6f5aa47ce8da80c2ba0f59dfb9ffde08f3
- Drop glibc-rh2327564-1.patch, glibc-rh2327564-2.patch. Fixed upstream.
(#2327564)
- malloc: send freed small chunks to smallbin
- AArch64: Remove zva_128 from memset
- benchtests: Add calloc test
- libio: make _IO_least_marker static
- malloc: Avoid func call for tcache quick path in free()
- math: Add internal roundeven_finite
- RISC-V: Use builtin for fma and fmaf
- RISC-V: Use builtin for copysign and copysignf
- Silence most -Wzero-as-null-pointer-constant diagnostics
- sysdeps: linux: Fix output of LD_SHOW_AUXV=1 for AT_RSEQ_*
- nptl: initialize cpu_id_start prior to rseq registration
- math: Fix branch hint for 68d7128942
- powerpc64le: ROP Changes for strncpy/ppc-mount
- math: Fix non-portability in the computation of signgam in lgammaf
- malloc: Split _int_free() into 3 sub functions
- math: Use tanf from CORE-MATH
- math: Use lgammaf from CORE-MATH
- math: Use erfcf from CORE-MATH
- math: Use erff from CORE-MATH
- math: Split s_erfF in erff and erfc
- math: Use cbrtf from CORE-MATH
- benchtests: Add tanf benchmark
- benchtests: Add lgammaf benchmark
- benchtests: Add erfcf benchmark
- benchtests: Add erff benchmark
- benchtests: Add cbrtf benchmark
- elf: Handle static PIE with non-zero load address [BZ #31799]
- x86/string: Use `movsl` instead of `movsd` in strncat [BZ #32344]
- stdlib: Make getenv thread-safe in more cases
- aarch64: Remove non-temporal load/stores from oryon-1's memset
- aarch64: Remove non-temporal load/stores from oryon-1's memcpy
- powerpc64le: _init/_fini file changes for ROP
- misc: remove extra va_end in error_tail (bug 32233)
- intl: avoid alloca for arbitrary sizes (bug 32380)
Upstream commit: 7b544224f82d20019f9b28522ebf8114a372d1a2
- stat.h: Fix missing declaration of struct timespec
- mach: Fix __xpg_strerror_r on in-range but undefined errors [BZ #32350]
- x86/string: Use `movsl` instead of `movsd` [BZ #32344]
- Rename new tst-sem17 test to tst-sem18
- Avoid uninitialized result in sem_open when file does not exist
- nptl: initialize rseq area prior to registration
- s390x: Update ulps
- elf: avoid jumping over a needed declaration
- math: Fix log10f on some ABIs
- stdio-common: Add tests for formatted vsnprintf output specifiers
- stdio-common: Add tests for formatted vsprintf output specifiers
- stdio-common: Add tests for formatted vfprintf output specifiers
- stdio-common: Add tests for formatted vdprintf output specifiers
- stdio-common: Add tests for formatted vasprintf output specifiers
- stdio-common: Add tests for formatted vprintf output specifiers
- stdio-common: Add tests for formatted snprintf output specifiers
- stdio-common: Add tests for formatted sprintf output specifiers
- stdio-common: Add tests for formatted fprintf output specifiers
- stdio-common: Add tests for formatted dprintf output specifiers
- stdio-common: Add tests for formatted asprintf output specifiers
- stdio-common: Add tests for formatted printf output specifiers
- nptl: fix __builtin_thread_pointer detection on LoongArch
- math: Fix incorrect results of exp10m1f with some GCC versions
- misc: Align argument name for pkey_*() functions with the manual
- manual: Use more precise wording for memory protection keys
- elf: Switch to main malloc after final ld.so self-relocation
- elf: Introduce _dl_relocate_object_no_relro
- elf: Do not define consider_profiling, consider_symbind as macros
- elf: rtld_multiple_ref is always true
- Add Arm HWCAP2_* constants from Linux 3.15 and 6.2 to <bits/hwcap.h>
- Add feature test macro _ISOC2Y_SOURCE
- added license for sysdeps/ieee754/flt-32/e_gammaf_r.c
- AArch64: Remove SVE erf and erfc tables
- x86_64: Add exp2m1f with FMA
- x86_64: Add exp10m1f with FMA
- math: Use log10p1f from CORE-MATH
- math: Use log1pf from CORE-MATH
- math: Use log2p1f from CORE-MATH
- math: Use log10f from CORE-MATH
- math: Use expm1f from CORE-MATH
- math: Use exp2m1f from CORE-MATH
- math: Use exp10m1f from CORE-MATH
- benchtests: Add log10p1f benchmark
- benchtests: Add log1p benchmark
- benchtests: Add log2p1f benchmark
- benchtests: Add log10f benchmark
- benchtests: Add expm1f benchmark
- benchtests: Add exp2m1f benchmark
- benchtests: Add exp10m1f benchmark
- math: Add e_gammaf_r to glibc code and style
- LoongArch: Add RSEQ_SIG in rseq.h.
- nptl: Add <thread_pointer.h> for LoongArch
- Link tst-clock_gettime with $(librt)
- powerpc64: Obviate the need for ROP protection in clone/clone3
- Add tests of time, gettimeofday, clock_gettime
- Add more tests of pthread attributes initial values
- Document further requirement on mixing streams / file descriptors
- powerpc64le: Adhere to ABI stack alignment requirement
- AArch64: Small optimisation in AdvSIMD erf and erfc
- Revert "elf: Run constructors on cyclic recursive dlopen (bug 31986)"
- elf: Change ldconfig auxcache magic number (bug 32231)
- SHARED-FILES: Mention bundled Linux 6.10 headers.
- libio: Fix crash in fputws [BZ #20632]
- stdio-common: Fix scanf parsing for NaN types [BZ #30647]
The files in glibc-devel.x86_64 caused the llvm architecture detection
to fail. It also changes the error message back to the familiar:
/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-32.h:
No such file or directory
Instead of the new one:
/usr/bin/ld: cannot find crt1.o: No such file or directory
We use fedora tests for RHEL testing as well and some of the older
releases do not have libpthread -> libc merge, so we need the '-pthread'
option to compile the tests successfully.
The headers are identical except for <gnu/lib-names-32.h> and
<gnu/stubs-32.h>. Having those in glibc-devel.x86_64 as well should
be harmless. RPM is expected to handle the identical files shared
between glibc-devel.x86_64 and glibc-devel.i686 because it's needed
for pretty much every other -devel package.
Otherwise, building source RPMs in Koji chokes on directives such as
Provides: %{glibc_ldso}
even though these entries are not relevant to source RPMs.
This commit updates most occurrences of /%{_lib} to %{_libdir}.
The glibc build process is not changed, instead the symbolic links
are created right before installing the files, to redirect them
to their final locations. The symbolic links are removed again
so that they do not end up in the shipped packages.
Eliminate most pattern matching and list files explicitly. Two
common exceptions are modeled explicitly: libmvec (additional shared
object and static library), libnldbl (additional shared object).
To implement glibc-headers-* and glibc-gconv-extra, pattern matching
is still used, but with helper shell functions that allow splitting
the matching and non-matching files into separate list files. Some
complications arise because the build for glibc32.x86_64 installs
header files into /usr/include that shouldn't land in the regular
development packages.
The remaining differences are bug fixes for directory ownership.
/usr/libexec/glibc-benchtests is now owned by glibc-benchtests.
/lib64/glibc-hwcaps is now owned by glibc.ppc64le.
Differences can be checked with this script:
mkdir -p filelist
for x in "$@" ; do
target="$(rpm -qp --qf 'filelist/%{name}.%{arch}.txt' "$x")"
rpm -qp --qf '[%{filenames} %{filemodes:perms} (%{fileflags:fflags})(%{fileverifyflags:hex}) \{%{filecaps}\} %{fileusername} %{filegroupname}\n]' "$x" > "$target"
done
Note: Delete the *.src.rpm files because %{arch} has unexpected
results for them.
Upstream commit: 43db5e2c0672cae7edea7c9685b22317eae25471
- elf: Signal RT_CONSISTENT after relocation processing in dlopen (bug 31986)
- elf: Signal LA_ACT_CONSISTENT to auditors after RT_CONSISTENT switch
- elf: Run constructors on cyclic recursive dlopen (bug 31986)
- Linux: Match kernel text for SCHED_ macros
- libio: Correctly link tst-popen-fork against libpthread
sUpstream commit: c5dd659f22058bf9b371ab1cba07631f1206c674
- Add more tests of pthread_mutexattr_gettype and pthread_mutexattr_settype
- libio: Fix a deadlock after fork in popen
- configure: default to --prefix=/usr on GNU/Linux
- manual: Document stdio.h functions that may be macros
- Check time arguments to pthread_timedjoin_np and pthread_clockjoin_np
- Add .b4-config file
- linux: Fix tst-syscall-restart.c on old gcc (BZ 32283)
- sparc: Fix restartable syscalls (BZ 32173)
- support: Make support_process_state_wait return the found state
- Enable transliteration rules with two input characters in scn_IT [BZ #32280]
Upstream commit 9d4b4515a88c5d0bbfc7809374f322c507c2d779
- locale: Fix some spelling typos
- LoongArch: Regenerate loongarch/arch-syscall.h by build-many-glibcs.py update-syscalls.
- manual: Fix and test @deftypef* function formatting
- replace tgammaf by the CORE-MATH implementation
- Add IPPROTO_SMC from Linux 6.11 to netinet/in.h
- misc: Add support for Linux uio.h RWF_ATOMIC flag
- linux: Update stat-generic.h with linux 6.11
- Update kernel version to 6.11 in header constant tests
- linux: Add MAP_DROPPABLE from Linux 6.11
- Update PIDFD_* constants for Linux 6.11
- Update syscall lists for Linux 6.11
- Use Linux 6.11 in build-many-glibcs.py
- Fix header guard in sysdeps/mach/hurd/x86_64/vm_param.h
- rt: more clock_nanosleep tests addendum
- rt: more clock_nanosleep tests
- stdlib: Make abort/_Exit AS-safe (BZ 26275)
- linux: Use GLRO(dl_vdso_time) on time
- linux: Use GLRO(dl_vdso_gettimeofday) on gettimeofday
- S390: Don't use r11 for cu-instructions as used as frame-pointer. [BZ# 32192]
- stdio-common/Makefile: Fix FAIL: lint-makefiles
- Fix whitespace related license issues.
- Add freopen special-case tests: thread cancellation
- hurd: Add missing va_end call in fcntl implementation. [BZ #32234]
Upstream commit: a36814e1455093fc9ebfcdf6ef39bb0cf3d447da
- riscv: align .preinit_array (bug 32228)
- linux: sparc: Fix clone for LEON/sparcv8 (BZ 31394)
- linux: sparc: Fix syscall_cancel for LEON
- math: Improve layout of expf data
- Disable _TIME_BITS if the compiler defaults to it
- Disable _FILE_OFFSET_BITS if the compiler defaults to it
- Do not use -Wp to disable fortify (BZ 31928)
- libio: Set _vtable_offset before calling _IO_link_in [BZ #32148]
- Add a new fwrite test that exercises buffer overflow
- x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212]
- stdio-common: Fix memory leak in tst-freopen4* tests on UNSUPPORTED
- Linux: Block signals around _Fork (bug 32215)
- Update to Unicode 16.0.0 [BZ #32168]
- manual: Document that feof and ferror are mutually exclusive
- stdio-common: Add new test for fdopen
- Fix missing randomness in __gen_tempname (bug 32214)
- arc: Cleanup arcbe
- arc: Remove HAVE_ARC_BE macro and disable big-endian port
- scripts: Remove arceb-linux-gnu from build-many-glibcs.py
- LoongArch: Undef __NR_fstat and __NR_newfstatat.
- Add tests of fread
Upstream commit: da29dc24d419656a4a6d6d61598b767b86b1425d
- nptl: Prefer setresuid32 in tst-setuid2
- elf: Move __rtld_malloc_init_stubs call into _dl_start_final
- elf: Eliminate alloca in open_verify
- elf: Remove version assert in check_match in elf/dl-lookup.c
- elf: In rtld_setup_main_map, assume ld.so has a DYNAMIC segment
- misc: Enable internal use of memory protection keys
- misc: Link tst-mkstemp-fuse-parallel with $(shared-thread-library)
- iconv: Use $(run-program-prefix) for running iconv (bug 32197)
- AArch64: Simplify rounding-multiply pattern in several AdvSIMD routines
- AArch64: Improve codegen in users of ADVSIMD expm1f helper
- AArch64: Improve codegen in users of AdvSIMD log1pf helper
- AArch64: Improve codegen in SVE F32 logs
- AArch64: Improve codegen in SVE expf & related routines
- Linux: readdir64_r should not skip d_ino == 0 entries (bug 32126)
- dirent: Add tst-rewinddir
- dirent: Add tst-readdir-long
- Linux: Use readdir64_r for compat __old_readdir64_r (bug 32128)
- dirent: Add tst-closedir-leaks
- support: Add valgrind instructions to <support/fuse.h>
- support: Fix memory leaks in FUSE tests
- misc: FUSE-based tests for mkstemp
- Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr
- Make tst-strtod-underflow type-generic
- Add tests of more strtod special cases
- Add more tests of strtod end pointer
- Make tst-strtod2 and tst-strtod5 type-generic
- Implement run-built-tests=no for make xcheck, always build xtests
- Test that errno is set to 0 at program startup
- Add another test for fclose on an unopened file
Upstream commit: fa1b0d5e9f6e0353e16339430770a7a8824c0468
- iconv: Input buffering for the iconv program (bug 6050)
- iconv: Multiple - on command line should not fail (bug 32050)
- iconv: Support in-place conversions (bug 10460, bug 32033)
- iconv: Preserve iconv -c error exit on invalid inputs (bug 32046)
- manual: __is_last is no longer part of iconv internals
- iconv: Do not use mmap in iconv (the program) (bug 17703)
- iconv: Base tests for buffer management
- AArch64: Add vector logp1 alias for log1p
- Linux: Add missing scheduler constants to <sched.h>
- Linux: Add the sched_setattr and sched_getattr functions
- manual: Extract the @manpageurl{func,sec} macro
- AArch64: Remove memset-reg.h
- debug: Fix read error handling in pcprofiledump
- AArch64: Optimize memset
- aarch64: Avoid redundant MOVs in AdvSIMD F32 logs
- Document limitations on streams passed to freopen
- stdlib: Do not use GLIBC_PRIVATE ABI for errno in libc_nonshared.a
- manual: Safety annotations for clock_gettime, clock_getres
- timezone: sync to TZDB 2024b
- Fix freopen handling of ,ccs= (bug 23675)
- powerpc64le: Build new strtod tests with long double ABI flags (bug 32145)
Upstream commit: 9c0d6f7a1046aba111e25e34ec07242853e859dc
- Fix memory leak on freopen error return (bug 32140)
- Clear flags2 flags set from mode in freopen (bug 32134)
- Linux: readdir_r needs to report getdents failures (bug 32124)
- libio: Attempt wide backup free only for non-legacy code
- Do not set errno for overflowing NaN payload in strtod/nan (bug 32045)
- powerpc64: Fix syscall_cancel build for powerpc64le-linux-gnu [BZ #32125]
- Fix strtod subnormal rounding (bug 30220)
- manual: Add Descriptor-Relative Access section
- x86: Enable non-temporal memset for Hygon processors
- x86: Add cache information support for Hygon processors
- x86: Add new architecture type for Hygon processors
- powerpc64: Optimize strcpy and stpcpy for Power9/10
- nptl: Fix Race conditions in pthread cancellation [BZ#12683]
- x86: Unifies 'strnlen-evex' and 'strnlen-evex512' implementations.
- string: strerror, strsignal cannot use buffer after dlmopen (bug 32026)
- ungetc: Fix backup buffer leak on program exit [BZ #27821]
- ungetc: Fix uninitialized read when putting into unused streams [BZ #27821]
- x86: Add `Avoid_STOSB` tunable to allow NT memset without ERMS
- x86: Use `Avoid_Non_Temporal_Memset` to control non-temporal path
- x86: Fix bug in strchrnul-evex512 [BZ #32078]
- manual: Document dprintf and vdprintf
- manual: Document generic printf error codes
- ARC: Regenerate ULPs
- support: Add options list terminator to the test driver
- Define __libc_initial for the static libc
- Turn on -Wimplicit-fallthrough by default if available
- elf: Remove struct dl_init_args from elf/dl-open.c
- nptl: Fix stray process left by tst-cancel7 blocking testing
- nptl: Reorder semaphore release in tst-cancel7
- sysdeps: Re-flow and sort multiline gnu/Makefile definitions
- login: Re-flow and sort multiline Makefile definitions
- benchtests: Add random memset benchmark
- AArch64: Improve generic strlen
- rtld: Fix handling of '--' option
- manual/stdio: Further clarify putc, putwc, getc, and getwc
- stdlib: Allow concurrent quick_exit (BZ 31997)
- elf: Avoid re-initializing already allocated TLS in dlopen (bug 31717)
- elf: Clarify and invert second argument of _dl_allocate_tls_init
- Fix name space violation in fortify wrappers (bug 32052)
- iconv: Fix matching of multi-character transliterations (bug 31859)
- x86: Tunables may incorrectly set Prefer_PMINUB_for_stringop (bug 32047)
- x86: Add missing switch/case fall-through markers to init_cpu_features
- stdlib: Link tst-concurrent-exit with $(shared-thread-library)
- hurd: Fix missing pthread_ compat symbol in libc
- resolv: Fix tst-resolv-short-response for older GCC (bug 32042)
- Add mremap tests
- mremap: Update manual entry
- linux: Update the mremap C implementation [BZ #31968]
- Enhanced test coverage for strncmp, wcsncmp
- Enhance test coverage for strnlen, wcsnlen
- stdlib: Mark `abort` as `cold`
- stdlib: Allow concurrent exit (BZ 31997)
- Add F_DUPFD_QUERY from Linux 6.10 to bits/fcntl-linux.h
- Add STATX_SUBVOL from Linux 6.10 to bits/statx-generic.h
- Update syscall lists for Linux 6.10
- assert: Mark `__assert_fail` as `cold`
- x86-64: Remove sysdeps/x86_64/x32/dl-machine.h
Upstream commit: 132a72f93cb4ad9f16b8469dc061de5f75f6a44e
- manual: make setrlimit() description less ambiguous
- manual/stdio: Clarify putc and putwc
- malloc: add multi-threaded tests for aligned_alloc/calloc/malloc
- malloc: avoid global locks in tst-aligned_alloc-lib.c
Upstream commit: 145b5886379c8de4f0a1bca3556a4c3d7b6c24b2
- manual: Do not mention STATIC_TLS in dynamic linker hardening recommendations
- resolv: Do not wait for non-existing second DNS response after error (bug 30081)
- resolv: Allow short error responses to match any query (bug 31890)
- Increase version number to 2.40
- libc.pot: regenerate (only line number changes)
- x86: Disable non-temporal memset on Skylake Server
This implements https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
and https://pagure.io/packaging-committee/pull-request/1355.
Since %{_sbindir} will point to /usr/bin, ldconfig is moved first
to /usr/sbin, but then when the merge is implemented, to /usr/bin.
Adjust the handling of zic and iconvconfig. Previously, they were
sorted into the right subpackage based on the location, but now all
files are in /usr/bin, so that doesn't work anymore.
Before the merge, /sbin/ldconfig and /usr/sbin/ldconfig point
to the same file, so both paths work. Virtual Provides:/sbin/ldconfig
allows other rpms to refer to either path. After sbin-merge,
the /usr/sbin/ symlink needs to be created by filesystem, so
add the appropriate Requires.