Commit Graph

1969 Commits

Author SHA1 Message Date
Arjun Shankar
13116ab92d Use unsigned types in <utmp.h>/<utmpx.h> (RHEL-22226)
Resolves: RHEL-22226
Related: RHEL-35602

Fedora 40 commit: f892dd8034
2024-06-10 15:18:14 +02:00
Arjun Shankar
1b137f8d15 Sync with upstream branch release/2.39/master
Upstream commit: 97bb89668d7171164975f3dc895e38343a2f3a95

- Force DT_RPATH for --enable-hardcoded-path-in-tests
- elf: Only process multiple tunable once (BZ 31686)
- Add a test to check for duplicate definitions in the static library
- i686: Fix multiple definitions of __memmove_chk and __memset_chk
- i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk
- time: Allow later version licensing.
- nscd: Use time_t for return type of addgetnetgrentX
- login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701)
- login: Check default sizes of structs utmp, utmpx, lastlog

Related: RHEL-35602

Fedora 40 commit: b3097fa24a
2024-06-10 15:18:14 +02:00
Arjun Shankar
080993e7ad Enable power10 multilib (RHEL-31523)
Resolves: RHEL-31523
Related: RHEL-35602

Fedora 40 commits: 22d78986ca
                   c6129da0b9
2024-06-10 15:17:59 +02:00
Arjun Shankar
b46c1c0b2e Move the removal of multilibs to %pre
Related: RHEL-35602

Fedora 40 commit: d521284ad1
2024-06-10 15:17:59 +02:00
Arjun Shankar
ab55eeb40c Hard-code ld.so paths for all architectures
This supports multiple ld.so files in a cleaner way.  Also
forward-port multiple libc.so.6 file handling in
wrap-find-debuginfo.sh from downstream.  This also incorporates
the “nm --format=posix“ change from #2115831 downstream.

Related: RHEL-35602

Fedora 40 commit: 4ccb7475fc
2024-06-10 15:17:59 +02:00
Arjun Shankar
b5be881eef Remove remnants of 32-bit Arm support
Related: RHEL-35602

Fedora 40 commit: a0d62dc541
2024-06-10 15:17:59 +02:00
Arjun Shankar
ce9c08c648 Rewrite flags inheritance in Lua (RHEL-33618)
And simplify the invocation of the build shell function.

Resolves: RHEL-33618
Related: RHEL-31523
Related: RHEL-35602

Fedora 40 commit: b3da3b4101
2024-06-10 15:16:52 +02:00
Arjun Shankar
9651e7c5de Sync with upstream branch release/2.39/master
Upstream commit: fd658f026f25cf59e8db243bc3b3e09cd5a20ba0

nscd is currently not build, so the security fixes below
are not relevant.

- elf: Also compile dl-misc.os with $(rtld-early-cflags)
- CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680)
- CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678)
- CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678)
- CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677)

- x86: Define MINIMUM_X86_ISA_LEVEL in config.h [BZ #31676]

Related: RHEL-31738

- i386: ulp update for SSE2 --disable-multi-arch configurations
- nptl: Fix tst-cancel30 on kernels without ppoll_time64 support

Related: RHEL-35602

Fedora 40 commit: 94914be52f
2024-06-07 16:25:54 +02:00
Arjun Shankar
b88a2e4886 Sync with upstream branch release/2.39/master (RHEL-31801)
Upstream commit: 31da30f23cddd36db29d5b6a1c7619361b271fb4

- iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961)

Resolves: RHEL-31801

- x86_64: Exclude SSE, AVX and FMA4 variants in libm multiarch
- Apply the Makefile sorting fix
- powerpc: Fix ld.so address determination for PCREL mode (bug 31640)
- x86-64: Simplify minimum ISA check ifdef conditional with if
- x86-64: Don't use SSE resolvers for ISA level 3 or above
- AArch64: Check kernel version for SVE ifuncs
- aarch64: fix check for SVE support in assembler
- aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR
- i386: Use generic memrchr in libc (bug 31316)

