Commit Graph

1986 Commits

Author SHA1 Message Date
Florian Weimer
cf728b3d9f patch-git: Add build instructions
Using rpm -i may not work as expected if $HOME/rpmbuild is not
empty.  Recommend to use mock or build directly out of dist-git
instead.

RPM-Changelog: -
RPM-Skip-Release: yes
Related: RHEL-111490
2025-09-23 12:18:10 +02:00
Frédéric Bérat
428f8d6f99 Implement _FORTIFY_SOURCE for inet_ntop and inet_pton (RHEL-111115)
Resolves: RHEL-111115
2025-09-22 17:01:30 +02:00
Arjun Shankar
df55530e13 nss: Fix incorrect/empty results when merging groups (RHEL-114265)
Resolves: RHEL-114265
2025-09-19 19:50:15 +02:00
Frédéric Bérat
e06f84e64b x86-64: Unconditionally run elf/check-dt-x86-64-plt test (RHEL-113195)
Resolves: RHEL-113195
2025-09-19 14:41:14 +00:00
Frédéric Bérat
3b4a80c65e Fix readdir_r error reporting and readdir64_r entry handling, extend dirent testing. (RHEL-111120)
Resolves: RHEL-111120
2025-09-19 13:11:28 +02:00
Frédéric Bérat
637af31dc7 Enable concurrent exit, quick_exit calls to prevent races (RHEL-111117)
Resolves: RHEL-111117
2025-09-16 13:19:48 +02:00
DJ Delorie
c72dda3ac8 Add rpminspect.yaml with expected failures (RHEL-86590)
Resolves: RHEL-86590
2025-09-12 12:17:45 -04:00
Florian Weimer
d88424cfec patch-git: Do not use --filter with --unshallow on old git versions
Before git 2.28, --filter cannot be used if the clone did not use
it.

Related: RHEL-111490
2025-09-10 18:48:58 +02:00
Florian Weimer
df18ac835e Switch to patch-git
After this, patch order follows commit order.  As a result,
some early patches get reordered from

Patch4: glibc-fedora-linux-tcsetattr.patch
Patch8: glibc-fedora-manual-dircategory.patch
Patch9: glibc-rh827510.patch
Patch13: glibc-fedora-localedata-rh61908.patch
Patch17: glibc-cs-path.patch
Patch23: glibc-python3.patch
Patch24: glibc-upstream-2.39-1.patch

to:

Patch1: glibc-rh827510.patch
Patch2: glibc-fedora-linux-tcsetattr.patch
Patch3: glibc-fedora-localedata-rh61908.patch
Patch4: glibc-fedora-manual-dircategory.patch
Patch5: glibc-cs-path.patch
Patch6: glibc-python3.patch
Patch7: glibc-upstream-2.39-1.patch

This still produces the same tree, so the reordering is harmless.

Resolves: RHEL-111490
Parent: 92dfd986b2
Patch-Git-Version: 1
RPM-Version: 2.39
RPM-Release: 60%{?dist}
RPM-Changelog-Stop: yes
2025-09-09 17:26:56 +02:00
Arjun Shankar
92dfd986b2 glibc-locale-source: Require gzip to handle compressed charmaps (RHEL-102553)
Resolves: RHEL-102553
2025-08-26 12:31:04 +02:00
Florian Weimer
f30223ea76 Use Requires(pre): libgcc%{_isa} to break libgcc cycle (RHEL-110559)
The libgcc package may pick up symbol version dependencies on
GLIBC_ABI_DT_X86_64_PLT, GLIBC_ABI_GNU2_TLS in the future.

Resolves: RHEL-110559
2025-08-21 14:15:05 +02:00
Arjun Shankar
53f4d259fa Sync with upstream branch release/2.39/master (RHEL-109536)
Upstream commit: fffc2df8a3e2c8cda2991063d23086360268b777

- i386: Provide GLIBC_ABI_GNU_TLS symbol version [BZ #33221]
- i386: Update ___tls_get_addr to preserve vector registers
- Extend struct r_debug to support multiple namespaces (RHEL-101985)
- Fix a potential crash in the dynamic loader when processing specific
  symbol versions (RHEL-109683)
- Signal la_objopen for ld.so with dlmopen (RHEL-109693)
- Switch to main malloc after final ld.so self-relocation (RHEL-109703)
- Prevent ld.so from asserting and crashing during audited library loads
  (RHEL-109702)
- x86-64: Provide GLIBC_ABI_DT_X86_64_PLT symbol version (RHEL-109621)
- x86-64, i386: Provide GLIBC_ABI_GNU2_TLS symbol version (RHEL-109625)
- Ensure fallback initialization of ctype TLS data pointers to fix segfaults in
  programs using dlmopen or auditors (RHEL-72018)
- Handle load segment gaps in _dl_find_object (RHEL-104854)
- AArch64: Improve codegen in SVE log1p
- AArch64: Optimize inverse trig functions
- AArch64: Avoid memset ifunc in cpu-features.c [BZ #33112]

Resolves: RHEL-109536

Resolves: RHEL-72018
Resolves: RHEL-101985
Resolves: RHEL-104854
Resolves: RHEL-109621
Resolves: RHEL-109625
Resolves: RHEL-109683
Resolves: RHEL-109693
Resolves: RHEL-109702
Resolves: RHEL-109703
2025-08-21 10:25:39 +02:00
Arjun Shankar
9c6db562f1 Add FUSE based tests for fchmod, lstat, and mkstemp (RHEL-108823)
Resolves: RHEL-108823
2025-08-19 10:10:08 +02:00
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