Commit Graph

1973 Commits

Author SHA1 Message Date
Arjun Shankar
ca8e2eea50 Various updates to the manual from upstream (RHEL-108974)
Resolves: RHEL-108974
2025-08-14 11:21:59 +02:00
Frédéric Bérat
d19eb70013 Fix memory leak after fdopen seek failure
- Backport: Remove memory leak in fdopen (bug 31840)
- Backport: libio: Test for fdopen memory leak without SEEK_END
  support (bug 31840)

Resolves: RHEL-108475
2025-08-11 14:28:18 +02:00
Frédéric Bérat
46a31fdf25 Updated glibc to support Linux 6.15 kernel system calls and constants.
- Backport: Update syscall lists for Linux 6.8
- Backport: Update kernel version to 6.8 in header constant tests
- Backport: Update syscall lists for Linux 6.9
- Backport: Update PIDFD_* constants for Linux 6.9
- Backport: Update kernel version to 6.9 in header constant tests
- Backport: linux: add definitions for hugetlb page size encodings
- Backport: Update syscall lists for Linux 6.10
- Backport: Update kernel version to 6.10 in header constant tests
- Backport: Linux: Add missing scheduler constants to <sched.h>
- Backport: Update syscall lists for Linux 6.11
- Backport: Update PIDFD_* constants for Linux 6.11
- Backport: linux: Add MAP_DROPPABLE from Linux 6.11
- Backport: Update kernel version to 6.11 in header constant tests
- Backport: Update syscall lists for Linux 6.12
- Backport: Update kernel version to 6.12 in header constant tests
- Backport: Add SCHED_EXT from Linux 6.12 to bits/sched.h
- Backport: Update syscall lists for Linux 6.13
- Backport: Update kernel version to 6.13 in header constant tests
- Backport: Update syscall lists for Linux 6.14
- Backport: Update syscall lists for Linux 6.15

Resolves: RHEL-107695
2025-08-08 10:42:54 +02:00
Frédéric Bérat
22e43fce78 Fix changelog for RHEL-58357
The changelog didn't meet the standard.

Related: RHEL-58357
2025-08-08 10:17:26 +02:00
Frédéric Bérat
f8b71945b7 Added sched_setattr and sched_getattr functions to glibc.
- Backport: stdlib: Do not use GLIBC_PRIVATE ABI for errno in libc_nonshared.a
- Backport: manual: Extract the @manpageurl{func,sec} macro
- Backport: Linux: Add the sched_setattr and sched_getattr functions
  Note: The patch has been adapted downstream to avoid ABI changes
- Backport: Linux: Add missing scheduler constants to <sched.h>
- Backport: Linux: Do not check unused bytes after sched_getattr in tst-sched_setattr
- Backport: Linux: Add the pthread_gettid_np function (bug 27880)
  Note: The patch has been adapted downstream to avoid ABI changes
- Backport: Linux: Remove attribute access from sched_getattr (bug 32781)
- Backport: Linux: Add new test misc/tst-sched_setattr-thread
- Backport: nptl: Include <stdbool.h> in tst-pthread_gettid_np.c
- Backport: Makefile: Clean up pthread_atfork integration
- Backport: manual: fix typo for sched_[sg]etattr

Resolves: RHEL-58357
2025-08-07 16:07:09 +02:00
Frédéric Bérat
5a17d40420 Enhanced glibc documentation for core descriptor APIs.
- Backport: manual: add dup3
- Backport: manual: add syscalls
- Adapt man pages version downstream

Resolves: RHEL-107861
2025-08-07 14:24:15 +02:00
Arjun Shankar
5e0f6b30b8 Improve test coverage (RHEL-106562)
Resolves: RHEL-106562
2025-08-06 15:02:01 +02:00
Florian Weimer
0d5bc43414 x86_64, aarch64: More CPU output in ld.so --list-diagnostics (RHEL-107540)
Resolves: RHEL-107540
2025-08-05 16:30:24 +02:00
Frédéric Bérat
3dd56eab8d Add support for new IBM Z17 hardware capabilities
- Backport: S390: Add new s390 platform z17.
- Add downstream patch for legacy hwcap/platform mechanism
- Acknowledge `struct cpu_features` layout change: the size of the
  structure didn't change, members where renamed.

Resolves: RHEL-72564
2025-08-04 14:22:06 +02:00
Frédéric Bérat
edbaed16b1 test: Add ld.so ABI layout verification
Introduce `verify-ldso-abi.sh` script and architecture-specific baseline
files to the build.

This new verification step is integrated into the `%check` phase of the
glibc build process. It uses `gdb` to dump the internal ABI layout of
critical dynamic linker data structures (`_rtld_global_ro`,
`_rtld_global`, `struct link_map`, `struct pthread`) and compares them
against a predefined baseline.

