aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
32 hoursmalloc: Cleanup sysmalloc_mmapHEADmasterWilco Dijkstra1-72/+19
Cleanup sysmalloc_mmap - simplify padding since it is always a constant. Remove av parameter which is only used in do_check_chunk, but since it may be NULL for mmap, it will cause a crash in checking mode. Remove the odd check on mmap in do_check_chunk. Reviewed-by: DJ Delorie <dj@redhat.com>
33 hoursmalloc: Improve checked_request2sizeWilco Dijkstra2-28/+13
Change checked_request2size to return SIZE_MAX for huge inputs. This ensures large allocation requests stay large and can't be confused with a small allocation. As a result several existing checks against PTRDIFF_MAX become redundant. Reviewed-by: DJ Delorie <dj@redhat.com>
33 hoursmalloc: Cleanup madvise definesWilco Dijkstra1-11/+2
Remove redundant ifdefs for madvise/THP. Reviewed-by: DJ Delorie <dj@redhat.com>
33 hoursbenchtests: Cleanup bench-malloc-threadWilco Dijkstra1-9/+9
Change duration to 3 seconds.  Add spaces before '('. Reviewed-by: DJ Delorie <dj@redhat.com>
33 hoursmalloc: Fix MAX_TCACHE_SMALL_SIZEWilco Dijkstra1-10/+8
MAX_TCACHE_SMALL_SIZE should use chunk size since it is used after checked_request2size. Increase limit of tcache_max_bytes by 1 since all comparisons use '<'. As a result, the last tcache entry is now used as expected. Reviewed-by: DJ Delorie <dj@redhat.com>
2 daysnptl: Fix SYSCALL_CANCEL for return values larger than INT_MAX (BZ 33245)Adhemerval Zanella1-2/+2
The SYSCALL_CANCEL calls __syscall_cancel, which in turn calls __internal_syscall_cancel with an 'int' return instead of the expected 'long int'. This causes issues with syscalls that return values larger than INT_MAX, such as copy_file_range [1]. Checked on x86_64-linux-gnu. [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79139 Reviewed-by: Andreas K. Huettel <dilfridge@gentoo.org>
2 daysi386: Consolidate subdirectory check on elf and csuH.J. Lu1-18/+9
Consolidate subdirectory check on elf and csu to avoid checking them more than once. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
2 daysx86-64: Consolidate subdirectory check on elf and csuH.J. Lu1-15/+10
Consolidate subdirectory check on elf and csu to avoid checking them more than once. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
3 dayself: Handle ld.so with LOAD segment gaps in _dl_find_object (bug 31943)Florian Weimer7-32/+280
Detect if ld.so not contiguous and handle that case in _dl_find_object. Set l_find_object_processed even for initially loaded link maps, otherwise dlopen of an initially loaded object adds it to _dlfo_loaded_mappings (where maps are expected to be contiguous), in addition to _dlfo_nodelete_mappings. Test elf/tst-link-map-contiguous-ldso iterates over the loader image, reading every word to make sure memory is actually mapped. It only does that if the l_contiguous flag is set for the link map. Otherwise, it finds gaps with mmap and checks that _dl_find_object does not return the ld.so mapping for them. The test elf/tst-link-map-contiguous-main does the same thing for the libc.so shared object. This only works if the kernel loaded the main program because the glibc dynamic loader may fill the gaps with PROT_NONE mappings in some cases, making it contiguous, but accesses to individual words may still fault. Test elf/tst-link-map-contiguous-libc is again slightly different because the dynamic loader always fills the gaps with PROT_NONE mappings, so a different form of probing has to be used. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
3 dayself: Extract rtld_setup_phdr function from dl_mainFlorian Weimer1-27/+32
Remove historic binutils reference from comment and update how this data is used by applications. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
3 daysstdlib: resolve a double lock init issue after fork [BZ #32994]Davide Cavalca1-1/+5
The __abort_fork_reset_child (introduced in d40ac01cbbc66e6d9dbd8e3485605c63b2178251) call resets the lock after the fork. This causes a DRD regression in valgrind (https://bugs.kde.org/show_bug.cgi?id=503668), as it's effectively a double initialization, despite it being actually ok in this case. As suggested in https://sourceware.org/bugzilla/show_bug.cgi?id=32994#c2 we replace it here with a memcpy of another initialized lock instead, which makes valgrind happy. Reviewed-by: Florian Weimer <fweimer@redhat.com>
5 daysUse Linux 6.16, GCC 15, binutils 2.45 in build-many-glibcs.pyJoseph Myers1-3/+3
Tested with build-many-glibcs.py (host-libraries, compilers and glibcs builds).
5 daysmalloc: Enable THP always support on hugetlb tunableWilliam Hunt1-7/+11
Enable support for THP always when glibc.malloc.hugetlb=1, as the tunable currently only gives explicit support in malloc for the THP madvise mode by aligning to a huge page size. Add a thp_mode parameter to mp_ and check in madvise_thp whether the system is using madvise mode, otherwise the `__madvise` call is useless. Set the thp_mode to be unsupported by default, but if the hugetlb tunable is set this updates thp_mode. Performance of xalancbmk improves by 4.9% on Neoverse V2 when THP always mode is set on the system and glibc.malloc.hugetlb=1. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
5 daysmalloc: Remove redundant NULL checkWilco Dijkstra1-4/+3
Remove a redundant NULL check from tcache_get_n. Reviewed-by: Cupertino Miranda <cupertino.miranda@oracle.com>
5 daysreplace atan2-inputs with more meaningful inputsPaul Zimmermann1-1002/+1001
Commit 934d88d used inputs with exponent generated at random in the whole binary64 exponent range, which yields essentially very large or very small values of |y/x|. Instead, this commit generates x, y at random in [-10,10], which should better corresponds to real applications. Reviewed-by: Florian Weimer <fweimer@redhat.com>
6 daysinet-fortified: fix namespace violation (bug 33227)Sam James1-4/+4
We need to use __sz, not sz, as we do elsewhere. Reviewed-by: Florian Weimer <fweimer@redhat.com>
6 daystst-cond23: return EXIT_UNSUPPORTED on missing clock selectionSamuel Thibault1-1/+1
6 daysNEWS: Add 2.43 sectionAndreas K. Hüttel1-0/+27
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
6 daysBump version to 2.42.9000glibc-2.42.9000Andreas K. Hüttel1-2/+2
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
6 daysCreate ChangeLog.old/ChangeLog.31glibc-2.42Andreas K. Hüttel1-0/+10420
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
6 daysBump version number to 2.42Andreas K. Hüttel2-3/+3
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
6 daysNEWS: update with last-minute fix bug 33224Andreas K. Hüttel1-0/+2
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
6 daysmath: Update auto-libm-tests-in with ldbl-128ibm compoundn/pown failuresAdhemerval Zanella3-90/+90
It fixes ce488f7c1615bc2f6fe96ff4d51456e470aa5805 which updated the out files without using gen-auto-libm-tests.c instructions. Checked on powerpc64le-linux-gnu. Tested-by: Andreas K. Huettel <dilfridge@gentoo.org> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
6 daysINSTALL: Update newest tested binutils versionAndreas K. Hüttel2-4/+2
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
6 dayself: Compile _dl_debug_state separately (bug 33224)Florian Weimer3-11/+31
This ensures that the compiler will not inline it, so that debuggers which do not use the Systemtap probes can reliably set a breakpoint on it. Reviewed-by: Andreas K. Huettel <dilfridge@gentoo.org> Tested-by: Andreas K. Huettel <dilfridge@gentoo.org>
6 daysconfigure.ac: fix bashisms in SFrame checksSam James2-4/+4
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
8 daysINSTALL: regenerateAndreas K. Hüttel1-11/+14
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
8 daysinstall.texi: Update tested build tool versionsAndreas K. Hüttel1-7/+8
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
8 dayscontrib.texi: UpdateAndreas K. Hüttel1-14/+39
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
8 daysNEWS: insert list of CVEsAndreas K. Hüttel1-2/+15
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
8 daysadvisories: s/CVE-id/CVE-Id/ (the lowercase i breaks our tooling)Andreas K. Hüttel3-3/+3
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
9 daysNEWS: Generalize testing section and mention the manual.Carlos O'Donell1-2/+5
9 daysNEWS: Insert list of bugs fixed in 2.42Andreas K. Hüttel1-2/+93
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
9 daysNEWS: Collect some more newsworthy itemsAndreas K. Hüttel1-0/+16
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
9 daysNEWS: editorial changesAndreas K. Hüttel1-17/+17
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
9 dayspo: Update swedish translationsAndreas K. Hüttel1-3/+9
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
9 daysdebug: Only run sframe tests if run-built-tests is enabledAdhemerval Zanella1-0/+2
9 daysaarch64: Fix aarch64_be build with --enable-sframeAdhemerval Zanella1-1/+1
10 dayself: Check SFrame on tst-dl_find_object.cAdhemerval Zanella1-0/+14
If SFrame is enable check if DLFO_FLAG_SFRAME is set (since sframe support is added by default) and if dlfo_sframe has the expected value. Checked on aarch64-linux-gnu and x86_64-linux-gnu. Reviewed-by: Sam James <sam@gentoo.org>
10 dayssframe: Add support for SFRAME_F_FDE_FUNC_START_PCREL flagClaudiu Zissulescu3-31/+118
The Sframe V2 has a new errata which introduces the SFRAME_F_FDE_FUNC_START_PCREL flag. This flag indicates the encoding of the SFrame FDE function start address field like this: - if set, sfde_func_start_address field contains the offset in bytes to the start PC of the associated function from the field itself. - if unset, sfde_func_start_address field contains the offset in bytes to the start PC of the associated function from the start of the SFrame section. Signed-off-by: Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com> Reviewed-by: Sam James <sam@gentoo.org>
10 daysDisable SFrame support by defaultAdhemerval Zanella17-88/+141
And add extra checks to enable for binutils 2.45 and if the architecture explicitly enables it. When SFrame is disabled, all the related code is also not enabled for backtrace() and _dl_find_object(), so SFrame backtracking is not used even if the binary has the SFrame segment. This patch also adds some other related fixes: * Fixed an issue with AC_CHECK_PROG_VER, where the READELF_SFRAME usage prevented specifying a different readelf through READELF environment variable at configure time. * Add an extra arch-specific internal definition, libc_cv_support_sframe, to disable --enable-sframe on architectures that have binutils but not glibc support (s390x). * Renamed the tests without the .sframe segment and move the tst-backtrace1 from pthread to debug. * Use the built compiler strip to remove the .sframe segment, instead of the system one (which might not support SFrame). Checked on x86_64-linux-gnu and aarch64-linux-gnu. Reviewed-by: Sam James <sam@gentoo.org>
10 daysmath: xfail some pown and compoundn tests for ibm128-libgccSachin Monga3-44/+44
On powerpc math/test-ibm128-pown shows below failures: testing long double (without inline functions) infinity has wrong sign. Failure: Test: pown_downward (-inf, 0x7fffffffffffffffLL) Result: is: inf inf should be: -inf -inf Failure: Test: pown_downward (-0, 9223372036854775807LL) Result: is: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 should be: -0.00000000000000000000000000000000e+00 -0x0.000000000000000000000000000p+0 difference: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 ulp : 0.0000 max.ulp : 16.0000 Failure: pown_downward (-0x1p+0, 9223372036854775807LL): Exception "Invalid operation" set Failure: pown_downward (-0x1p+0, 9223372036854775807LL): errno set to 34, expected 0 (unchanged) Failure: Test: pown_downward (-0x1p+0, 9223372036854775807LL) Result: is: qNaN should be: -1.00000000000000000000000000000000e+00 -0x1.000000000000000000000000000p+0 infinity has wrong sign. Failure: Test: pown_towardzero (-0, -0x7fffffffffffffffLL) Result: is: inf inf should be: -inf -inf infinity has wrong sign. Failure: Test: pown_towardzero (-inf, 0x7fffffffffffffffLL) Result: is: inf inf should be: -inf -inf Failure: Test: pown_towardzero (-inf, -0x7fffffffffffffffLL) Result: is: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 should be: -0.00000000000000000000000000000000e+00 -0x0.000000000000000000000000000p+0 difference: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 ulp : 0.0000 max.ulp : 16.0000 Failure: Test: pown_towardzero (-0, 9223372036854775807LL) Result: is: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 should be: -0.00000000000000000000000000000000e+00 -0x0.000000000000000000000000000p+0 difference: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 ulp : 0.0000 max.ulp : 16.0000 Failure: pown_towardzero (-0x1p+0, -9223372036854775807LL): Exception "Invalid operation" set Failure: pown_towardzero (-0x1p+0, -9223372036854775807LL): errno set to 34, expected 0 (unchanged) Failure: Test: pown_towardzero (-0x1p+0, -9223372036854775807LL) Result: is: qNaN should be: -1.00000000000000000000000000000000e+00 -0x1.000000000000000000000000000p+0 Failure: pown_towardzero (-0x1p+0, 9223372036854775807LL): Exception "Invalid operation" set Failure: pown_towardzero (-0x1p+0, 9223372036854775807LL): errno set to 34, expected 0 (unchanged) Failure: Test: pown_towardzero (-0x1p+0, 9223372036854775807LL) Result: is: qNaN should be: -1.00000000000000000000000000000000e+00 -0x1.000000000000000000000000000p+0 infinity has wrong sign. Failure: Test: pown_upward (-0, -0x7fffffffffffffffLL) Result: is: inf inf should be: -inf -inf Failure: Test: pown_upward (-inf, -0x7fffffffffffffffLL) Result: is: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 should be: -0.00000000000000000000000000000000e+00 -0x0.000000000000000000000000000p+0 difference: 0.00000000000000000000000000000000e+00 0x0.000000000000000000000000000p+0 ulp : 0.0000 max.ulp : 16.0000 Failure: pown_upward (-0x1p+0, -9223372036854775807LL): Exception "Invalid operation" set Failure: pown_upward (-0x1p+0, -9223372036854775807LL): errno set to 34, expected 0 (unchanged) Failure: Test: pown_upward (-0x1p+0, -9223372036854775807LL) Result: is: qNaN should be: -1.00000000000000000000000000000000e+00 -0x1.000000000000000000000000000p+0 Likewise, math/test-ibm128-compoundn shows below failure: testing long double (without inline functions) Failure: compoundn_upward (0xf.ffffffffffff8p+1020, 1LL): Exception "Overflow" set Failure: compoundn_upward (0xf.ffffffffffff8p+1020, 1LL): errno set to 34, expected 0 (unchanged) Failure: Test: compoundn_upward (0xf.ffffffffffff8p+1020, 1LL) Result: is: inf inf should be: 1.79769313486231570814527423731707e+308 0x1.fffffffffffff00000000000008p+1023 Signed-off-by: Sachin Monga <smonga@linux.ibm.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
10 daysmanual: Use @Theglibc{} at sentence start in terminal documentationFlorian Weimer1-3/+3
Fixes commit 5dd2a19ad5218261cee064 ("termios: manual: improve the explanation of various tty concepts") and commit c744519bad8106769760 ("termios: manual: document the SPEED_MAX and BAUD_MAX constants"). Reviewed-by: Collin Funk <collin.funk1@gmail.com>
10 daysUpdate Fix-Commit list for advisory GLIBC-SA-2025-0002Carlos O'Donell1-0/+5
10 daysdebug: Link tst-sprintf-fortify-rdonly-static with -Wl,-z,relro [BZ 33183]John David Anglin1-0/+1
This test requires relro_format be placed in the PT_GNU_RELRO segment. The ELF linker enables -z relro support by default on all Linux targets except FRV, HPPA, IA64 and MIPS. On these targets, we need to explicitly link with -z relro to place relro_format in the PT_GNU_RELRO segment. Signed-off-by: John David Anglin <dave.anglin@bell.net>
11 daysAdvisory text for CVE-2025-8058Adhemerval Zanella1-0/+14
The fix is already installed (7ea06e994093fa0bcca0d0ee2c1db271d8d7885d). Reviewed-by: Carlos O'Donell <carlos@redhat.com>
12 daysMakeconfig: The hash character # confuses old make, use $(dir instead of sedAndreas K. Hüttel1-1/+1
Up to Make 4.2, # is treated as the start of a comment even in function invocations. This leads to a syntax error. Fixed in Make 4.3, but we still support versions back to 4.0 at the moment. Tested on Gentoo (x86-64) and Debian (loongarch64) Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> Reviewed-by: Collin Funk <collin.funk1@gmail.com>
13 dayspo: Incorporate translationsAndreas K. Hüttel38-3933/+5798
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
13 daysposix: Fix double-free after allocation failure in regcomp (bug 33185)Florian Weimer3-1/+180
If a memory allocation failure occurs during bracket expression parsing in regcomp, a double-free error may result. Reported-by: Anastasia Belova <abelova@astralinux.ru> Co-authored-by: Paul Eggert <eggert@cs.ucla.edu> Reviewed-by: Andreas K. Huettel <dilfridge@gentoo.org>
13 daysRevert "Linux: Keep termios ioctl constants strictly internal"Florian Weimer18-116/+260
This reverts commit 3d3572f59059e2b19b8541ea648a6172136ec42e. Reason for revert: TCGETS etc. work to some extent on at least a subset of architectures, so there is no pressing need to force applications off them. Removal of the macros breaks building the sanitizers, impacting both GCC and LLVM. Reviewed-by: Sam James <sam@gentoo.org>