Related: RHEL-35602

Fedora 40 commit: 1bea1361dc
2024-06-07 16:25:50 +02:00
Arjun Shankar
fec1cd8ce1 Sync with upstream branch release/2.39/master
Upstream commit: 6ade91c21140d8c803c289932dbfc74537f65a1f

- elf: Avoid some free (NULL) calls in _dl_update_slotinfo
- misc: Add support for Linux uio.h RWF_NOAPPEND flag
- i386: Disable Intel Xeon Phi tests for GCC 15 and above (BZ 31782)
- Reinstate generic features-time64.h
- Always define __USE_TIME_BITS64 when 64 bit time_t is used
- socket: Use may_alias on sockaddr structs (bug 19622)
- parse_fdinfo: Don't advance pointer twice [BZ #31798]
- LoongArch: Fix undefined `__memset_aligned` reference in ld.so linking.
- socket: Add new test for connect
- libsupport: Add xgetpeername
- x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4)
2024-06-05 19:13:35 +02:00
Florian Weimer
dc6792e4d3 Enable CPU compatibility diagnostics in ld.so (#2276631, RHEL-31738)
(cherry picked from commit 207f40b76617449cc02fadaf51f24982382dfb8e)
2024-05-31 16:08:40 +02:00
Arjun Shankar
2c1b0f092c Move memory tracing libraries to glibc-utils
libc_malloc_debug.so.0 and libmemusage.so are memory tracing libraries
and therefore should not be installed by default.  Since they need to
be preloaded in order to use memory tracing tools in glibc-utils, they
belong alongside them.

On x86_64, glibc-utils will now only contain the 64-bit version of these
libraries but still need the 32-bit version (in order to support tracing
i686 applications).  Therefore, on i686 the libraries remain in the main
glibc package.

rawhide commits:
* 2d5af83031edfa8191254814609961e4e57766fc
* e9d072eb64a251e09a121122941605f4a22d170a
2024-05-15 17:34:24 +02:00
Florian Weimer
f892dd8034 Use unsigned types in <utmp.h>/<utmpx.h> (RHEL-22226) 2024-05-10 18:43:41 +02:00
Florian Weimer
b3097fa24a Sync with upstream branch release/2.39/master
Upstream commit: 97bb89668d7171164975f3dc895e38343a2f3a95

- Force DT_RPATH for --enable-hardcoded-path-in-tests
- elf: Only process multiple tunable once (BZ 31686)
- Add a test to check for duplicate definitions in the static library
- i686: Fix multiple definitions of __memmove_chk and __memset_chk
- i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk
- time: Allow later version licensing.
- nscd: Use time_t for return type of addgetnetgrentX
- login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701)
- login: Check default sizes of structs utmp, utmpx, lastlog
2024-05-10 17:54:45 +02:00
Florian Weimer
c6129da0b9 Update changelog 2024-05-03 18:04:20 +02:00
Tulio Magno Quites Machado Filho
22d78986ca Enable power10 multilib
Co-authored-by: Florian Weimer <fweimer@redhat.com>
(cherry picked from commit 09d1856f529d26545de4651b8415690e934efdf5)
2024-05-02 17:53:09 +02:00
Tulio Magno Quites Machado Filho
d521284ad1 Move the removal of multilibs to %pre
(cherry picked from commit 34d14091784c508be9a0b451fdd97d468bad016c)
2024-05-02 17:53:09 +02:00
Florian Weimer
4ccb7475fc Hard-code ld.so paths for all architectures
This supports multiple ld.so files in a cleaner way.  Also
forward-port multiple libc.so.6 file handling in
wrap-find-debuginfo.sh from downstream.  This also incorporates
the “nm --format=posix“ change from #2115831 downstream.