This ensures that unintentional ABI breaks in `ld.so` are detected
early, maintaining stability for internal glibc components. The script
also supports generating new baselines when changes are intentional.

Resolves: RHEL-72564
2025-07-31 16:29:47 +02:00
Florian Weimer
7c2d760e4f CVE-2025-8058: Double free in regcomp (RHEL-105324)
Resolves: RHEL-105324
2025-07-24 20:26:33 +02:00
Florian Weimer
cac5195e9e Reduce spurious rebuilds while running tests (RHEL-95246)
Resolves: RHEL-95246
2025-07-24 13:25:18 +02:00
Florian Weimer
e8f76ede2b iconv: Do not create executable output files (RHEL-104151)
Resolves: RHEL-104151
2025-07-23 17:07:28 +02:00
Florian Weimer
4e827a476b Rebuild due to SIGNSERVER-1997 (RHEL-102555)
Resolves: RHEL-102555
2025-07-09 11:27:43 +02:00
Florian Weimer
392c65a97d Restore _rtld_global_layout on x86-64, freeze tunables order (RHEL-101754)
Resolves: RHEL-101754
2025-07-03 18:14:49 +02:00
Florian Weimer
8e16d819de Downstream ABI adjustment for pthread_cond_t (RHEL-82285)
Resolves: RHEL-82285
2025-07-01 14:21:47 +02:00
Arjun Shankar
70ebc1f0c6 Sync with upstream branch release/2.39/master (RHEL-87416)
Upstream commit: cff1042cceec3502269947e96cf7023451af22f3

Resolves: RHEL-87416

Resolves: RHEL-71923
Resolves: RHEL-82285
Resolves: RHEL-82286
Resolves: RHEL-84837
Resolves: RHEL-86433
Resolves: RHEL-95485
2025-07-01 11:39:21 +02:00
Martin Coufal
55a8279a3b tests/Regression/bz863384-getaddrinfo-fails-to-return-FQDN-for-AF_INET-and-AF_INET6: update relevancy 2025-06-19 13:30:21 +02:00
Florian Weimer
369f3972b7 langpacks: Use symlinks for LC_NAME, LC_NUMERIC files if possible (RHEL-97433)
Resolves: RHEL-97433
2025-06-17 13:51:26 +02:00
Andrea Bolognani
64d489ff04 Update riscv64 handling
The /usr/lib64/lp64d symlink is part of the filesystem package
starting with version 3.18-39, so we no longer need (or want)
to handle it here. This means that we can drop all existing
symlink handling and replace it with a file move operation.

