Commit Graph

1674 Commits

Author SHA1 Message Date
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
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
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
Fedora Release Engineering
b11c9771f7 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 22:32:17 +00:00
DJ Delorie
0239af7b6c Auto-sync with upstream branch master
Upstream commit: e2803cfd8bb00b54816d1a2c381d2cf82b136da6

- NEWS: Mention PLT rewrite on x86-64
- stdlib: Verify heapsort for two-element cases
- stdlib: Fix heapsort for cases with exactly two elements
- localedata: anp_IN: Fix abbreviated month names
2024-01-16 17:12:40 -05:00
DJ Delorie
9aa434eb3f Auto-sync with upstream branch master
Upstream commit: 709fbd3ec3595f2d1076b4fec09a739327459288

- stdlib: Reinstate stable mergesort implementation on qsort
- x86-64: Check if mprotect works before rewriting PLT
- aarch64: Add NEWS entry about libmvec for 2.39
2024-01-15 17:54:52 -05:00
Carlos O'Donell
5c2b7dda4c Auto-sync with upstream branch master
- Add new locales for kv_RU, su_ID, tok, and zgh_MA.
- Drop glibc-rh2255506.patch; fix applied upstream.
- Enable Intel CET only on x86_64.

Upstream commit: 064c708c78cc2a6b5802dce73108fc0c1c6bfc80