Co-authored-by: Tulio Magno Quites Machado Filho <tuliom@redhat.com>
(cherry picked from commit 7749ea58a9e2198f830d6eb8b162344aaf8acb84)
2024-05-02 17:53:09 +02:00
Florian Weimer
a0d62dc541 Remove remnants of 32-bit Arm support
(cherry picked from commit 0d17d18a8862d7737a041d1360d0775b62275dd7)
2024-05-02 17:53:09 +02:00
Florian Weimer
b3da3b4101 Rewrite flags inheritance in Lua
And simplify the invocation of the build shell function.

(cherry picked from commit 114492e2a8a0447f90fe19cf4631d58d8ce80b49)
2024-05-02 17:53:09 +02:00
Florian Weimer
94914be52f Sync with upstream branch release/2.39/master
Upstream commit: fd658f026f25cf59e8db243bc3b3e09cd5a20ba0

nscd is currently not build, so the security fixes below
are not relevant.

- elf: Also compile dl-misc.os with $(rtld-early-cflags)
- CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680)
- CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678)
- CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678)
- CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677)
- x86: Define MINIMUM_X86_ISA_LEVEL in config.h [BZ #31676]
- i386: ulp update for SSE2 --disable-multi-arch configurations
- nptl: Fix tst-cancel30 on kernels without ppoll_time64 support
2024-04-26 10:13:42 +02:00
Florian Weimer
1bea1361dc Sync with upstream branch release/2.39/master
Upstream commit: 31da30f23cddd36db29d5b6a1c7619361b271fb4

- iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961)
- x86_64: Exclude SSE, AVX and FMA4 variants in libm multiarch
- Apply the Makefile sorting fix
- powerpc: Fix ld.so address determination for PCREL mode (bug 31640)
- x86-64: Simplify minimum ISA check ifdef conditional with if
- x86-64: Don't use SSE resolvers for ISA level 3 or above
- AArch64: Check kernel version for SVE ifuncs
- aarch64: fix check for SVE support in assembler
- aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR
- i386: Use generic memrchr in libc (bug 31316)
2024-04-18 19:42:06 +02:00
Arjun Shankar
1a997221e3 Sync with upstream branch release/2.39/master (RHEL-25850, etc.)
Upstream commit: 5d070d12b3a52bc44dd1b71743abc4b6243862ae

Related: RHEL-25850

- x86: Expand the comment on when REP STOSB is used on memset
- x86: Do not prefer ERMS for memset on Zen3+
- x86: Fix Zen3/Zen4 ERMS selection (BZ 30994)

Resolves: RHEL-25530

- Add tst-gnu2-tls2mod1 to test-internal-extras
- elf: Enable TLS descriptor tests on aarch64
- arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372)
- Ignore undefined symbols for -mtls-dialect=gnu2
- x86-64: Allocate state buffer space for RDI, RSI and RBX
- x86-64: Update _dl_tlsdesc_dynamic to preserve AMX registers
- x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers

Resolves: RHEL-29179

- x86-64: Save APX registers in ld.so trampoline

Resolves: RHEL-25045

- LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf

- powerpc: Placeholder and infrastructure/build support to add Power11 related changes.
- powerpc: Add HWCAP3/HWCAP4 data to TCB for Power Architecture.

Resolves: RHEL-24761

Fedora 40 commit: 24af28d49b
2024-04-16 12:02:26 +02:00
Arjun Shankar
4df7ab7cf0 Build glibc32 for x86_64 as a glibc sub-package (RHEL-29228)
GCC for x86_64 includes 32-bit multilib support, requiring a 32-bit
glibc to be present when GCC is built.  That 32-bit glibc cannot come
from an i686 RPM because of limitations in Koji, so there is a hack
including a glibc32 "source" package that actually contains binaries
from an i686 build (and thus needs additional manual update steps).

Set up glibc.spec to build a glibc32 binary package directly when
building for x86_64, so avoiding the need for the separate glibc32
source package.  Do not generate ELF dependencies for glibc32 to avoid
accidentally having it chosen over glibc.686.