Thanks: David Abdurachmanov <davidlt@rivosinc.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-04-18 15:15:24 +02:00
Florian Weimer
2fac143e74 setenv: Rework free(environ) compatibility support (#2341908)
Resolves: RHEL-75809
2025-01-24 23:16:09 +01:00
Florian Weimer
b76546a663 CVE-2025-0577: vDSO getrandom predictable randomness after fork (RHEL-75555)
Resolves: RHEL-75555
2025-01-23 22:35:42 +01:00
Florian Weimer
95d5cf3a67 Restore compatibility with environ/malloc usage pattern (RHEL-75809) 2025-01-23 21:17:23 +01:00
Florian Weimer
7e7241f620 Sync with upstream branch release/2.39/master (CVE-2025-0395)
Upstream commit: 808a84a8b81468b517a4d721fdc62069cb8c211f

- Fix underallocation of abort_msg_s struct (CVE-2025-0395)
- x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212]
- x86: Improve large memset perf with non-temporal stores [RHEL-29312]
- x86: Avoid integer truncation with large cache sizes (bug 32470)
- math: Exclude internal math symbols for tests [BZ #32414]
- malloc: add indirection for malloc(-like) functions in tests [BZ #32366]
- Pass -nostdlib -nostartfiles together with -r [BZ #31753]
- nptl: initialize cpu_id_start prior to rseq registration
- nptl: initialize rseq area prior to registration
2025-01-23 09:08:39 +01:00
Florian Weimer
071446cc90 Support in-place file conversion in the iconv tool (RHEL-71530) 2024-12-23 14:59:23 +01:00
Florian Weimer
f0a7516eb0 Make getenv thread-safe in more cases (RHEL-42410) 2024-12-16 19:32:20 +01:00
Bruno Goncalves
b7ddd38a92 add gating on kernel tests for rhel-10
Related: RHELMISC-7545
2024-12-16 17:26:35 +00:00
Florian Weimer
6440988290 Minor update to getrandom vDSO handshake 2024-12-15 17:30:28 +01:00
Florian Weimer
308f336d61 CVE-2024-12455: Incorrect getrandom return value on ppc64le 2024-12-11 19:57:07 +01:00
Arjun Shankar
2a30b8f4b2 Sync with upstream branch release/2.39/master
Upstream commit: dcaf51b41e259387602774829c45222d0507f90a

- elf: Change ldconfig auxcache magic number (bug 32231)
- Make tst-strtod-underflow type-generic
- Add crt1-2.0.o for glibc 2.0 compatibility tests
- Add tests of more strtod special cases
- Add more tests of strtod end pointer
- Make tst-strtod2 and tst-strtod5 type-generic
- powerpc64le: Build new strtod tests with long double ABI flags (bug 32145)
- Do not set errno for overflowing NaN payload in strtod/nan (bug 32045)
- Improve NaN payload testing
- Make __strtod_internal tests type-generic
- Fix strtod subnormal rounding (bug 30220)
- More thoroughly test underflow / errno in tst-strtod-round
- Test errno setting on strtod overflow in tst-strtod-round
- Add tests of fread
- stdio-common: Add new test for fdopen
- libio: Attempt wide backup free only for non-legacy code
- debug: Fix read error handling in pcprofiledump
- elf: Fix tst-dlopen-tlsreinit1.out test dependency
- elf: Avoid re-initializing already allocated TLS in dlopen (bug 31717)
- elf: Clarify and invert second argument of _dl_allocate_tls_init
- elf: Support recursive use of dynamic TLS in interposed malloc
- nptl: Use <support/check.h> facilities in tst-setuid3
- posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64
- ungetc: Fix backup buffer leak on program exit [BZ #27821]
- ungetc: Fix uninitialized read when putting into unused streams [BZ #27821]
- Make tst-ungetc use libsupport
- stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650]
- support: Add FAIL test failure helper
- string: strerror, strsignal cannot use buffer after dlmopen (bug 32026)
- Define __libc_initial for the static libc
- x86: Fix bug in strchrnul-evex512 [BZ #32078]
- Adjust check-local-headers test for libaudit 4.0
- x32/cet: Support shadow stack during startup for Linux 6.10
- x86-64: Remove sysdeps/x86_64/x32/dl-machine.h
- support: Add options list terminator to the test driver
- manual/stdio: Further clarify putc, putwc, getc, and getwc
- Fix name space violation in fortify wrappers (bug 32052)
- 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

Resolves: RHEL-57776
Resolves: RHEL-57777
Resolves: RHEL-61392
2024-11-20 17:12:17 +01:00
Arjun Shankar
107e77d871 Add support for getrandom vDSO (RHEL-12867) 2024-11-15 14:12:38 +01:00
Florian Weimer
dcd95b1bb8 Eliminate glibc-headers and related packages
The headers are identical except for <gnu/lib-names-*.h> and
<gnu/stubs-*.h>, which are specific to the arch-full glibc-devel
packages.

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.

(This version of this change preserves the glibc-devel.x86_64
contents.)
2024-11-06 14:12:56 +01:00
Florian Weimer
33b0330cd6 Use UsrMove (Changes/UsrMerge) path destination in the RPMs (#1063607)
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.
2024-11-05 13:57:28 +01:00
Florian Weimer
2adb452981 Rework filelist construction
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.
2024-11-04 15:02:33 +01:00
Florian Weimer
0cf6b2eb0a Switch to the upstream way of building xtests
Backport the upstream changes that allow us to build the xtests
without running them during the build.  They can be very slow,
so this saves a bit of build time.
2024-11-04 14:01:20 +01:00
Florian Weimer
bf426e9f02 Merge the c10s branch into the f40 branch
This should allow us to use fast-forward merges for updating
c10s going forward.
2024-10-31 09:12:00 +01:00
Troy Dawson
a861d57f6e Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
2024-10-29 08:26:17 -07:00
Florian Weimer
70153ef06d Ensure that xtests can be built (RHEL-59494) 2024-09-19 17:39:53 +02:00
Arjun Shankar
f00f7bf0b0 Update gating.yaml to match c10s 2024-08-15 16:44:57 +02:00
Arjun Shankar
2118accf25 Sync with glibc-2.39-22.fc40 (RHEL-45522)
Resolves: RHEL-45522

Fedora 40 commit: 9404e14f4d
Upstream commit: 4bdcc1963bc2b5ba5f8e319e402d9eb2cb6096c1

Fedora 40 changes:

- Backport /etc/resolv.conf enhancements to thelp with RHEL-18039 testing

Related: RHEL-50663

- Support --without testsuite builds without perl installed (#2292195)
- Use release instead of baserelease for glibc32 conflict
- Add Conflicts:/Obsoletes: for glibc32 to glibc.i686

- ppc64le: Build early startup code with -mcpu=power8

Resolves: RHEL-43456

- Move ANSI_X3.110-1983 support from main package to glibc-gconv-extra.

Resolves: RHEL-41206

Upstream changes:

- 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

- resolv: Track single-request fallback via _res._flags (bug 31476)
- 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)

Resolves: RHEL-50663

- elf: Fix localplt.awk for DT_RELR-enabled builds (BZ 31978)
- Fix usage of _STACK_GROWS_DOWN and _STACK_GROWS_UP defines [BZ 31989]
- Linux: Make __rseq_size useful for feature detection (bug 31965)
- elf: Make dl-rseq-symbols Linux only
- nptl: fix potential merge of __rseq_* relro symbols

- s390x: Fix segfault in wcsncmp [BZ #31934]

Resolves: RHEL-49488

- stdlib: fix arc4random fallback to /dev/urandom (BZ 31612)
- math: Provide missing math symbols on libc.a (BZ 31781)
- math: Fix isnanf128 static build (BZ 31774)
- math: Fix i386 and m68k exp10 on static build (BZ 31775)
- math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)
- posix: Fix pidfd_spawn/pidfd_spawnp leak if execve fails (BZ 31695)
2024-08-14 17:57:11 +02:00
Florian Weimer
9404e14f4d Backport /etc/resolv.conf enhancements to thelp with RHEL-18039 testing
Related: RHEL-18039
2024-07-31 16:02:44 +02:00
Arjun Shankar
b30ff9539f Sync with upstream branch release/2.39/master
Upstream commit: 4bdcc1963bc2b5ba5f8e319e402d9eb2cb6096c1

- 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
- resolv: Track single-request fallback via _res._flags (bug 31476)
- 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)
- elf: Fix localplt.awk for DT_RELR-enabled builds (BZ 31978)
- Fix usage of _STACK_GROWS_DOWN and _STACK_GROWS_UP defines [BZ 31989]
- Linux: Make __rseq_size useful for feature detection (bug 31965)
- elf: Make dl-rseq-symbols Linux only
- nptl: fix potential merge of __rseq_* relro symbols
- s390x: Fix segfault in wcsncmp [BZ #31934]
- stdlib: fix arc4random fallback to /dev/urandom (BZ 31612)
- math: Provide missing math symbols on libc.a (BZ 31781)
- math: Fix isnanf128 static build (BZ 31774)
- math: Fix i386 and m68k exp10 on static build (BZ 31775)
- math: Fix i386 and m68k fmod/fmodf on static build (BZ 31488)
- posix: Fix pidfd_spawn/pidfd_spawnp leak if execve fails (BZ 31695)
2024-07-31 13:39:31 +02:00
Florian Weimer
0fa69c9930 Support --without testsuite builds without perl installed (#2292195)
Backport upstream commits to support installing /usr/bin/mtrace
without Perl in the buildroot.  Add an explicit dependency on
/usr/bin/perl to glibc-utils because it's no longer generated
automatically.
2024-07-22 12:42:08 +02:00
Florian Weimer
0b92ae19ae Use release instead of baserelease for glibc32 conflict
This is necessary because %{baserelease} < %{release}, so the
previous Obsoletes: clause did not match an installed glibc32
package from the same build.

(cherry picked from commit add3da24f037a9d934eaeb9a6c246a45d3a716cc)
2024-07-19 16:22:47 +02:00
Florian Weimer
9dd8b289e9 Add Conflicts:/Obsoletes: for glibc32 to glibc.i686
(cherry picked from commit cb26947f73950b581adfac51cd51f8481cc95a94)
2024-07-19 16:22:45 +02:00
Arjun Shankar
4d899fdb65 ppc64le: Build early startup code with -mcpu=power8
The --with-rtld-early-cflags configure option was being passed for ppc64
builds instead of for ppc64le.  This commit fixes that.
2024-07-18 14:40:40 +02:00
Martin Coufal
2519975b20 Update gating.yaml 2024-07-09 14:23:15 +00:00
Patsy Griffin
930bcade74 Move ANSI_X3.110-1983 support from main package to glibc-gconv-extra. 2024-07-03 10:43:25 -04:00
Troy Dawson
c38fcc0560 Bump release for June 2024 mass rebuild 2024-06-24 08:43:42 -07:00
Florian Weimer
a83b494d0e Sync with glibc-2.39-16.fc40 (RHEL-43307, RHEL-43456)
Fedora commit: ed89a91b42
Upstream commit: 7f9f25f255ee2c00178779fbce502f4b94b848b9

- Linux: Include <dl-symbol-redir-ifunc.h> in dl-sysdep.c
- x86: Properly set x86 minimum ISA level [BZ #31883]
- x86: Properly set MINIMUM_X86_ISA_LEVEL for i386 [BZ #31867]
- localedata: ssy_ER: Fix syntax error
- malloc: New test to check malloc alternate path using memory obstruction
- malloc: Improve aligned_alloc and calloc test coverage.
- malloc/Makefile: Split and sort tests
- x86/cet: fix shadow stack test scripts

Resolves: RHEL-43307
Resolves: RHEL-43456
2024-06-21 17:13:15 +02:00