- localedata/unicode-gen/utf8_gen.py: fix Hangul syllable name
- x86_64: Optimize ffsll function code size.
- localedata: Remove redundant comments
- RISC-V: Enable static-pie.
- linux: Fix fstat64 on alpha and sparc64
- math: remove exp10 wrappers
- Benchtests: Increase benchmark iterations
- debug/getwd_chk.c: warning should be emitted for the __getwd_chk symbol.
- Make __getrandom_nocancel set errno and add a _nostatus version
- x86-64/cet: Make CET feature check specific to Linux/x86
- Incorporate translations (zh_CN)
- Define ISO 639-3 "glk" (Gilaki)
- resolv: Fix endless loop in __res_context_query
- localedata: revert all the remaining locale sources to UTF-8
- localedata: am_ET ber_DZ en_GB en_PH en_US fil_PH kab_DZ om_ET om_KE ti_ET tl_PH: convert to UTF-8
- localedata: resolve cyclic dependencies
- localedata: kv_RU: convert to UTF-8
- localedata: add new locale kv_RU
- elf: Fix tst-nodeps2 test failure.
- localedata: Sort Makefile variables.
- locale: Sort Makefile variables.
- i386: Remove CET support bits
- x86-64/cet: Move check-cet.awk to x86_64
- x86-64/cet: Move dl-cet.[ch] to x86_64 directories
- x86: Move x86-64 shadow stack startup codes
- Fix deprecated utcnow() usage in build-many-glibcs.py
- Fix invalid escape sequence in build-many-glibcs.py
- math: Fix test-fenv.c feupdateenv tests
- Remove installed header rule on $(..)include/%.h
- i386: Fail if configured with --enable-cet
- i386: Remove CET support
- x86: Move CET infrastructure to x86_64
- localedata: su_ID: make lang_name agree with CLDR
- localedata: add new locale su_ID
- localedata: add new locale zgh_MA
- INSTALL: regenerate
- localedata: add tok/UTF-8 to SUPPORTED
- localedata: tok: add yY and nN to yesexpr and noexpr
- localedata: tok: convert to UTF-8
- localedata: add data for tok (Toki Pona)
- Remove ia64-linux-gnu
- localedata: dz_BT, bo_CN: convert to UTF-8
- localedata: dz_BT, bo_CN: Fix spelling of "phur bu" in both Tibetan and Dzongkha
- localedata: bo_CN: Fix spelling errors in Tibetan data
- localedata: bo_CN: Fix incomplete edit in Tibetan yesexpr
- localedata: dz_BT: Fix spelling errors in Dzongha data
- localedata: unicode-gen: Remove redundant \s* from regexp, fix comments
- localedata: convert the remaining *_RU locales to UTF-8
- Incorporate translations
- x32: Handle displacement overflow in PLT rewrite [BZ #31218]
- x86: Fixup some nits in longjmp asm implementation
- stdlib: Fix stdbit.h with -Wconversion for clang
- stdlib: Fix stdbit.h with -Wconversion for older gcc
- elf: Add ELF_DYNAMIC_AFTER_RELOC to rewrite PLT
- aarch64: Make cpu-features definitions not Linux-specific
- hurd: Initializy _dl_pagesize early in static builds
- hurd: Only init early static TLS if it's used to store stack or pointer guards
- hurd: Make init-first.c no longer x86-specific
- hurd: Drop x86-specific assembly from init-first.c
- hurd: Pass the data pointer to _hurd_stack_setup explicitly
- x86-64/cet: Check the restore token in longjmp
- localedata: ru_RU, ru_UA: convert to UTF-8
- localedata: es_??: convert to UTF-8
- localedata: miq_NI: convert to UTF-8
- i386: Ignore --enable-cet
- mach: Drop SNARF_ARGS macro
- mach: Drop some unnecessary vm_param.h includes
- hurd: Declare _hurd_intr_rpc_msg* with protected visibility
- hurd: Add some missing includes
- localedata: fy_DE: make this "Western Frisian" to agree with the language code "fy"
- localedata: fy_DE, fy_NL: convert to UTF-8
- localedata: ast_ES: convert to UTF-8
- localedata: ast_ES: Remove wrong copyright text
- localedata: de_{AT,BE,CH,IT,LU}: convert to UTF-8
- localedata: lv_LV, it_IT, it_CH: convert to UTF-8
- localedata: it_IT, lv_LV: currency symbol should follow the amount
- Implement C23 <stdbit.h>
- localedata: ms_MY should not use 12-hour format
- localedata: es_ES: convert to UTF-8
- localedata: es_ES: Add am_pm strings
- aarch64: Add longjmp test for SME
- aarch64: Add setcontext support for SME
- aarch64: Add longjmp support for SME
- aarch64: Add SME runtime support
- localedata: convert uz_UZ and uz_UZ@cyrillic to UTF-8
- localedata: uz_UZ and uz_UZ@cyrillic: Fix decimal point and thousands separator
- libio: Check remaining buffer size in _IO_wdo_write (bug 31183)
- getaddrinfo: translate ENOMEM to EAI_MEMORY (bug 31163)
- string: Add additional output in test-strchr failure
- Add a setjmp/longjmp test between user contexts
- x86/cet: Add -fcf-protection=none before -fcf-protection=branch
- Regenerate libc.pot
- Omit regex.c pragmas no longer needed
- Update copyright dates not handled by scripts/update-copyrights
- Update copyright in generated files by running "make"
- Update copyright dates with scripts/update-copyrights
- x86/cet: Run some CET tests with shadow stack
- x86/cet: Don't set CET active by default
- x86/cet: Check feature_1 in TCB for active IBT and SHSTK
- x86/cet: Enable shadow stack during startup
- elf: Always provide _dl_get_dl_main_map in libc.a
- x86/cet: Sync with Linux kernel 6.6 shadow stack interface
- RISC-V: Add support for dl_runtime_profile (BZ #31151)
- debug: Add fortify wprintf tests
- debug: Add fortify syslog tests
- debug: Add fortify dprintf tests
- debug: Increase tst-fortify checks for compiler without __va_arg_pack support
- debug: Adapt fortify tests to libsupport
- localedata: yo_NT: remove redundant comments
- localedata: convert en_AU, en_NZ, mi_NZ, niu_NZ to UTF-8
- localedata: First day of the week in AU is Monday, LC_TIME in en_NZ is identical to LC_TIME in en_AU then
- localedata: convert yo_NG to UTF-8, check that language name in Yoruba agrees with CLDR
- x86-64: Fix the tcb field load for x32 [BZ #31185]
- x86-64: Fix the dtv field load for x32 [BZ #31184]
2024-01-15 08:15:54 -05:00
Florian Weimer
d6f60005eb Infinite loop in res_mkquery with malformed domain name (#2255506) 2024-01-03 16:42:48 +01:00
Florian Weimer
ca9e6ac795 Auto-sync with upstream branch master
Upstream commit: 61bac1a9d2ab80ebcbc51484722e6ea43414bec7

- nss: Remove unused allocation from get_nscd_addresses in getaddrinfo
- x86/cet: Don't disable CET if not single threaded
- x86: Modularize sysdeps/x86/dl-cet.c
- x86/cet: Update tst-cet-vfork-1
- elf: Add TLS modid reuse test for bug 29039
- aarch64: Add SIMD attributes to math functions with vector versions
- aarch64: Add half-width versions of AdvSIMD f32 libmvec routines
- Fix elf/tst-env-setuid[-static] if test needs to be rerun.
- Fix elf: Do not duplicate the GLIBC_TUNABLES string
- tst-setcontext10.c: Undef _FORTIFY_SOURCE
- Fix elf: Do not duplicate the GLIBC_TUNABLES string
- riscv: Fix feenvupdate with FE_DFL_ENV (BZ 31022)
- manual: Clarify undefined behavior of feenableexcept (BZ 31019)
- x86: Do not raises floating-point exception traps on fesetexceptflag (BZ 30990)
- i686: Do not raise exception traps on fesetexcept (BZ 30989)
- powerpc: Do not raise exception traps for fesetexcept/fesetexceptflag (BZ 30988)
- elf: Do not set invalid tunables values
- elf: Do not duplicate the GLIBC_TUNABLES string
- x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode
- x86/cet: Check legacy shadow stack code in .init_array section
- x86/cet: Add tests for GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK
- x86/cet: Check CPU_FEATURE_ACTIVE when CET is disabled
- x86/cet: Check legacy shadow stack applications
- localedata: id_ID: change first weekday to Sunday
- s390: Set psw addr field in getcontext and friends.
- x86: Unifies 'strlen-evex' and 'strlen-evex512' implementations.
- x86/cet: Don't assume that SHSTK implies IBT
- id_ID: Update Time Locales
- Update code to handle the new ABI for sending inlined port rights.
- x86/cet: Check user_shstk in /proc/cpuinfo
- Add a test for setjmp/longjmp within user context
- Add a test for longjmp from user context
- powerpc: Add space for HWCAP3/HWCAP4 in the TCB for future Power.
- powerpc: Fix performance issues of strcmp power10
- localedata: Convert el_GR and el_CY locales to UTF-8
- localedata: el_GR: Greece now uses the 24h format for time
- powerpc : Add optimized memchr for POWER10
- intl: Treat C.UTF-8 locale like C locale, part 2 (BZ# 16621)
- resolv: Fix a few unaligned accesses to fields in HEADER
- x86: Check PT_GNU_PROPERTY early
2023-12-22 16:20:43 +01:00
Carlos O'Donell
259d575cdf glibc.spec: Depend only on RPM 4.14 features.
Downstream distro boostrap based on EL8-style servers may not
yet be able to deploy RPM 4.15 features. Ease the transition
burden for now by avoiding RPM 4.15 features.

Resolves: RHEL-19045
2023-12-13 20:44:07 -05:00
Carlos O'Donell
37a93f1685 Auto-sync with upstream branch master
- Drop glibc-rh2248502.patch; fix applied upstream.

Upstream commit: 9469261cf1924d350feeec64d2c80cafbbdcdd4d

- elf: Initialize GLRO(dl_lazy) before relocating libc in dynamic startup
- Move CVE information into advisories directory
- powerpc: Optimized strcmp for power10
- elf: Fix wrong break removal from 8ee878592c
- localedata: Convert day names in nn_NO locale to UTF-8
- localedata: Remove trailing whitespace in weekday names in nn_NO locale
- elf: Refactor process_envvars
- elf: Ignore LD_BIND_NOW and LD_BIND_NOT for setuid binaries
- elf: Ignore loader debug env vars for setuid
- Adapt the security policy for the security page
- aarch64: correct CFI in rawmemchr (bug 31113)
- math: Add new exp10 implementation
- aarch64: fix tested ifunc variants
- stdlib: Fix array bounds protection in insertion sort phase of qsort
- Revert "Update code to handle the new ABI for sending inlined port rights."
- Revert "hurd: Fix build"
- hurd: Fix build
- Update code to handle the new ABI for sending inlined port rights.
- hurd: [!__USE_MISC] Do not #undef BSD macros in ioctls
- linux: Make fdopendir fail with O_PATH (BZ 30373)
- Avoid padding in _init and _fini. [BZ #31042]
- aarch64: Improve special-case handling in AdvSIMD double-precision libmvec routines
- malloc: Improve MAP_HUGETLB with glibc.malloc.hugetlb=2
- elf: Add a way to check if tunable is set (BZ 27069)
2023-12-12 11:59:01 -05:00
Arjun Shankar
e1c3cc05d0 Auto-sync with upstream branch master
Upstream commit: 9469261cf1924d350feeec64d2c80cafbbdcdd4d

- Drop glibc-benchtests-aarch64.patch; fix applied upstream

- x86: Only align destination to 1x VEC_SIZE in memset 4x loop
- elf: Fix TLS modid reuse generation assignment (BZ 29039)
- Add TCP_MD5SIG_FLAG_IFINDEX from Linux 5.6 to netinet/tcp.h.
- elf: Relocate libc.so early during startup and dlmopen (bug 31083)
- elf: Introduce the _dl_open_relocate_one_object function
- elf: In _dl_relocate_object, skip processing if object is relocated
- Remove __access_noerrno
- malloc: Use __get_nprocs on arena_get2 (BZ 30945)
- aarch64: Fix libmvec benchmarks
2023-11-28 22:00:39 +01:00
Florian Weimer
6f9b4d9d90 Fix qsort workaround (#2248502) 2023-11-27 12:54:10 +01:00
Florian Weimer
154785c591 Restore qsort workaround for 389-ds-base. (#2248502) 2023-11-23 09:09:25 +01:00
Florian Weimer
f94f56a23b Auto-sync with upstream branch master
Upstream commit: 5d7f1bce7d8eea31f4baeb68bcc3124b35acc751

- Apply glibc-benchtests-aarch64.patch to fix an aarch64 build failure.
- Drop glibc-rh2244688.patch revert.  Fix applied upstream.
- Drop glibc-rh2244992.patch, glibc-rh2248915.patch, glibc-rh2248502-3.patch.
  All applied upstream.

- posix: Revert the removal of the crypt prototype from <unistd.h>
- elf: Add comments on how LD_AUDIT and LD_PRELOAD handle __libc_enable_secure
- elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
- elf: Remove any_debug from dl_main_state
- elf: Remove LD_PROFILE for static binaries
- elf: Ignore LD_PROFILE for setuid binaries
- s390: Use dl-symbol-redir-ifunc.h on cpu-tunables
- x86: Use dl-symbol-redir-ifunc.h on cpu-tunables
- elf: Emit warning if tunable is ill-formatted
- elf: Fix _dl_debug_vdprintf to work before self-relocation
- elf: Do not parse ill-formatted strings
- elf: Do not process invalid tunable format
- elf: Add all malloc tunable to unsecvars
- elf: Ignore GLIBC_TUNABLES for setuid/setgid binaries
- elf: Add GLIBC_TUNABLES to unsecvars
- elf: Remove /etc/suid-debug support
- stdlib: The qsort implementation needs to use heapsort in more cases
- stdlib: Handle various corner cases in the fallback heapsort for qsort
- stdlib: Avoid another self-comparison in qsort
- hurd: fix restarting reauth_dtable on signal
- hurd: Prevent the final file_exec_paths call from signals
- manual: Fix termios.c example. (Bug 31078)
- aarch64: Add vector implementations of expm1 routines
- linux: Use fchmodat2 on fchmod for flags different than 0 (BZ 26401)
- intl: Add test case for bug 16621
- resolv: free only initialized items from gai pool
- ldconfig: Fixes for skipping temporary files.
- nptl: Link tst-execstack-threads-mod.so with -z execstack
- nptl: Rename tst-execstack to tst-execstack-threads
- localedata: Convert oc_FR locale to UTF-8
- localedata: Add information for Occitan
- elf: Fix force_first handling in dlclose (bug 30981)
- elf: Handle non-directory name in search path (BZ 31035)
- New Zealand locales (en_NZ & mi_NZ) first day of week should be Monday
- x86: Fix unchecked AVX512-VBMI2 usage in strrchr-evex-base.S
- posix: Check pidfd_spawn with tst-spawn7-pid
- y2038: Fix support for 64-bit time on legacy ABIs
- AArch64: Remove Falkor memcpy
- AArch64: Add memset_zva64
- AArch64: Cleanup emag memset
- test: Run the tst-tls-allocation-failure-static-patched with test-wrapper.
- aarch64: Add vector implementations of log1p routines
- aarch64: Add vector implementations of atan2 routines
- aarch64: Add vector implementations of atan routines
- aarch64: Add vector implementations of acos routines
- aarch64: Add vector implementations of asin routines
2023-11-22 09:22:15 +01:00
Florian Weimer
9e361d1258 Work around another self-comparison application issue in qsort (#2248502) 2023-11-15 07:31:04 +01:00
Florian Weimer
7d7642221f Fix missing entries in /etc/ld.so.cache (#2248915) 2023-11-11 10:06:02 +01:00
Florian Weimer
ce2b6b8073 Auto-sync with upstream branch master
Upstream commit: d1dcb565a1fb5829f9476a1438c30eccc4027d04

- Drop glibc-rh2248502-*.patch, workaround applied upstream

- Fix type typo in “String/Array Conventions” doc
- stdlib: Avoid element self-comparisons in qsort (#2248502)
- elf: Add glibc.mem.decorate_maps tunable
- linux: Decorate __libc_fatal error buffer
- assert: Decorate error message buffer
- malloc: Decorate malloc maps
- nptl: Decorate thread stack on pthread_create
- support: Add support_set_vma_name
- linux: Add PR_SET_VMA_ANON_NAME support
2023-11-11 08:55:02 +01:00
Florian Weimer
4e9eab04ed Fix force-first handling in dlclose, take two (#2244992, #2246048) 2023-11-08 06:33:38 +01:00
Florian Weimer
0413a67417 Auto-sync with upstream branch master
Upstream commit: 5dd3bda59c2d9da138f0d98808d087cdb95cdc17:

- Revert back to old qsort/qsort_r implementation (#2248502)
- Adjust test build competition check to match new DejaGnu-style message.

- sysdeps: sem_open: Clear O_CREAT when semaphore file is expected to exist [BZ #30789]
- Add SEGV_CPERR from Linux 6.6 to bits/siginfo-consts.h
- linux: Sync Linux 6.6 elf.h
- linux: Add HWCAP2_HBC from Linux 6.6 to AArch64 bits/hwcap.h
- linux: Add FSCONFIG_CMD_CREATE_EXCL from Linux 6.6 to sys/mount.h
- linux: Add MMAP_ABOVE4G from Linux 6.6 to sys/mman.h
- Update kernel version to 6.6 in header constant tests
- Update syscall lists for Linux 6.6
- Format test results closer to what DejaGnu does
- AArch64: Cleanup ifuncs
- Use correct subdir when building tst-rfc3484* for mach and arm
- stdlib: Add more qsort{_r} coverage
- stdlib: qsort: Move some macros to inline function
- stdlib: Move insertion sort out qsort
- stdlib: Optimization qsort{_r} swap implementation
- string: Add internal memswap implementation
- crypt: Remove manul entry for --enable-crypt
- Use Linux 6.6 in build-many-glibcs.py
- crypt: Remove libcrypt support
- sparc: Remove optimize md5, sha256, and sha512
- build-many-glibcs: Fix traililing whitespace
- AArch64: Add support for MOPS memcpy/memmove/memset
- Move getnameinfo from 'inet' to 'nss'
- Move getaddrinfo from 'posix' into 'nss'
- Move 'services' routines from 'inet' into 'nss'
- Move 'rpc' routines from 'inet' into 'nss'
- Move 'protocols' routines from 'inet' into 'nss'
- Move 'networks' routines from 'inet' into 'nss'
- Move 'netgroup' routines from 'inet' into 'nss'
- Move 'hosts' routines from 'inet' into 'nss'
- Move 'ethers' routines from 'inet' into 'nss'
- Move 'aliases' routines from 'inet' into 'nss'
- Remove 'shadow' and merge into 'nss'
- Remove 'pwd' and merge into 'nss'
- Remove 'gshadow' and merge into 'nss'
- Remove 'grp' and merge into 'nss' and 'posix'
- malloc: Fix tst-tcfree3 build csky-linux-gnuabiv2 with fortify source
- test-container: disable ld.so system cache on DSO detection
- aarch64: Add vector implementations of exp10 routines
- aarch64: Add vector implementations of log10 routines
- aarch64: Add vector implementations of log2 routines
- aarch64: Add vector implementations of exp2 routines
- aarch64: Add vector implementations of tan routines
- elf: ldconfig should skip temporary files created by package managers
- tst-spawn-cgroup.c: Fix argument order of UNSUPPORTED message.
- Add NT_PPC_DEXCR and NT_PPC_HASHKEYR from Linux 6.5 to elf.h
- s390: Fix undefined behaviour in feenableexcept, fedisableexcept [BZ #30960]
- elf: Do not print the cache entry if --inhibit-cache is used
2023-11-07 16:22:46 +01:00
Carlos O'Donell
231d936c48 Revert "Fix force-first handling in dlclose" (#2246048)
Resolves: #2246048
2023-10-26 17:21:36 -04:00
Daan De Meyer
ff30db342b Inherit -mbackchain from redhat-rpm-config
To allow experimenting with -mbackchain based stack unwinding on s390x,
let's make sure -mbackchain is inherited from redhat-rpm-config as well,
similar to how -fno-omit-frame-pointer is inherited as well.
2023-10-26 11:49:08 +02:00
Arjun Shankar
79808700a1 Provide template gai.conf in glibc-doc
The gai.conf template used to be shipped via glibc-common, but was
incorrectly removed during 1fa03e97ae ("Introduce new
glibc-doc.noarch subpackage (#1346925)" as unnecessary.  However, it has
value as a template file and shipping it is preferable.  This commit
reinstates the file at /usr/share/doc/glibc/gai.conf as part of the
glibc-doc subpackage.
2023-10-24 14:45:44 +02:00
Florian Weimer
c0b92fe18e Fix force-first handling in dlclose (#2244992) 2023-10-19 09:09:36 +02:00
Florian Weimer
2e44c0f9f3 Auto-sync with upstream branch master
Upstream commit: dd32e1db386c77c61850a7cbd0c126b7b3c63ece

- Revert "x86: Prepare `strrchr-evex` and `strrchr-evex512` for AVX10" (#2244688)

- Revert "elf: Always call destructors in reverse constructor order (bug 30785)"
- Revert "elf: Fix compile error with -DNDEBUG [BZ #18755]"
- Add strlcat/wcslcat testcase.
- Add strlcpy/wcslcpy testcase
- Add LE DSCP code point from RFC-8622.
- Add HWCAP2_MOPS from Linux 6.5 to AArch64 bits/hwcap.h
- Add SCM_SECURITY, SCM_PIDFD to bits/socket.h
- Add AT_HANDLE_FID from Linux 6.5 to bits/fcntl-linux.h
- Avoid maybe-uninitialized warning in __kernel_rem_pio2
- Fix WAIT_FOR_DEBUGGER for container tests.
2023-10-18 11:43:30 +02:00
Florian Weimer
dff2117453 Auto-sync with upstream branch master
Upstream commit: 69239bd7a216007692470aa9d5f3658024638742

- Drop glibc-disable-werror-tst-realloc.patch, GCC was fixed long ago.

- stdlib: fix grouping verification with multi-byte thousands separator (bug 30964)
- build-many-glibcs: Check for required system tools
- x86: Prepare `strrchr-evex` and `strrchr-evex512` for AVX10
- aarch64: Optimise vecmath logs
- aarch64: Cosmetic change in SVE exp routines
- aarch64: Optimize SVE cos & cosf
- aarch64: Improve vecmath sin routines
- nss: Get rid of alloca usage in makedb's write_output.
- debug: Add regression tests for BZ 30932
- Fix FORTIFY_SOURCE false positive
- nss: Rearrange and sort Makefile variables
- inet: Rearrange and sort Makefile variables
- Fix off-by-one OOB write in iconv/tst-iconv-mt
2023-10-12 12:43:33 +02:00
Arjun Shankar
2538a798df Auto-sync with upstream branch master
Upstream commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa

- tunables: Terminate if end of input is reached (CVE-2023-4911)
- Propagate GLIBC_TUNABLES in setxid binaries

Resolves: #2241966
2023-10-03 19:29:06 +02:00
Arjun Shankar
d3951beccf Auto-sync with upstream branch master
Upstream commit: 9e4e896f0f5a19a16c1a77567463b013a0f4952d

- Linux: add ST_NOSYMFOLLOW
- resolve: Remove __res_context_query alloca usage
- mips: dl-machine-reject-phdr: Get rid of alloca.
- x86: Add support for AVX10 preset and vec size in cpu-features
- resolv: Fix a comment typo in __resolv_conf_load
- Remove unused -DRESOLVER getaddrinfo build flag
- C2x scanf %wN, %wfN support
- test-container: Use nftw instead of rm -rf
2023-10-03 15:37:35 +02:00
Patsy Griffin
9e85d70f29 Auto-sync with upstream branch master
Upstream commit: 29d4591b07a4da53320e949557c6946c62c26bde

- hurd: Drop REG_GSFS and REG_ESDS from x86_64's ucontext
- elf: Fix compile error with -DNDEBUG [BZ #18755]
- MIPS: Add relocation types
- MIPS: Add new section type SHT_MIPS_ABIFLAGS
- MIPS: Add ELF file header flags
- fegetenv_and_set_rn now uses the builtins provided by GCC.
- io: Do not implement fstat with fstatat
- libio: Add nonnull attribute for most FILE * arguments in stdio.h
- AArch64: Remove -0.0 check from vector sin
- Document CVE-2023-4806 and CVE-2023-5156 in NEWS
- elf: Add dummy declaration of _dl_audit_objclose for !SHARED
- Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 [BZ #30843]
- elf: dl-lookup: Remove unused alloca.h include
- Remove unused localedata/th_TH.in
- Adapt collation in th_TH locale to use the iso14651_t1_common file and sync the collation with CLDR
- Revert "LoongArch: Add glibc.cpu.hwcap support."
- Update kernel version to 6.5 in header constant tests
- LoongArch: Add glibc.cpu.hwcap support.
- math: Add a no-mathvec flag for sin (-0.0)
2023-09-28 12:39:12 -04:00
Arjun Shankar
d95a28acbf Auto-sync with upstream branch master
Upstream commit: bb5bbc20702981c287aa3e44640e7d2f2b9a28cf

- Update to Unicode 15.1.0 [BZ #30854]
- localedata/unicode-gen/utf8_gen.py: adapt regexp to get relevant lines from EastAsianWidth.txt
- Fix regexp syntax warnings in localedata/unicode-gen/ctype_compatibility.py
- getaddrinfo: Fix use after free in getcanonname (CVE-2023-4806)
- LoongArch: Change to put magic number to .rodata section
- LoongArch: Add ifunc support for strrchr{aligned, lsx, lasx}
- LoongArch: Add ifunc support for strcpy, stpcpy{aligned, unaligned, lsx, lasx}
- LoongArch: Replace deprecated $v0 with $a0 to eliminate 'as' Warnings.
- LoongArch: Add lasx/lsx support for _dl_runtime_profile.
- Add MOVE_MOUNT_BENEATH from Linux 6.5 to sys/mount.h
- CVE-2023-4527: Stack read overflow with large TCP responses in no-aaaa mode
- resolv: Fix some unaligned accesses in resolver [BZ #30750]
- Update syscall lists for Linux 6.5
2023-09-18 11:42:43 +02:00
Patsy Griffin
3940ace9ec Auto-sync with upstream branch master
Upstream commit: 073edbdfabaad4786e974a451efe4b6b3f7a5a61

- ia64: Work around miscompilation and fix build on ia64's gcc-10 and later
- stdio: Remove __libc_message alloca usage
- htl: avoid exposing the vm_region symbol
- libio: Fix oversized __io_vtables
- Use Linux 6.5 in build-many-glibcs.py
- elf: Remove unused l_text_end field from struct link_map
2023-09-11 16:45:17 -04:00
Florian Weimer
ebaa7d3ece Auto-sync with upstream branch master
Upstream commit: 6985865bc3ad5b23147ee73466583dd7fdf65892

- elf: Always call destructors in reverse constructor order (bug 30785)
- io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64
- manual: Fix ld.so diagnostics menu/section structure
- getaddrinfo: Get rid of alloca
- riscv: Add support for XTheadBb in string-fz[a,i].h
- getcanonname: Fix a typo
- linux: Add pidfd_getpid
- posix: Add pidfd_spawn and pidfd_spawnp (BZ 30349)
- linux: Add posix_spawnattr_{get, set}cgroup_np (BZ 26371)
- linux: Define __ASSUME_CLONE3 to 0 for alpha, ia64, nios2, sh, and sparc
- __call_tls_dtors: Use call_function_static_weak
- intl: Treat C.UTF-8 locale like C locale (BZ# 16621)
- htl: Fix stack information for main thread
- htl: thread_local destructors support
- elf: Fix slow tls access after dlopen [BZ #19924]
- x86: Check the lower byte of EAX of CPUID leaf 2 [BZ #30643]
2023-09-08 14:42:43 +02:00
DJ Delorie
565f0c3026 Auto-sync with upstream branch master
Upstream commit: e1d3312015e8f70344620375aedf91afe7e7e7a4

- add GB18030-2022 charmap and test the entire GB18030 charmap [BZ #30243]
- Use GMP 6.3.0, MPFR 4.2.1 in build-many-glibcs.py
- localedata: Translit common emojis to smileys [BZ #30649]
- nscd: Skip unusable entries in first pass in prune_cache (bug 30800)
- LoongArch: Change loongarch to LoongArch in comments
- LoongArch: Add ifunc support for memcmp{aligned, lsx, lasx}
- LoongArch: Add ifunc support for memset{aligned, unaligned, lsx, lasx}
- LoongArch: Add ifunc support for memrchr{lsx, lasx}
- LoongArch: Add ifunc support for memchr{aligned, lsx, lasx}
- LoongArch: Add ifunc support for rawmemchr{aligned, lsx, lasx}
- LoongArch: Micro-optimize LD_PCREL
- LoongArch: Remove support code for old linker in start.S
- LoongArch: Simplify the autoconf check for static PIE
- Add F_SEAL_EXEC from Linux 6.3 to bits/fcntl-linux.h.
- argp-parse: Get rid of alloca
- gencat: Get rid of alloca.
- m68k: Use M68K_SCALE_AVAILABLE on __mpn_lshift and __mpn_rshift
- m68k: Fix build with -mcpu=68040 or higher (BZ 30740)
- elf: Check that --list-diagnostics output has the expected syntax
- manual: Document ld.so --list-diagnostics output
- manual/jobs.texi: Add missing @item EPERM for getpgid
- LoongArch: Add ifunc support for strncmp{aligned, lsx}
- LoongArch: Add ifunc support for strcmp{aligned, lsx}
- LoongArch: Add ifunc support for strnlen{aligned, lsx, lasx}
- htl: move pthread_attr_setdetachstate into libc
- htl: move pthread_attr_getdetachstate into libc
- htl: move pthread_attr_setschedpolicy into libc
- htl: move pthread_attr_getschedpolicy into libc
- htl: move pthread_attr_setinheritsched into libc
- htl: move pthread_attr_getinheritsched into libc
- htl: move pthread_attr_getschedparam into libc
- htl: move pthread_setschedparam into libc
- htl: move pthread_getschedparam into libc
- htl: move pthread_equal into libc
- Linux: Avoid conflicting types in ld.so --list-diagnostics
2023-08-29 13:42:29 -04:00
Florian Weimer
0deaedc954 diffutils is needed by the testsuite 2023-08-23 08:48:21 +02:00
Arjun Shankar
266c7da7e0 Auto-sync with upstream branch master
Upstream commit: f6c8204fd7fabf0cf4162eaf10ccf23258e4d10e

- elf: Do not run constructors for proxy objects
- x86_64: Add log1p with FMA
- Remove references to the defunct db2 subdir
- string: Fix tester build with fortify enable with gcc < 12
- s390x: Fix static PIE condition for toolchain bootstrapping.
- m68k: fix __mpn_lshift and __mpn_rshift for non-68020
- sysdeps: tst-bz21269: fix -Wreturn-type
- Loongarch: Add ifunc support for memcpy{aligned, unaligned, lsx, lasx} and memmove{aligned, unaligned, lsx, lasx}
- Loongarch: Add ifunc support for strchr{aligned, lsx, lasx} and strchrnul{aligned, lsx, lasx}
- sysdeps: tst-bz21269: handle ENOSYS & skip appropriately
- sysdeps: tst-bz21269: fix test parameter
- hurd: Fix strictness of <mach/thread_state.h>
- hurd: Add prototype for and thus fix _hurdsig_abort_rpcs call
- io/tst-statvfs: fix statfs().f_type comparison test on some arches
- fxprintf: Get rid of alloca
2023-08-22 15:44:10 +02:00