aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-03-31stdlib: Fix tst-rand48.c printf typesAdhemerval Zanella1-3/+3
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31elf: Remove unused functions from tst-audit25(a,b)Adhemerval Zanella2-16/+0
2022-03-31nptl: Use libc-diag.h with tst-thread-setspecificAdhemerval Zanella1-7/+8
And also use libsupport. Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31crypt: Remove unused variable on cert testAdhemerval Zanella1-2/+1
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31elf: Remove unused variables in testsAdhemerval Zanella3-6/+0
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31elf: Fix wrong fscanf usage on tst-plddAdhemerval Zanella1-1/+2
To take in consideration the extra '\0'. Checked on x86_64-linux-gnu.
2022-03-31posix: Remove unused variable on tst-_Fork.cAdhemerval Zanella1-1/+0
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31resolv: Initialize loop variable on tst-resolv-trailingAdhemerval Zanella1-1/+1
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31locale: Remove set but unused variable on ld-collate.cAdhemerval Zanella1-8/+1
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31localedate: Fix printf type on tst_mbrtowcAdhemerval Zanella1-1/+1
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-31localedata: Remove unused variables in testsAdhemerval Zanella6-12/+0
Checked on x86_64-linux-gnu and i686-linux-gnu.
2022-03-28x86: Small improvements for wcslenNoah Goldstein1-45/+41
Just a few QOL changes. 1. Prefer `add` > `lea` as it has high execution units it can run on. 2. Don't break macro-fusion between `test` and `jcc` 3. Reduce code size by removing gratuitous padding bytes (-90 bytes). geometric_mean(N=20) of all benchmarks New / Original: 0.959 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-28x86: Small improvements for wcscpy-ssse3Noah Goldstein1-97/+97
Just a few small QOL changes. 1. Prefer `add` > `lea` as it has high execution units it can run on. 2. Don't break macro-fusion between `test` and `jcc` geometric_mean(N=20) of all benchmarks New / Original: 0.973 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-28debug: Improve fdelt_chk error messageCristian Rodríguez1-1/+2
It is not a "buffer overflow detected" but an out of range bit on fd_set Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org> Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2022-03-28Add HWCAP2_AFP, HWCAP2_RPRES from Linux 5.17 to AArch64 bits/hwcap.hJoseph Myers1-0/+2
Add the new HWCAP2_AFP and HWCAP2_RPRES constants from Linux 5.17. Tested with build-many-glibcs.py for aarch64-linux-gnu.
2022-03-25x86: Remove AVX str{n}casecmpNoah Goldstein6-197/+105
The rational is: 1. SSE42 has nearly identical logic so any benefit is minimal (3.4% regression on Tigerlake using SSE42 versus AVX across the benchtest suite). 2. AVX2 version covers the majority of targets that previously prefered it. 3. The targets where AVX would still be best (SnB and IVB) are becoming outdated. All in all the saving the code size is worth it. All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Add EVEX optimized str{n}casecmpNoah Goldstein6-40/+321
geometric_mean(N=40) of all benchmarks EVEX / SSE42: .621 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Add AVX2 optimized str{n}casecmpNoah Goldstein8-31/+331
geometric_mean(N=40) of all benchmarks AVX2 / SSE42: .702 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25string: Expand page cross test cases in test-strncmp.cNoah Goldstein1-1/+26
Test cases for when both `s1` and `s2` are near the end of a page where previously missing. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25string: Expand page cross test cases in test-strcmp.cNoah Goldstein1-1/+14
Test cases for when both `s1` and `s2` are near the end of a page where previously missing. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Optimize str{n}casecmp TOLOWER logic in strcmp-sse42.SNoah Goldstein1-48/+35
Slightly faster method of doing TOLOWER that saves an instruction. Also replace the hard coded 5-byte no with .p2align 4. On builds with CET enabled this misaligned entry to strcasecmp. geometric_mean(N=40) of all benchmarks New / Original: .920 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Optimize str{n}casecmp TOLOWER logic in strcmp.SNoah Goldstein1-35/+29
Slightly faster method of doing TOLOWER that saves an instruction. Also replace the hard coded 5-byte no with .p2align 4. On builds with CET enabled this misaligned entry to strcasecmp. geometric_mean(N=40) of all benchmarks New / Original: .894 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25string: Expand page cross tests in test-strncasecmp.cNoah Goldstein1-12/+154
Add more robust tests that cover all the page cross edge cases. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25string: Expand page cross tests in test-strcasecmp.cNoah Goldstein1-12/+100
Add more robust tests that cover all the page cross edge cases. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25benchtests: Use json-lib in bench-strncasecmp.cNoah Goldstein1-44/+69
Just QOL change to make parsing the output of the benchtests more consistent. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25benchtests: Use json-lib in bench-strcasecmp.cNoah Goldstein1-26/+51
Just QOL change to make parsing the output of the benchtests more consistent. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Fix fallback for wcsncmp_avx2 in strcmp-avx2.S [BZ #28896]Noah Goldstein2-1/+16
Overflow case for __wcsncmp_avx2_rtm should be __wcscmp_avx2_rtm not __wcscmp_avx2. commit ddf0992cf57a93200e0c782e2a94d0733a5a0b87 Author: Noah Goldstein <goldstein.w.n@gmail.com> Date: Sun Jan 9 16:02:21 2022 -0600 x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755] Set the wrong fallback function for `__wcsncmp_avx2_rtm`. It was set to fallback on to `__wcscmp_avx2` instead of `__wcscmp_avx2_rtm` which can cause spurious aborts. This change will need to be backported. All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Remove strspn-sse2.S and use the generic implementationNoah Goldstein2-116/+4
The generic implementation is faster. geometric_mean(N=20) of all benchmarks New / Original: .710 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Remove strpbrk-sse2.S and use the generic implementationNoah Goldstein2-8/+4
The generic implementation is faster (see strcspn commit). All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Remove strcspn-sse2.S and use the generic implementationNoah Goldstein2-123/+4
The generic implementation is faster. geometric_mean(N=20) of all benchmarks New / Original: .678 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Optimize strspn in strspn-c.cNoah Goldstein1-47/+39
Use _mm_cmpeq_epi8 and _mm_movemask_epi8 to get strlen instead of _mm_cmpistri. Also change offset to unsigned to avoid unnecessary sign extensions. geometric_mean(N=20) of all benchmarks that dont fallback on sse2; New / Original: .901 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Optimize strcspn and strpbrk in strcspn-c.cNoah Goldstein1-46/+37
Use _mm_cmpeq_epi8 and _mm_movemask_epi8 to get strlen instead of _mm_cmpistri. Also change offset to unsigned to avoid unnecessary sign extensions. geometric_mean(N=20) of all benchmarks that dont fallback on sse2/strlen; New / Original: .928 All string/memory tests pass. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25benchtests: Use json-lib in bench-strspn.cNoah Goldstein1-20/+58
Just QOL change to make parsing the output of the benchtests more consistent. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25benchtests: Use json-lib in bench-strpbrk.cNoah Goldstein1-20/+61
Just QOL change to make parsing the output of the benchtests more consistent. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Code cleanup in strchr-evex and comment justifying branchNoah Goldstein1-66/+80
Small code cleanup for size: -81 bytes. Add comment justifying using a branch to do NULL/non-null return. All string/memory tests pass and no regressions in benchtests. geometric_mean(N=20) of all benchmarks New / Original: .985 Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25x86: Code cleanup in strchr-avx2 and comment justifying branchNoah Goldstein1-97/+107
Small code cleanup for size: -53 bytes. Add comment justifying using a branch to do NULL/non-null return. All string/memory tests pass and no regressions in benchtests. geometric_mean(N=20) of all benchmarks Original / New: 1.00 Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25benchtests: Add random benchmark in bench-strchr.cNoah Goldstein1-0/+143
Add benchmark that randomizes whether return should be NULL or pointer to CHAR. The rationale is on many architectures there is a choice between a predicate execution option (i.e cmovcc on x86) or a branch. On x86 the results for cmovcc vs branch are something along the lines of the following: perc-zero, Br On Result, Time Br / Time cmov 0.10, 1, ,0.983 0.10, 0, ,1.246 0.25, 1, ,1.035 0.25, 0, ,1.49 0.33, 1, ,1.016 0.33, 0, ,1.579 0.50, 1, ,1.228 0.50, 0, ,1.739 0.66, 1, ,1.039 0.66, 0, ,1.764 0.75, 1, ,0.996 0.75, 0, ,1.642 0.90, 1, ,1.071 0.90, 0, ,1.409 1.00, 1, ,0.937 1.00, 0, ,0.999 Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-25benchtests: Use json-lib in bench-strchr.cNoah Goldstein1-30/+64
Just QOL change to make parsing the output of the benchtests more consistent. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2022-03-24Update kernel version to 5.17 in tst-mman-consts.pyJoseph Myers1-1/+1
This patch updates the kernel version in the test tst-mman-consts.py to 5.17. (There are no new MAP_* constants covered by this test in 5.17 that need any other header changes.) Tested with build-many-glibcs.py.
2022-03-23iconvdata: Fix enum type on UTF-7Adhemerval Zanella1-1/+1
Checked on x86_64-linux-gnu.
2022-03-23nscd: Remove unused variableAdhemerval Zanella1-5/+1
2022-03-23support: Fix support_process_state_wait path size calculationAdhemerval Zanella1-1/+2
Use INT_STRLEN_BOUND to proper get the maximum pid_t size. Also fix the wrong calculation (the 3 should multiply the sizeof (pid_t)). Checked on x86_64-linux-gnu.
2022-03-23support: Remove unused extract_8 functionAdhemerval Zanella1-11/+0
2022-03-23locale: Remove ununsed wctype_table_get functionAdhemerval Zanella1-27/+0
2022-03-23gmon: Remove unused sprofil.c functionsAdhemerval Zanella1-12/+0
2022-03-23Update syscall lists for Linux 5.17Joseph Myers27-2/+29
Linux 5.17 has one new syscall, set_mempolicy_home_node. Update syscall-names.list and regenerate the arch-syscall.h headers with build-many-glibcs.py update-syscalls. Tested with build-many-glibcs.py.
2022-03-23Fix ununsed fstatat64_time64_statxAdhemerval Zanella1-5/+5
It is only called for legacy ABIs.
2022-03-23malloc: Fix duplicate inline for do_set_mxfastAdhemerval Zanella1-2/+1
2022-03-23elf: Remove inline _dl_dprintfAdhemerval Zanella1-11/+0
It is not used on rtld and ldsodef interfaces are meant to be used solely on loader. It also removes the only usage of gcc extension __builtin_va_arg_pack.
2022-03-22configure.ac: fix bashisms in configure.acSam James6-6/+6
configure scripts need to be runnable with a POSIX-compliant /bin/sh. On many (but not all!) systems, /bin/sh is provided by Bash, so errors like this aren't spotted. Notably Debian defaults to /bin/sh provided by dash which doesn't tolerate such bashisms as '=='. This retains compatibility with bash. Fixes configure warnings/errors like: ``` checking if compiler warns about alias for function with incompatible types... yes /var/tmp/portage/sys-libs/glibc-2.34-r10/work/glibc-2.34/configure: 4209: test: xyes: unexpected operator ``` Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Signed-off-by: Sam James <sam@gentoo.org>