The list of files in the glibc32 package has been compared to that in
the previous package (the gnu/lib-names-32.h header is added, as its
previous omission appears to be a bug).  And the lists of files in the
other packages built from glibc.spec have also been compared before
and after this change, to make sure there aren't inappropriate changes
to those lists.

Resolves: RHEL-29228
Related: RHEL-25850

Fedora 40 commits: fc720e6194
                   1470fe1da7
2024-04-16 12:02:18 +02:00
Arjun Shankar
283b1ce2e8 Sync with upstream branch release/2.39/master (RHEL-25850)
Upstream commit: 71fcdba577884627c3ee4e43beb915da752efb1f

- linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
- Use gcc __builtin_stdc_* builtins in stdbit.h if possible
- S390: Do not clobber r7 in clone [BZ #31402]
- math: Update mips64 ulps
- mips: FIx clone3 implementation (BZ 31325)
- arm: Remove wrong ldr from _dl_start_user (BZ 31339)
- Replace advisories directory

Related: RHEL-25850

Fedora 40 commit: 68abc16af7
2024-04-16 12:02:00 +02:00
Arjun Shankar
0357db879b Migrate License field to SPDX identifiers (RHEL-25850)
This commit (a) expands on and corrects some errors in the long
comment describing various licenses used in glibc preceding the
License field; and (b) migrates the License field to SPDX identifiers
based on an analysis of glibc-2.39 sources done using the ScanCode
toolkit.

Resolves: RHEL-25850

Fedora 40 commit: aa075b2434
2024-04-16 12:01:55 +02:00
Arjun Shankar
24af28d49b Sync with upstream branch release/2.39/master
Upstream commit: 5d070d12b3a52bc44dd1b71743abc4b6243862ae

- x86: Expand the comment on when REP STOSB is used on memset
- x86: Do not prefer ERMS for memset on Zen3+
- x86: Fix Zen3/Zen4 ERMS selection (BZ 30994)
- Add tst-gnu2-tls2mod1 to test-internal-extras
- elf: Enable TLS descriptor tests on aarch64
- arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372)
- Ignore undefined symbols for -mtls-dialect=gnu2
- x86-64: Allocate state buffer space for RDI, RSI and RBX
- x86-64: Update _dl_tlsdesc_dynamic to preserve AMX registers
- x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers
- x86-64: Save APX registers in ld.so trampoline
- LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf
- powerpc: Placeholder and infrastructure/build support to add Power11 related changes.
- powerpc: Add HWCAP3/HWCAP4 data to TCB for Power Architecture.
2024-04-04 17:12:08 +02:00
Florian Weimer
1470fe1da7 Do not generate ELF dependency information for glibc32
(cherry picked from commit 01911dc70e30a96d5a7835475187ff6241a68a2d)
2024-03-26 18:04:20 +01:00
Joseph Myers
fc720e6194 Build glibc32 binary package from glibc sources as part of x86_64 build
GCC for x86_64 includes 32-bit multilib support, requiring a 32-bit
glibc to be present when GCC is built.  That 32-bit glibc cannot come
from an i686 RPM because of limitations in Koji, so there is a hack
including a glibc32 "source" package that actually contains binaries
from an i686 build (and thus needs additional manual update steps).

Set up glibc.spec to build a glibc32 binary package directly when
building for x86_64, so avoiding the need for the separate glibc32
source package.  This improvement is tracked in
<https://fedoraproject.org/wiki/Changes/glibc32_Build_Adjustments> and
<https://bugzilla.redhat.com/show_bug.cgi?id=1598524>.

The list of files in the glibc32 package has been compared to that in
the previous package (the gnu/lib-names-32.h header is added, as its
previous omission appears to be a bug).  And the lists of files in the
other packages built from glibc.spec have also been compared before
and after this change, to make sure there aren't inappropriate changes
to those lists.

