- Jun 13, 2024
-
-
H.J. Lu authored
Properly set libc_cv_have_x86_isa_level in shell for MINIMUM_X86_ISA_LEVEL defined as (__X86_ISA_V1 + __X86_ISA_V2 + __X86_ISA_V3 + __X86_ISA_V4) Also set __X86_ISA_V2 to 1 for i386 if __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 is defined. There are no changes in config.h nor in config.make on x86-64. On i386, -march=x86-64-v2 with GCC generates #define MINIMUM_X86_ISA_LEVEL 2 in config.h and have-x86-isa-level = 2 in config.make. This fixes BZ #31883. Signed-off-by:
H.J. Lu <hjl.tools@gmail.com> Reviewed-by:
Noah Goldstein <goldstein.w.n@gmail.com>
-
DJ Delorie authored
Sort tunables list at the time it's generated. Note: adding new tunables will cause other tunable IDs to change, but that was the case before anyway. POSIX does not guarantee the order of "foo in bar" AWK operators, so the order was indeterminate before anyway. Even depending on the order to be the same across multiple calls, such as in this script, is undefined, so sorting the list resolves that also. Note that sorting is not dependent on the user's locale.
-
Adhemerval Zanella authored
The __stack_prot is used by Linux to make the stack executable if a modules requires it. It is also marked as RELRO, which requires to change the segment permission to RW to update it. Also, there is no need to keep track of the flags: either the stack will have the default permission of the ABI or should be change to PROT_READ | PROT_WRITE | PROT_EXEC. The only additional flag, PROT_GROWSDOWN or PROT_GROWSUP, is Linux only and can be deducted from _STACK_GROWS_DOWN/_STACK_GROWS_UP. Also, the check_consistency function was already removed some time ago. Checked on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by:Florian Weimer <fweimer@redhat.com>
-
- Jun 12, 2024
-
-
Philip Kaludercic authored
These comments were written in 2003 (added in 2c008571 ), predating the addition of getdelim(3)/getline(3) in POSIX.1-2008. Reviewed-by:
Sam James <sam@gentoo.org> Reviewed-by:
Florian Weimer <fweimer@redhat.com>
-
- Jun 11, 2024
-
-
Mike FABIAN authored
Resolves: BZ # 25119 Also to sync with CLDR
-
H.J. Lu authored
On i386, set the default minimum ISA level to 0, not 1 (baseline which includes SSE2). There are no changes in config.h nor in config.make on x86-64. This fixes BZ #31867. Signed-off-by:
H.J. Lu <hjl.tools@gmail.com> Tested-by:
Ian Jordan <immoloism@gmail.com> Reviewed-by:
Sam James <sam@gentoo.org> Reviewed-by:
Florian Weimer <fweimer@redhat.com>
-
Joe Damato authored
In commit 46b5e98e ("x86: Add seperate non-temporal tunable for memset") a tunable threshold for enabling non-temporal memset was added, but only for Intel hardware. Since that commit, new benchmark results suggest that non-temporal memset is beneficial on AMD, as well, so allow this tunable to be set for AMD. See: https://docs.google.com/spreadsheets/d/1opzukzvum4n6-RUVHTGddV6RjAEil4P2uMjjQGLbLcU/edit?usp=sharing which has been updated to include data using different stategies for large memset on AMD Zen2, Zen3, and Zen4. Signed-off-by:
Joe Damato <jdamato@fastly.com> Reviewed-by:
Noah Goldstein <goldstein.w.n@gmail.com>
-
Samuel Thibault authored
The manpage says that when the passed size is zero, they should set the expected size and return 0. ERANGE shall be returned only when the non-zero passed size is not large enough.
-
Samuel Thibault authored
When XATTR_REPLACE is set we shall succeed when the value already exists, and fail with ENODATA otherwise, instead of the converse.
-
Samuel Thibault authored
When no translator is set, __file_get_translator would return EINVAL which is a confusing value. Better check for a passive translation before getting the value.
-
Samuel Thibault authored
The manpage says that lsetxattr returns 0 on success, like setxattr.
-
- Jun 07, 2024
-
-
David Paleino authored
Signed-off-by:David Paleino <dapal@debian.org>
-
- Jun 05, 2024
-
-
Avinal Kumar authored
The error message in xgetsockname was incorrectly referring to a different function. This commit fixes that. Suggested-by:
Arjun Shankar <arjun@redhat.com> Signed-off-by:
Avinal Kumar <avinal.xlvii@gmail.com> Reviewed-by:
Carlos O'Donell <carlos@redhat.com>
-
Mohamed Akram authored
These are required by the upcoming POSIX standard and are available on other platforms. Link: https://austingroupbugs.net/view.php?id=339 Signed-off-by:
Mohamed Akram <mohd.akram@outlook.com> Reviewed-by:
Arjun Shankar <arjun@redhat.com>
-
Joe Damato authored
As of Linux kernel 6.9, some ioctls and a parameters structure have been introduced which allow user programs to control whether a particular epoll context will busy poll. Update the headers to include these for the convenience of user apps. The ioctls were added in Linux kernel 6.9 commit 18e2bf0edf4dd ("eventpoll: Add epoll ioctl for epoll_params") [1] to include/uapi/linux/eventpoll.h. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/?h=v6.9&id=18e2bf0edf4dd Signed-off-by:Joe Damato <jdamato@fastly.com> Reviewed-by:
Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
Paul Eggert authored
-
Paul Eggert authored
difftime can signal an inexact conversion when converting to double, so it should not be marked as pure or nothrow (BZ 31808). Although we could do something more complicated, in which difftime is plain on modern platforms but const and nothrow on obsolescent platforms with 32-bit time_t, it hardly seems worth the trouble. difftime is used so rarely that it's not worth taking pains to optimize calls to it on obsolescent platforms. Reviewed-by:DJ Delorie <dj@redhat.com>
-
sayan paul authored
The test aims to ensure that malloc uses the alternate path to allocate memory when sbrk() or brk() fails.To achieve this, the test first creates an obstruction at current program break, tests that obstruction with a failing sbrk(), then checks if malloc is still returning a valid ptr thus inferring that malloc() used mmap() instead of brk() or sbrk() to allocate the memory. Reviewed-by:
Arjun Shankar <arjun@redhat.com> Reviewed-by:
Zack Weinberg <zack@owlfolio.org>
-
- Jun 04, 2024
-
-
Szabolcs Nagy authored
Left shift of ki is undefined when ki<0, copy the logic from exp, which uses unsigned arithmetics, to fix it. Reviewed-by:Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
Florian Weimer authored
The bug report used /dev/mem, but /proc/self/mem works as well (if available).
-
Andreas Schwab authored
Deallocate the memory for the FILE structure when seeking to the end fails in append mode. Fixes: ea33158c ("Fix offset caching for streams and use it for ftell (BZ #16680)")
-
Joseph Myers authored
Linux 6.9 adds 15 new HWCAP2_* values for AArch64; add them to bits/hwcap.h in glibc. Tested with build-many-glibcs.py for aarch64-linux-gnu.
-
Joseph Myers authored
Linux 6.9 adds the ELF note type NT_ARM_FPMR. Add this to glibc's elf.h, along with the previously missed NT_ARM_SSVE, NT_ARM_ZA and NT_ARM_ZT (added in older kernel versions). Tested for x86_64.
-
Florian Weimer authored
Reviewed-by:Jonathan Wakely <jwakely@redhat.com>
-
Florian Weimer authored
This has been confirmed to work around some interposed mallocs. Here is a discussion of the impact test ust/libc-wrapper/test_libc-wrapper in lttng-tools: New TLS usage in libgcc_s.so.1, compatibility impact <https://inbox.sourceware.org/libc-alpha/8734v1ieke.fsf@oldenburg.str.redhat.com/> Reportedly, this patch also papers over a similar issue when tcmalloc 2.9.1 is not compiled with -ftls-model=initial-exec. Of course the goal really should be to compile mallocs with the initial-exec TLS model, but this commit appears to be a useful interim workaround. Fixes commit d2123d68 ("elf: Fix slow tls access after dlopen [BZ #19924]"). Reviewed-by:
Carlos O'Donell <carlos@redhat.com>
-
- May 31, 2024
-
-
Noah Goldstein authored
The tuning for non-temporal stores for memset vs memcpy is not always the same. This includes both the exact value and whether non-temporal stores are profitable at all for a given arch. This patch add `x86_memset_non_temporal_threshold`. Currently we disable non-temporal stores for non Intel vendors as the only benchmarks showing its benefit have been on Intel hardware. Reviewed-by:H.J. Lu <hjl.tools@gmail.com>
-
Noah Goldstein authored
Previously we use `rep stosb` for all medium/large memsets. This is notably worse than non-temporal stores for large (above a few MBs) memsets. See: https://docs.google.com/spreadsheets/d/1opzukzvum4n6-RUVHTGddV6RjAEil4P2uMjjQGLbLcU/edit?usp=sharing For data using different stategies for large memset on ICX and SKX. Using non-temporal stores can be up to 3x faster on ICX and 2x faster on SKX. Historically, these numbers would not have been so good because of the zero-over-zero writeback optimization that `rep stosb` is able to do. But, the zero-over-zero writeback optimization has been removed as a potential side-channel attack, so there is no longer any good reason to only rely on `rep stosb` for large memsets. On the flip size, non-temporal writes can avoid data in their RFO requests saving memory bandwidth. All of the other changes to the file are to re-organize the code-blocks to maintain "good" alignment given the new code added in the `L(stosb_local)` case. The results from running the GLIBC memset benchmarks on TGL-client for N=20 runs: Geometric Mean across the suite New / Old EXEX256: 0.979 Geometric Mean across the suite New / Old EXEX512: 0.979 Geometric Mean across the suite New / Old AVX2 : 0.986 Geometric Mean across the suite New / Old SSE2 : 0.979 Most of the cases are essentially unchanged, this is mostly to show that adding the non-temporal case didn't add any regressions to the other cases. The results on the memset-large benchmark suite on TGL-client for N=20 runs: Geometric Mean across the suite New / Old EXEX256: 0.926 Geometric Mean across the suite New / Old EXEX512: 0.925 Geometric Mean across the suite New / Old AVX2 : 0.928 Geometric Mean across the suite New / Old SSE2 : 0.924 So roughly a 7.5% speedup. This is lower than what we see on servers (likely because clients typically have faster single-core bandwidth so saving bandwidth on RFOs is less impactful), but still advantageous. Full test-suite passes on x86_64 w/ and w/o multiarch. Reviewed-by:
H.J. Lu <hjl.tools@gmail.com>
-
- May 30, 2024
-
-
Luca Boccassi authored
This new note type is defined at https://systemd.io/ELF_DLOPEN_METADATA/ and is used to list shared library dependencies loaded via dlopen(). Distro packagers can use this, via tools like those available at https://github.com/systemd/package-notes to automatically generate dependencies when building projects that make use of this specification. By defining the note id here we can use it in other projects as a stable identifier, for example in 'readelf' to pretty-print its content. Signed-off-by:
Luca Boccassi <bluca@debian.org> Reviewed-by:
Arjun Shankar <arjun@redhat.com>
-
Luca Boccassi authored
Page was renamed some time ago, there's a redirect but better to point to the right one Signed-off-by:
Luca Boccassi <bluca@debian.org> Reviewed-by:
Arjun Shankar <arjun@redhat.com>
-
- May 28, 2024
-
-
Xi Ruoyao authored
Clang inline-asm parser does not allow using "$r0" in movfcsr2gr/movgr2fcsr, so everything using _FPU_{GET,SET}CW is now failing to build with Clang on LoongArch. As we now requires Binutils >= 2.41 which supports using "$fcsr0" here, use it instead of "$r0" to fix the issue. Link: https://github.com/loongson-community/discussions/issues/53#issuecomment-2081507390 Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=4142b2368353 Signed-off-by:Xi Ruoyao <xry111@xry111.site>
-
Xin Wang authored
A space is added before the left bracket of the x86_64 elf_machine_rela function, in order to harmonize with the rest of the implementation of the function and to make it easier to retrieve the function. The lines where the function definition is located has been re-indented, as well as its left curly bracket placed in the correct position. Signed-off-by:
Xin Wang <yw987194828@gmail.com> Reviewed-by:
H.J. Lu <hjl.tools@gmail.com>
-
Sunil K Pandey authored
This patch disables Intel Xeon Phi tests for GCC 15 and above. GCC 15 removed Intel Xeon Phi ISA support. commit e1a7e2c54d52d0ba374735e285b617af44841ace Author: Haochen Jiang <haochen.jiang@intel.com> Date: Mon May 20 10:43:44 2024 +0800 i386: Remove Xeon Phi ISA support Fixes BZ 31782. Reviewed-by:H.J. Lu <hjl.tools@gmail.com>
-
Paul Eggert authored
Because difftime's behavior depends on the floating-point environment, the function is pure, not const (BZ 31802). Reviewed-by:Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
- May 27, 2024
-
-
H.J. Lu authored
pidfd_getpid.c has /* Ignore invalid large values. */ if (INT_MULTIPLY_WRAPV (10, n, &n) || INT_ADD_WRAPV (n, *l++ - '0', &n)) return -1; For GCC older than GCC 7, INT_ADD_WRAPV(a, b, r) is defined as _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) and *l++ - '0' is evaluated twice. Fix BZ #31798 by moving "l++" out of the if statement. Tested with GCC 6.4 and GCC 14.1. Signed-off-by:H.J. Lu <hjl.tools@gmail.com> Reviewed-by:
Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
- May 26, 2024
-
-
H.J. Lu authored
Put each item on a separate line and sort PIE tests. Signed-off-by:H.J. Lu <hjl.tools@gmail.com>
-
- May 25, 2024
-
-
H.J. Lu authored
Put each item on a separate line and sort libnldbl-calls. Signed-off-by:H.J. Lu <hjl.tools@gmail.com>
-
H.J. Lu authored
Add a test for fscanf of long double without including <stdio.h>. Signed-off-by:
H.J. Lu <hjl.tools@gmail.com> Reviewed-by:
Sunil K Pandey <skpgkp2@gmail.com>
- May 24, 2024
-
-
H.J. Lu authored
Remove $(objpfx)test-nldbl-redirect-static checked in by accident. Signed-off-by:H.J. Lu <hjl.tools@gmail.com>
-
H.J. Lu authored
Put each test on a separate line and sort tests. Signed-off-by:H.J. Lu <hjl.tools@gmail.com>
-