about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* x86_64: Fix svml_d_acosh8_core_avx512.S code formattingSunil K Pandey2022-03-071-416/+415
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_d_acosh4_core_avx2.S code formattingSunil K Pandey2022-03-071-1436/+1435
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_d_acosh2_core_sse4.S code formattingSunil K Pandey2022-03-071-1371/+1370
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_s_acoshf8_core_avx2.S code formattingSunil K Pandey2022-03-071-308/+307
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_s_acoshf4_core_sse4.S code formattingSunil K Pandey2022-03-071-327/+326
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_s_acoshf16_core_avx512.S code formattingSunil K Pandey2022-03-071-372/+371
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_d_acos8_core_avx512.S code formattingSunil K Pandey2022-03-071-250/+249
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_d_acos4_core_avx2.S code formattingSunil K Pandey2022-03-071-228/+227
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_d_acos2_core_sse4.S code formattingSunil K Pandey2022-03-071-245/+244
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_s_acosf8_core_avx2.S code formattingSunil K Pandey2022-03-071-206/+205
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_s_acosf4_core_sse4.S code formattingSunil K Pandey2022-03-071-212/+211
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* x86_64: Fix svml_s_acosf16_core_avx512.S code formatting (supplemental)Sunil K Pandey2022-03-071-14/+14
| | | | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. 8. 1 space between line content and line comment. 9. Space after all commas. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* pthread: Do not overwrite tests-time64Adhemerval Zanella2022-03-071-1/+1
| | | | So nptl/Makefile tests are not overwritten.
* x86_64: Fix svml_s_acosf16_core_avx512.S code formattingSunil K Pandey2022-03-041-212/+211
| | | | | | | | | | | | | | | | This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
* i386: Remove libc-do-syscall from sysdep-dl-routines [BZ #28936]H.J. Lu2022-03-031-1/+0
| | | | | | | | | | | | | Remove libc-do-syscall from sysdep-dl-routines added by: commit 3b33d6ed6096c1d20d05a650b06026d673f7399a Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Sun Jan 8 11:38:23 2017 -0200 Rework -fno-omit-frame-pointer support on i386 and use auto-generated io/rtld-libc-do-syscall.os instead. This fixes BZ #28936.
* linux/i386: remove dead assignment of sysdep-dl-routinesAndreas Schwab2022-03-031-1/+0
| | | | The variable sysdep-dl-routines has only an effect in the elf subdir.
* nptl: Fix cleanups for stack grows up [BZ# 28899]John David Anglin2022-02-281-1/+1
| | | | | | | | _STACK_GROWS_DOWN is defined to 0 when the stack grows up. The code in unwind.c used `#ifdef _STACK_GROWS_DOWN' to selct the stack grows down define for FRAME_LEFT. As a result, the _STACK_GROWS_DOWN define was always selected and cleanups were incorrectly sequenced when the stack grows up.
* manual: SA_ONSTACK is ignored without alternate stackFlorian Weimer2022-02-281-1/+1
| | | | The current stack is used. No SIGILL is generated.
* io: Add fsync call in tst-statFlorian Weimer2022-02-281-0/+4
| | | | | io/tst-stat and io/tst-stat-lfs fail sporadically on the Fedora builders, and this change hopefully helps to avoid the issue.
* Linux: Consolidate auxiliary vector parsing (redo)Florian Weimer2022-02-287-183/+118
| | | | | | | | | | | And optimize it slightly. This is commit 8c8510ab2790039e58995ef3a22309582413d3ff revised. In _dl_aux_init in elf/dl-support.c, use an explicit loop and -fno-tree-loop-distribute-patterns to avoid memset. Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
* build: Properly generate .d dependency files [BZ #28922]H.J. Lu2022-02-257-1/+17
| | | | | | | | | | | | | 1. Also generate .d dependency files for $(tests-container) and $(tests-printers). 2. elf: Add tst-auditmod17.os to extra-test-objs. 3. iconv: Add tst-gconv-init-failure-mod.os to extra-test-objs. 4. malloc: Rename extra-tests-objs to extra-test-objs. 5. linux: Add tst-sysconf-iov_max-uapi.o to extra-test-objs. 6. x86_64: Add tst-x86_64mod-1.o, tst-platformmod-2.o, test-libmvec.o, test-libmvec-avx.o, test-libmvec-avx2.o and test-libmvec-avx512f.o to extra-test-objs. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* benchtests: Generate .d dependency files [BZ #28922]H.J. Lu2022-02-251-2/+6
| | | | | | 1. Add all .o files to extra-objs. 2. Include ../Rules after extra-objs has been set. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* benchtests: Remove duplicated loop in bench-bzero-walk.cH.J. Lu2022-02-251-6/+0
| | | | | Remove one of 2 identical loops in bench-bzero-walk.c. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
* localedata: Do not generate output if warnings were present.Carlos O'Donell2022-02-252-4/+10
| | | | | | | | | | | | | | | | | | | With LC_MONETARY parsing fixed we can now generate locales without forcing output with '-c'. Removing '-c' from localedef invocation is the equivalent of using -Werror for localedef. The glibc locale sources should always be clean and free from warnings. We remove '-c' from both test locale generation and the targets used for installing locales e.g. install-locale-archive, and install-locale-files. Tested on x86_64 and i686 without regressions. Tested with install-locale-archive target. Tested with install-locale-files target. Reviewed-by: DJ Delorie <dj@redhat.com>
* localedef: Update LC_MONETARY handling (Bug 28845)Carlos O'Donell2022-02-251-36/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ISO C17, POSIX Issue 7, and ISO 30112 all allow the char* types to be empty strings i.e. "", integer or char values to be -1 or CHAR_MAX respectively, with the exception of decimal_point which must be non-empty in ISO C. Note that the defaults for mon_grouping vary, but are functionaly equivalent e.g. "\177" (no further grouping reuqired) vs. "" (no grouping defined for all groups). We include a broad comment talking about harmonizing ISO C, POSIX, ISO 30112, and the default C/POSIX locale for glibc. We reorder all setting based on locale/categories.def order. We soften all missing definitions from errors to warnings when defaults exist. Given that ISO C, POSIX and ISO 30112 allow the empty string we change LC_MONETARY handling of mon_decimal_point to allow the empty string. If mon_decimal_point is not defined at all then we pick the existing legacy glibc default value of <U002E> i.e. ".". We also set the default for mon_thousands_sep_wc at the same time as mon_thousands_sep, but this is not a change in behaviour, it is always either a matching value or L'\0', but if in the future we change the default to a non-empty string we would need to update both at the same time. Tested on x86_64 and i686 without regressions. Tested with install-locale-archive target. Tested with install-locale-files target. Reviewed-by: DJ Delorie <dj@redhat.com>
* localedef: Handle symbolic links when generating locale-archiveArjun Shankar2022-02-241-1/+1
| | | | | | | | | | Whenever locale data for any locale included symbolic links, localedef would throw the error "incomplete set of locale files" and exclude it from the generated locale archive. This commit fixes that. Co-authored-by: Florian Weimer <fweimer@redhat.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* benchtests: Add small sizes (<= 64) to bench-bzero-walk.cH.J. Lu2022-02-241-0/+3
| | | | | | Small sizes (<= 64) represent large portion of memset usages with zero value. Add sizes (<= 64) to bench-bzero-walk.c to cover small sizes. Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
* math: Add more input to atanh accuracy testsSunil K Pandey2022-02-242-0/+28
| | | | | | | | | | | This patch adds following input to atanh accuracy test. 0x1.f80094p-8 Tested on x86-64 and i686 platforms. Other platforms may have to regenerate ulps file. Reviewed-by: Paul Zimmermann <Paul.Zimmermann@inria.fr>
* resolv: Fix tst-resolv tests for 2.35 ABIs and laterStafford Horne2022-02-241-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | The commit 737e873b30 ("resolv: Do not build libanl.so for ABIs starting at 2.35") disabled building libanl for ports supporting only 2.35 and later like OpenRISC. However, the if statement was not updated quite correctly and the change ends up disabling many tst-resolv* tests. This was not supposed to be done and it causes test dependency errors like: make: Entering directory 'gnu-home/glibc/resolv' make: *** No rule to make target 'gnu-home/build-glibc/resolv/tst-resolv-res_ninit.out', needed by 'gnu-home/build-glibc/resolv/mtrace-tst-resolv-res_ninit.out'. Stop. make: Leaving directory 'gnu-home/glibc/resolv' This patch move the extra-libs += libanl definition and condition down to be closer to other libanl definitions. The $(have-GLIBC_2.34) condition now includes libanl-routines and libanl-shared-only-routines as well. Also, I have added a comment to endif of $(have-thread-library) to help show the bondary of the have-thread-library definitions. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* x86_64: Disable libmvec tests if multiarch not enabled [BZ# 28869]Sunil K Pandey2022-02-231-0/+3
| | | | | | | | This patch disable libmvec math tests if multiarch not enabled. This fixes [BZ# 28869] Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* benchtests: Add benches for memset with 0 valueH.J. Lu2022-02-237-3/+149
| | | | | | | | | memset with zero as the value to set is by far the majority value (99%+ for Python3 and GCC). Add bench-memset-zero-large.c, bench-memset-zero-walk.c and bench-memset-zero.c to measure memset implementations for zeroing. Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
* i686: Remove bzero optimizationsAdhemerval Zanella2022-02-2314-181/+22
| | | | | The symbol is not present in current POSIX specification and compiler already generates memset call.
* s390: Remove bzero optimizationsAdhemerval Zanella2022-02-235-103/+2
| | | | | The symbol is not present in current POSIX specification and compiler already generates memset call.
* powerpc: Remove powerpc64 bzero optimizationsAdhemerval Zanella2022-02-2315-197/+1
| | | | | The symbol is not present in current POSIX specification and compiler already generates memset call.
* powerpc: Remove powerpc32 bzero optimizationsAdhemerval Zanella2022-02-237-158/+2
| | | | | The symbol is not present in current POSIX specification and compiler already generates memset call.
* sparc: Remove bzero optimizationAdhemerval Zanella2022-02-2314-105/+30
| | | | | The symbol is not present in current POSIX specification and compiler already generates memset call.
* ia64: Remove bzero optimizationAdhemerval Zanella2022-02-233-314/+5
| | | | | | | The symbol is not present current POSIX specification and compiler already generates memset call. The arch specific implementation is just to avoid the __bzero symbol creation (which ia64 abi does not export).
* alpha: Remove bzero optimizationAdhemerval Zanella2022-02-231-109/+0
| | | | | The symbols is not present in current POSIX specification and compiler already generates memmove call.
* x86_64: Remove bcopy optimizationsAdhemerval Zanella2022-02-231-7/+0
| | | | | The symbols is not present in current POSIX specification and compiler already generates memmove call.
* i386: Remove bcopy optimizationsAdhemerval Zanella2022-02-2314-305/+100
| | | | | The symbols is not present in current POSIX specification and compiler already generates memmove call.
* powerpc: Remove bcopy optimizationsAdhemerval Zanella2022-02-239-113/+1
| | | | | The symbols is not present in current POSIX specification and compiler already generates memmove call.
* ia64: Remove bcopyAdhemerval Zanella2022-02-231-10/+0
| | | | It just call memmove as the generic implementation.
* hppa: Fix warnings from _dl_lookup_addressJohn David Anglin2022-02-224-9/+14
| | | | | | | | | | | | | This change fixes two warnings from _dl_lookup_address. The first warning comes from dropping the volatile keyword from desc in the call to _dl_read_access_allowed. We now have a full atomic barrier between loading desc[0] and the access check, so desc no longer needs to be declared as volatile. The second warning comes from the implicit declaration of _dl_fix_reloc_arg. This is fixed by including dl-runtime.h and declaring _dl_fix_reloc_arg in dl-runtime.h.
* hppa: Revise gettext trampoline designJohn David Anglin2022-02-223-31/+35
| | | | | | | | | | | | | | | | | | | The current getcontext return trampoline is overly complex and it unnecessarily clobbers several registers. By saving the context pointer (r26) in the context, __getcontext_ret can restore any registers not restored by setcontext. This allows getcontext to save and restore the entire register context present when getcontext is entered. We use the unused oR0 context slot for the return from __getcontext_ret. While this is not directly useful in C, it can be exploited in assembly code. Registers r20, r23, r24 and r25 are not clobbered in the call path to getcontext. This allows a small simplification of swapcontext. It also allows saving and restoring the 6-bit SAR register in the LSB of the oSAR context slot. The getcontext flag value can be stored in the MSB of the oSAR slot.
* Add SOL_MPTCP, SOL_MCTP from Linux 5.16 to bits/socket.hJoseph Myers2022-02-211-0/+2
| | | | | | | Linux 5.16 adds constants SOL_MPTCP and SOL_MCTP to the getsockopt / setsockopt levels; add these constants to bits/socket.h. Tested for x86_64.
* elf: Check invalid hole in PT_LOAD segments [BZ #28838]H.J. Lu2022-02-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v2: 1. Update commit log. commit 163f625cf9becbb82dfec63a29e566324129c0cd Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Dec 21 12:35:47 2021 -0800 elf: Remove excessive p_align check on PT_LOAD segments [BZ #28688] removed the p_align check against the page size. It caused the loader error or crash on elf/tst-p_align3 when loading elf/tst-p_alignmod3.so, which has the invalid p_align in PT_LOAD segments, added by commit d8d94863ef125a392b929732b37e07dc927fbcd1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Dec 21 13:42:28 2021 -0800 The loader failure caused by a negative length passed to __mprotect is random, depending on architecture and toolchain. Update _dl_map_segments to detect invalid holes. This fixes BZ #28838. Reviewed-by: Florian Weimer <fweimer@redhat.com>
* realpath: Do not copy result on failure (BZ #28815)Siddhesh Poyarekar2022-02-212-3/+5
| | | | | | | | | | | On failure, the contents of the resolved buffer passed in by the caller to realpath are undefined. Do not copy any partial resolution to the buffer and also do not test resolved contents in test-canon.c. Resolves: BZ #28815 Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
* x86: Fix TEST_NAME to make it a string in tst-strncmp-rtm.cNoah Goldstein2022-02-181-2/+2
| | | | | | | | Previously TEST_NAME was passing a function pointer. This didn't fail because of the -Wno-error flag (to allow for overflow sizes passed to strncmp/wcsncmp) Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* x86: Test wcscmp RTM in the wcsncmp overflow case [BZ #28896]Noah Goldstein2022-02-183-10/+48
| | | | | | | | | | | In the overflow fallback strncmp-avx2-rtm and wcsncmp-avx2-rtm would call strcmp-avx2 and wcscmp-avx2 respectively. This would have not checks around vzeroupper and would trigger spurious aborts. This commit fixes that. test-strcmp, test-strncmp, test-wcscmp, and test-wcsncmp all pass on AVX2 machines with and without RTM. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
* hppa: Fix swapcontextJohn David Anglin2022-02-183-7/+58
| | | | | | | | | | | | | | | | | This change fixes the failure of stdlib/tst-setcontext2 and stdlib/tst-setcontext7 on hppa. The implementation of swapcontext in C is broken. C saves the return pointer (rp) and any non call-clobbered registers (in this case r3, r4 and r5) on the stack. However, the setcontext call in swapcontext pops the stack and subsequent calls clobber the saved registers. When the context in oucp is restored, both tests fault. Here we rewrite swapcontext in assembly code to avoid using the stack for register values that need to be used after restoration. The getcontext and setcontext routines are revised to save and restore register ret1 for normal returns. We copy the oucp pointer to ret1. This allows access to the old context after calling getcontext and setcontext.