(cherry picked from commit e025effd84d415d98dcebbc97cdf03e6e44465b8)
2024-03-26 18:04:20 +01:00
Arjun Shankar
68abc16af7 Sync with upstream branch release/2.39/master
Upstream commit: 71fcdba577884627c3ee4e43beb915da752efb1f

- linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
- Use gcc __builtin_stdc_* builtins in stdbit.h if possible
- S390: Do not clobber r7 in clone [BZ #31402]
- math: Update mips64 ulps
- mips: FIx clone3 implementation (BZ 31325)
- arm: Remove wrong ldr from _dl_start_user (BZ 31339)
- Replace advisories directory
2024-03-19 15:28:11 +01:00
Arjun Shankar
aa075b2434 Migrate License field to SPDX identifiers (#2222074)
This commit (a) expands on and corrects some errors in the long
comment describing various licenses used in glibc preceding the
License field; and (b) migrates the License field to SPDX identifiers
based on an analysis of glibc-2.39 sources done using the ScanCode
toolkit.

Licenses Allowed in Fedora:
https://docs.fedoraproject.org/en-US/legal/allowed-licenses

Adoption of SPDX in Fedora:
https://docs.fedoraproject.org/en-US/legal/update-existing-packages

Repository of Fedora License Data:
https://gitlab.com/fedora/legal/fedora-license-data

ScanCode toolkit:
https://github.com/nexB/scancode-toolkit
2024-02-28 15:54:50 +01:00
Florian Weimer
797647f2a8 Ignore symbolic links to . in sysroot construction 2024-02-07 09:24:40 +01:00
Carlos O'Donell
385a689f17 Switch to upstream 2.39 release
Upstream commit: ef321e23c20eebc6d6fb4044425c00e6df27b05f

- Document CVE-2023-6246, CVE-2023-6779, and CVE-2023-6780
- Update advisory format and introduce some automation
- manual/io: Fix swapped reading and writing phrase.
- Fix typo
- S390: Fix building with --disable-mutli-arch [BZ #31196]
- NEWS: insert advisories and fixed bugs for 2.39
- contrib.texi: update
- INSTALL, install.texi: minor updates, regenerate
- libc.pot: regenerate
- version.h, include/features.h: Bump version to 2.39
- Create ChangeLog.old/ChangeLog.28
2024-02-06 17:46:04 -05:00
Martin Coufal
7ce2803ac6 CI Test: fix /tests/Regression/bz488748-inet6-opt-init-sets-incorrect-header-len
* add '-D_GNU_SOURCE' to compilation as 'inet6_opt_init' is a GNU
  extension
2024-02-02 14:30:22 +00:00
Martin Coufal
ea742f068a CI Tests: fix /tests/Standardscompliance/bz531160-ldd-Vulnerable-to-Social-Engineering-Exploits
* include 'unistd.h'
2024-02-02 14:30:22 +00:00
Martin Coufal
cace4f829d CI Tests: fix /tests/Sanity/basic-linking-sanity
* use 'fclose'
* add missing includes
2024-02-02 14:30:22 +00:00
Martin Coufal
82e9f5dfc6 CI Tests: fix /tests/Regression/double_free_exploit
* add missing casts to int
* add missing includes
2024-02-02 14:30:22 +00:00
Martin Coufal
9b8bc360e1 CI Tests: fix /tests/Regression/bz827362-RHEL6-2-ftell-after-fseek-moves-the-offset-on-a
* include 'wchar.h'
2024-02-02 14:30:22 +00:00
Martin Coufal
306c1b65fa CI Tests: fix /tests/Regression/bz600457-locally-defined-symbol-resolving-failure
* add includes
2024-02-02 14:30:22 +00:00
Martin Coufal
9ba57dfb0e CI Tests: fix /tests/Regression/bz549813-dl-close-race-with-C-destructor
* include 'unistd.h'
2024-02-02 14:30:22 +00:00
Martin Coufal
ec13b9b33e CI Tests: fix /tests/Regression/bz529997-sem_timedwait-with-invalid-time
* include 'unistd.h'
2024-02-02 14:30:22 +00:00
Martin Coufal
d1b1cc9c26 CI Tests: fix Regression/bz455360-RHEL4-vfprintf-call-goes-into-recursive
* add 'gcc' to required packages
* include 'unistd.h'
2024-02-02 14:30:22 +00:00
Martin Coufal
3eb443a2d1 CI Tests: fix Regression/bz1563046-getlogin-r-return-early-when-linux-sentinel-value
* add gcc to required packages
* include 'unistd.h'
2024-02-02 14:30:22 +00:00
Martin Coufal
1b6496d171 CI Tests: add Regression/bz1577212-glibc-Remove-stray-Sun-RPC-exports
test
2024-02-02 14:30:22 +00:00
Martin Coufal
53a0744ff2 CI Tests: add
Regression/bz1430477-glibc-Missing-else-branch-in-libc-calloc test
2024-02-02 14:30:22 +00:00
Florian Weimer
0bd93c5697 Add noarch sysroot subpackages
Exclude the /sys-root/ tree in various places and prevent
debuginfo extract and dependency generation.

Forward-port of the feature from Fedora 35, with subsequent fixes:
Add kernel header files, and do not use = in linker scripts.
2024-01-31 17:27:51 +01:00
Patsy Griffin
23dbf2db00 Auto-sync with upstream branch master
Upstream commit: ddf542da94caf97ff43cc2875c88749880b7259b

- syslog: Fix integer overflow in __vsyslog_internal (CVE-2023-6780)
- syslog: Fix heap buffer overflow in __vsyslog_internal (CVE-2023-6779)
- syslog: Fix heap buffer overflow in __vsyslog_internal (CVE-2023-6246)
- Use binutils 2.42 branch in build-many-glibcs.py
- elf: correct relocation statistics for !ELF_MACHINE_START_ADDRESS
2024-01-30 13:18:43 -05:00
Arjun Shankar
9a84f6d280 Auto-sync with upstream branch master
Upstream commit: ae49a7b29acc184b03c2a6bd6ac01b5e08efd54f

- Relicense IBM portions of resolv/base64.c resolv/res_debug.c.
- localedata: Use consistent values for grouping and mon_grouping
- manual: fix order of arguments of memalign and aligned_alloc (Bug 27547)
2024-01-29 15:10:24 +01:00
Jens Petersen
0d0f91a2e8 no longer supplement langpacks if all-langpacks installed 2024-01-25 17:33:00 +08:00
Florian Weimer
1f97fe5ae0 Auto-sync with upstream branch master
Upstream commit: 486452affbac684db739b7fcca1e84e8a7ce33d1

- Add crh_RU, gbm_IN, ssy_ER locales.

- manual, NEWS: Document malloc side effect of dynamic TLS changes
- NEWS: Update temporary files ignored by ldconfig
- po: Incorporate translations (sr)
- string: Disable stack protector for memset in early static initialization
- qsort: Fix a typo causing unnecessary malloc/free (BZ 31276)
- riscv: add support for static PIE
- localedata: renamed:    aa_ER@saaho -> ssy_ER
- Define ISO 639-3 "ssy" (Saho)
- localedata: add crh_RU, Crimean Tartar language in the Cyrillic script as used in Russia.
- localedata: tr_TR, ku_TR: Sync with CLDR: “Turkey” -> “Türkiye”
- localedata: miq_NI: Shorten month names in abmon
- Update kernel version to 6.7 in header constant tests
- localedata: add gbm_IN locale
- Define ISO 639-3 "gbm" (Garhwali)
- Update syscall lists for Linux 6.7
- stdlib: Remove unused is_aligned function from qsort.c
2024-01-24 14:55:14 +01:00