about summary refs log tree commit diff
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* Fix test failure with -DNDEBUG.Carlos O'Donell2018-08-301-0/+5
| | | | | | | | | | | | The elf/tst-dlopen-aout.c test uses asserts to verify properties of the test execution. Instead of using assert it should use xpthread_create and xpthread_join to catch errors starting the threads and fail the test. This shows up in Fedora 28 when building for i686-pc-linux-gnu and using gcc 8.1.1. Tested on i686, and fixes a check failure with -DNDEBUG. Signed-off-by: Carlos O'Donell <carlos@redhat.com>
* reallocarray: Declare under _DEFAULT_SOURCEFlorian Weimer2018-08-301-0/+4
| | | | | | Initially, this function was restricted to _GNU_SOURCE, but experience shows that compatibility with existing build systems is improved if we declare it under _DEFAULT_SOURCE as well.
* Test stdlib/test-bz22786 exits now with unsupported if malloc fails.Stefan Liebler2018-08-301-0/+5
| | | | | | | | | | | | | | | | | | The test tries to allocate more than 2^31 bytes which will always fail on s390 as it has maximum 2^31bit of memory. Before commit 6c3a8a9d868a8deddf0d6dcc785b6d120de90523, this test returned unsupported if malloc fails. This patch re enables this behaviour. Furthermore support_delete_temp_files() failed to remove the temp directory in this case as it is not empty due to the created symlink. Thus the creation of the symlink is moved behind malloc. Reviewed-by: Carlos O'Donell <carlos@redhat.com> ChangeLog: * stdlib/test-bz22786.c (do_test): Return EXIT_UNSUPPORTED if malloc fails.
* Make gen-libm-test.py treat plus_oflow and minus_oflow as non-finite.Joseph Myers2018-08-291-0/+5
| | | | | | | | | | | | | | | | | | | | | When converting gen-libm-test to Python, in one place I noted a bug in the old Perl version that I preserved in the Python version so that the generated output files were the same with both versions, as such comparisons help give confidence in the correctness of such a rewrite of a script. Now that the conversion has been done, this patch fixes that bug, by arranging for tests with plus_oflow or minus_oflow results (manually written tests in libm-test-*.inc that have overflowing results that thus depend on the rounding mode) to be properly treated as having non-finite results, and thus not run for the __FINITE_MATH_ONLY__ tests. (As the affected tests in fact did pass for __FINITE_MATH_ONLY__ testing, this is just a matter of logical correctness in the choice of which tests run for that case, rather than fixing any actual test failures.) Tested for x86_64. * math/gen-libm-test.py (gen_test_args_res): Also treat plus_oflow and minus_oflow as non-finite.
* Split fenv_private.h out of math_private.h more consistently.Joseph Myers2018-08-281-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some architectures, the parts of math_private.h relating to the floating-point environment are in a separate file fenv_private.h included from math_private.h. As this is purely an architecture-specific convention used by several architectures, however, all such architectures still need their own math_private.h, even if it has nothing to do beyond #include <fenv_private.h> and peculiarity of including the i386 file directly instead of having a shared file in sysdeps/x86. This patch makes the fenv_private.h name an architecture-independent convention in glibc. The include of fenv_private.h from math_private.h becomes architecture-independent (until callers are updated to include fenv_private.h directly so the include from math_private.h is no longer needed). Some architecture math_private.h headers are removed if no longer needed, or renamed to fenv_private.h if all they define belongs in that header; architecture fenv_private.h headers now do require #include_next <fenv_private.h>. The i386 fenv_private.h file moves to sysdeps/x86/fpu/ to reflect how it is actually shared with x86_64. The generic math_private.h gets a new include of <stdbool.h>, as needed for bool in some prototypes in that header (previously that was indirectly included via include/fenv.h, which now only gets included too late in math_private.h, after those prototypes). Tested for x86_64 and x86, and tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by the patch. * sysdeps/aarch64/fpu/fenv_private.h: New file. Based on .... * sysdeps/aarch64/fpu/math_private.h: ... this file. All contents moved to fenv_private.h except for ... (TOINT_INTRINSICS): Kept in math_private.h. (roundtoint): Likewise. (converttoint): Likewise. * sysdeps/arm/fenv_private.h: Change multiple-include guard to [ARM_FENV_PRIVATE_H]. Include next <fenv_private.h>. * sysdeps/arm/math_private.h: Remove. * sysdeps/generic/fenv_private.h: New file. Contents moved from .... * sysdeps/generic/math_private.h: ... this file. Include <stdbool.h>. Do not include <fenv.h> or <get-rounding-mode.h>. Include <fenv_private.h>. Remove functions and macros moved to fenv_private.h. * sysdeps/i386/fpu/math_private.h: Remove. * sysdeps/mips/math_private.h: Move to .... * sysdeps/mips/fpu/fenv_private.h: ... here. Change multiple-include guard to [MIPS_FENV_PRIVATE_H]. Remove [__mips_hard_float] conditional. Include next <fenv_private.h>. * sysdeps/powerpc/fpu/fenv_private.h: Change multiple-include guard to [POWERPC_FENV_PRIVATE_H]. Include next <fenv_private.h>. * sysdeps/powerpc/fpu/math_private.h: Do not include <fenv_private.h>. * sysdeps/riscv/rvf/math_private.h: Move to .... * sysdeps/riscv/rvf/fenv_private.h: ... here. Change multiple-include guard to [RISCV_FENV_PRIVATE_H]. Include next <fenv_private.h>. * sysdeps/sparc/fpu/fenv_private.h: Change multiple-include guard to [SPARC_FENV_PRIVATE_H]. Include next <fenv_private.h>. * sysdeps/sparc/fpu/math_private.h: Remove. * sysdeps/i386/fpu/fenv_private.h: Move to .... * sysdeps/x86/fpu/fenv_private.h: ... here. Change multiple-include guard to [X86_FENV_PRIVATE_H]. Include next <fenv_private.h>. * sysdeps/x86_64/fpu/math_private.h: Do not include <sysdeps/i386/fpu/fenv_private.h>.
* regex: Add test tst-regcomp-truncated [BZ #23578]Florian Weimer2018-08-281-0/+8
|
* test-container: EPERM from unshare is UNSUPPORTEDFlorian Weimer2018-08-281-0/+5
| | | | | For example, the security policy on the Fedora build daemons results in this EPERM error.
* nscd: Fix use-after-free in addgetnetgrentX [BZ #23520]Florian Weimer2018-08-281-0/+12
| | | | | addinnetgrX may use the heap-allocated buffer, so free the buffer in this function.
* Speedup first memmem matchRajalakshmi Srinivasaraghavan2018-08-281-0/+4
| | | | | | | As done in commit 284f42bc778e487dfd5dff5c01959f93b9e0c4f5, memcmp can be used after memchr to avoid the initialization overhead of the two-way algorithm for the first match. This has shown improvement >40% for first match.
* en_IN: Set the correct date format for "%x" (bug 17426).Rafal Luzynski2018-08-281-0/+5
| | | | | [BZ #17426] * localedata/locales/en_IN (d_fmt): Use "%d/%m/%y".
* links-dso-program: Fix build-programs=no build case.DJ Delorie2018-08-271-0/+5
| | | | | * support/Makefile (others): Don't list programs explicitly as a dependency of "others".
* Move EXCEPTION_SET_FORCES_TRAP out of math-tests.h.Joseph Myers2018-08-271-0/+8
| | | | | | | | | | | | | | | Completing the move of macros out of math-tests.h to smaller headers following typo-proof conventions instead of using #ifndef, this patch moves the EXCEPTION_SET_FORCES_TRAP macro out to its own math-tests-trap-force.h header. Tested with build-many-glibcs.py. * sysdeps/generic/math-tests-trap-force.h: New file. * sysdeps/generic/math-tests.h: Include <math-tests-trap-force.h>. (EXCEPTION_SET_FORCES_TRAP): Do not define here. * sysdeps/powerpc/math-tests.h: Remove file. * sysdeps/powerpc/fpu/math-tests-trap-force.h: New file.
* pthread_cond_broadcast: Fix waiters-after-spinning case [BZ #23538]Martin Kuchta2018-08-271-0/+8
|
* Update netinet/udp.h from Linux 4.18.Joseph Myers2018-08-271-0/+4
| | | | | | | | | This patch adds the UDP_SEGMENT constant from Linux 4.18 to netinet/udp.h. Tested for x86_64. * sysdeps/gnu/netinet/udp.h (UDP_SEGMENT): New macro.
* regex: fix uninitialized memory accessPaul Eggert2018-08-251-0/+14
| | | | | | | | | | | | | I introduced this bug into gnulib in commit 8335a4d6c7b4448cd0bcb6d0bebf1d456bcfdb17 dated 2006-04-10; eventually it was merged into glibc. The bug was found by project-repo <bugs@feusi.co> and reported here: https://lists.gnu.org/r/sed-devel/2018-08/msg00017.html Diagnosis and draft fix reported by Assaf Gordon here: https://lists.gnu.org/r/bug-gnulib/2018-08/msg00071.html https://lists.gnu.org/r/bug-gnulib/2018-08/msg00142.html * posix/regex_internal.c (build_wcs_upper_buffer): Fix bug when mbrtowc returns 0.
* Update translations for be.Carlos O'Donell2018-08-241-0/+4
|
* Fix IA64 links-dso-program link.DJ Delorie2018-08-241-0/+5
| | | | | * support/Makefile (LDLIBS-links-dso-program): Add -lgcc and $(libunwind).
* Fix BZ#23400 (creating temporary files in source tree), and undefined ↵Paul Pluzhnikov2018-08-241-0/+6
| | | | behavior in test.
* Move EXCEPTION_ENABLE_SUPPORTED out of math-tests.h.Joseph Myers2018-08-241-0/+12
| | | | | | | | | | | | | | | | | | | Continuing moving macros out of math-tests.h to smaller headers following typo-proof conventions instead of using #ifndef, this patch moves the EXCEPTION_ENABLE_SUPPORTED macro out to its own math-tests-trap.h header. Tested with build-many-glibcs.py. * sysdeps/generic/math-tests-trap.h: New file. * sysdeps/generic/math-tests.h: Include <math-tests-trap.h>. (EXCEPTION_ENABLE_SUPPORTED): Do not define here. * sysdeps/aarch64/math-tests.h: Remove file. * sysdeps/arm/math-tests.h: Likewise. * sysdeps/riscv/math-tests.h: Likewise. * sysdeps/aarch64/math-tests-trap.h: New file. * sysdeps/arm/math-tests-trap.h: Likewise. * sysdeps/riscv/math-tests-trap.h: Likewise.
* Remove unused math filesWilco Dijkstra2018-08-241-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove empty files due to the sin/cos improvements: k_sinf.c, k_cosf.c, k_cos.c, k_sin.c. After the tanf change s_rem_pio2f.c and k_rem_pio2f.c (and the ia64, m68k and powerpc equivalents) are no longer used, so remove them. All e_rem_pio2.c files were already empty or commented out, so remove them too. Passes build-many-glibcs. * math/Makefile: Remove empty files k_sin(f).c, k_cos(f).c. Remove unused files e_rem_pio2(f).c, k_rem_pio2f.c. * sysdeps/i386/fpu/e_rem_pio2.c: Delete file. * sysdeps/ia64/fpu/e_rem_pio2.c: Likewise. * sysdeps/ia64/fpu/e_rem_pio2f.c: Likewise. * sysdeps/ia64/fpu/k_rem_pio2f.c: Likewise. * sysdeps/ieee754/dbl-64/e_rem_pio2.c: Likewise. * sysdeps/ieee754/dbl-64/k_cos.c: Likewise. * sysdeps/ieee754/dbl-64/k_sin.c: Likewise. * sysdeps/ieee754/flt-32/e_rem_pio2f.c: Likewise. * sysdeps/ieee754/flt-32/k_cosf.c: Likewise. * sysdeps/ieee754/flt-32/k_rem_pio2f.c: Likewise. * sysdeps/ieee754/flt-32/k_sinf.c: Likewise. * sysdeps/m68k/m680x0/fpu/e_rem_pio2.c: Likewise * sysdeps/m68k/m680x0/fpu/e_rem_pio2f.c: Likewise * sysdeps/m68k/m680x0/fpu/k_rem_pio2f.c: Likewise * sysdeps/powerpc/fpu/e_rem_pio2f.c: Likewise. * sysdeps/powerpc/fpu/k_rem_pio2f.c: Likewise.
* Move EXCEPTION_TESTS_* out of math-tests.hJoseph Myers2018-08-231-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing moving macros out of math-tests.h to smaller headers following typo-proof conventions instead of using #ifndef, this patch moves the EXCEPTION_TESTS_* macros for individual types out to their own sysdeps header. As with ROUNDING_TESTS_*, there is no need to define these macros if FE_ALL_EXCEPT == 0 and the individual exception macros are undefined; thus, math-tests-exceptions.h headers are only needed for soft-float ARM and RISC-V, while the other cases that defined these macros do not need to do so (and the associated math-tests.h headers are thus removed without needing replacement by math-tests-exceptions.h headers). Tested with build-many-glibcs.py. * sysdeps/generic/math-tests-exceptions.h: New file. * sysdeps/generic/math-tests.h: Include <math-tests-exceptions.h>. (EXCEPTION_TESTS_float): Do not define here. (EXCEPTION_TESTS_double): Likewise. (EXCEPTION_TESTS_long_double): Likewise. (EXCEPTION_TESTS_float128): Likewise. * sysdeps/arm/math-tests.h [__SOFTFP__] (EXCEPTION_TESTS_float): Likewise. [__SOFTFP__] (EXCEPTION_TESTS_double): Likewise. [__SOFTFP__] (EXCEPTION_TESTS_long_double): Likewise. * sysdeps/arm/nofpu/math-tests-exceptions.h: New file. * sysdeps/m68k/coldfire/math-tests.h: Remove file. * sysdeps/mips/math-tests.h: Likewise. * sysdeps/nios2/math-tests.h: Likewise. * sysdeps/riscv/math-tests.h [!__riscv_flen] (EXCEPTION_TESTS_float): Do not define here. [!__riscv_flen] (EXCEPTION_TESTS_double): Likewise. [!__riscv_flen] (EXCEPTION_TESTS_long_double): Likewise. * sysdeps/riscv/nofpu/math-tests-exceptions.h: New file.
* Update NEWS for sinf improvementsWilco Dijkstra2018-08-231-0/+4
| | | | | | | | | The NEWS entry for sinf improvements is listed for 2.28, while it was committed in 2.29, so move it there and mention tanf. Committed as obvious. * NEWS: Move optimized sinf entry to 2.29.
* Speedup tanf range reductionWilco Dijkstra2018-08-231-0/+4
| | | | | | | | | | | | | | | | Speedup tanf range reduction by using the new sincosf range reduction algorithm. Overall code quality is improved due to inlining, so there is a speedup even if no range reduction is required. tanf throughput gains on Cortex-A72: * |x| < M_PI_4 : 1.1x * |x| < M_PI_2 : 1.2x * |x| < 2 * M_PI: 1.5x * |x| < 120.0 : 1.6x * |x| < Inf : 12.1x * sysdeps/ieee754/flt-32/s_tanf.c (__tanf): Use fast range reduction.
* Add test-in-container infrastructure.DJ Delorie2018-08-221-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | * Makefile (testroot.pristine): New rules to initialize the test-in-container "testroot". * Makerules (all-testsuite): Add tests-container. * Rules (tests-expected): Add tests-container. (binaries-all-tests): Likewise. (tests-container): New, run these tests in the testroot container. * support/Makefile (others): Add *-container, support_paths.c, xmkdirp, and links-dso-program. * support/links-dso-program-c.c: New. * support/links-dso-program.cc: New. * support/test-container.c: New. * support/shell-container.c: New. * support/echo-container.c: New. * support/true-container.c: New. * support/xmkdirp.c: New. * support/xsymlink.c: New. * support/support_paths.c: New. * support/support.h: Add support paths prototypes. * support/xunistd.h: Add xmkdirp () and xsymlink (). * nss/tst-nss-test3.c: Convert to test-in-container. * nss/tst-nss-test3.root/: New.
* regex: port Gnulib code to z/OS POSIX environmentPaul Eggert2018-08-221-0/+8
| | | | | | | Problem reported by Arnold Robbins in: https://lists.gnu.org/r/bug-gnulib/2018-08/msg00129.html * posix/regex_internal.h (__iswalnum, __towlower, __towupper) [!_LIBC]: Undef.
* Don't redefine ROUNDING_TESTS_* in math/test-*-vlen*.h.Joseph Myers2018-08-221-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch completes the move of ROUNDING_TESTS_* macros to typo-proof conventions by stopping redefining them in test-*-vlen*.h. Instead, libm-test-driver.c is made to check TEST_MATHVEC when setting non-to-nearest rounding modes. Tested for x86_64. * math/test-double-vlen2.h: Don't include <math-tests-rounding.h>. (ROUNDING_TESTS_double): Remove. * math/test-double-vlen4.h: Don't include <math-tests-rounding.h>. (ROUNDING_TESTS_double): Remove. * math/test-double-vlen8.h: Don't include <math-tests-rounding.h>. (ROUNDING_TESTS_double): Remove. * math/test-float-vlen16.h: Don't include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Remove. * math/test-float-vlen4.h: Don't include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Remove. * math/test-float-vlen8.h: Don't include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Remove. * math/libm-test-driver.c (IF_ROUND_INIT_FE_DOWNWARD): Check !TEST_MATHVEC here. (IF_ROUND_INIT_FE_TOWARDZERO): Likewise. (IF_ROUND_INIT_FE_UPWARD): Likewise.
* Move ROUNDING_TESTS_* out of math-tests.h.Joseph Myers2018-08-221-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing moving macros out of math-tests.h to smaller headers following typo-proof conventions instead of using #ifndef, this patch moves the ROUNDING_TESTS_* macros for individual types out to their own sysdeps header. In the soft-float case where FE_TONEAREST is the only rounding mode macro defined, there is no need to define ROUNDING_TESTS_*; it is only necessary when rounding modes macros are defined that may not be supported at runtime. Thus, the ROUNDING_TESTS_* definitions for some configurations are just removed, not moved to new math-tests-rounding.h headers; the only architectures needing math-tests-rounding.h are those where the macros are defined in bits/fenv.h because of the possibility of a soft-float compilation using a hard-float glibc with the same ABI (i.e., ARM and RISC-V). The test-*-vlen*.h headers, by using #undef, do not yet follow typo-proof conventions (but they no longer implicitly rely on being included before math-tests.h, and this area can always be cleaned up further in future). Tested with build-many-glibcs.py. * sysdeps/generic/math-tests-rounding.h: New file. * sysdeps/generic/math-tests.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Do not define here. (ROUNDING_TESTS_double): Likewise. (ROUNDING_TESTS_long_double): Likewise. (ROUNDING_TESTS_float128): Likewise. * math/test-double-vlen2.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_double): Undefine before defining. * math/test-double-vlen4.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_double): Undefine before defining. * math/test-double-vlen8.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_double): Undefine before defining. * math/test-float-vlen16.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Undefine before defining. * math/test-float-vlen4.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Undefine before defining. * math/test-float-vlen8.h: Include <math-tests-rounding.h>. (ROUNDING_TESTS_float): Undefine before defining. * sysdeps/arm/nofpu/math-tests-rounding.h: New file. * sysdeps/arm/math-tests.h [__SOFTFP__] (ROUNDING_TESTS_float): Do not define here. [__SOFTFP__] (ROUNDING_TESTS_double): Likewise. [__SOFTFP__] (ROUNDING_TESTS_long_double): Likewise. * sysdeps/riscv/nofpu/math-tests-rounding.h: New file. * sysdeps/riscv/math-tests.h [!__riscv_flen] (ROUNDING_TESTS_float): Do not define here. [!__riscv_flen] (ROUNDING_TESTS_double): Likewise. [!__risv_flen] (ROUNDING_TESTS_long_double): Likewise. * sysdeps/m68k/coldfire/math-tests.h [!__mcffpu__] (ROUNDING_TESTS_float): Likewise. [!__mcffpu__] (ROUNDING_TESTS_double): Likewise. [!__mcffpu__] (ROUNDING_TESTS_long_double): Likewise. * sysdeps/mips/math-tests.h [__mips_soft_float] (ROUNDING_TESTS_float): Likewise. [__mips_soft_float] (ROUNDING_TESTS_double): Likewise. [__mips_soft_float] (ROUNDING_TESTS_long_double): Likewise. * sysdeps/nios2/math-tests.h (ROUNDING_TESTS_float): Likewise. (ROUNDING_TESTS_double): Likewise. (ROUNDING_TESTS_long_double): Likewise.
* Add PF_XDP, AF_XDP and SOL_XDP from Linux 4.18 to bits/socket.h.Tobias Klauser2018-08-211-0/+7
| | | | | | | | | | This patch adds the PF_XDP, AF_XDP and SOL_XDP macros from Linux 4.18 to sysdeps/unix/sysv/linux/bits/socket.h. * sysdeps/unix/sysv/linux/bits/socket.h (PF_MAX): Set to 45. (PF_XDP): New macro. (AF_XDP): New macro. (SOL_XDP): New macro.
* Update netinet/tcp.h from Linux 4.18.Joseph Myers2018-08-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds constants from netinet/tcp.h in Linux 4.18, and an associated struct tcp_zerocopy_receive, to sysdeps/gnu/netinet/tcp.h. The new TCP_REPAIR_* constants seemed sufficiently related to those already present to include them. Note that this patch does not include additions to struct tcp_info; there are many other elements in this structure in the Linux kernel that are not included in the glibc version (which was last extended in 2007, it seems). Such additions to the end of the structure may be OK with the expected way it is used (size passed explicitly to the kernel with getsockopt), but in principle any change to the size of a type provided by glibc is an ABI change for external applications / libraries using that type in their ABIs, and has the associated risks of such a change. Tested for x86_64. * sysdeps/gnu/netinet/tcp.h (TCP_ZEROCOPY_RECEIVE): New macro. (TCP_INQ): Likewise. (TCP_CM_INQ): Likewise. (TCP_REPAIR_ON): Likewise. (TCP_REPAIR_OFF): Likewise. (TCP_REPAIR_OFF_NO_WP): Likewise. (struct tcp_zerocopy_receive): New type.
* Avoid running some tests if the file system does not support holesFlorian Weimer2018-08-211-0/+17
| | | | | Otherwise, these tests fills up the entire disk (or just run very slowly and eventually time out).
* Makeconfig: Do not sort and deduplicate +cflags [BZ # 17248]Florian Weimer2018-08-211-0/+5
| | | | | The original intent behind this is unclear. It interferes with flags that has to be ordered in a particular way.
* __readlink_chk: Remove micro-optimizationFlorian Weimer2018-08-211-0/+5
|
* __readlink_chk: Assume HAVE_INLINED_SYSCALLSFlorian Weimer2018-08-201-0/+5
| | | | | HAVE_INLINED_SYSCALLS is always defined on Linux. Switch to INLINE_SYSCALL_CALL as well.
* Update struct signalfd_siginfo from Linux 4.18.Joseph Myers2018-08-201-0/+4
| | | | | | | | | | | | | This patch updates struct signalfd_siginfo in sys/signalfd.h with new members from Linux 4.18 (plus ssi_addr_lsb, added to the kernel in 2.6.37 without being added to sys/signalfd.h at that time). The __pad2 member name follows the kernel and the existing __pad name. Tested for x86_64. * sysdeps/unix/sysv/linux/sys/signalfd.h (struct signalfd_siginfo): Add ssi_addr_lsb, ssi_syscall, ssi_call_addr and ssi_arch members.
* Add NT_VMCOREDD, AT_MINSIGSTKSZ from Linux 4.18 to elf.h.Joseph Myers2018-08-201-0/+5
| | | | | | | | | | This patch adds two new constants from Linux 4.18 to elf.h, NT_VMCOREDD and AT_MINSIGSTKSZ. Tested for x86_64. * elf/elf.c (NT_VMCOREDD): New macro. (AT_MINSIGSTKSZ): Likewise.
* malloc: Add ChangeLog for accidentally committed changeFlorian Weimer2018-08-201-0/+4
| | | | | | Commit b90ddd08f6dd688e651df9ee89ca3a69ff88cd0c ("malloc: Additional checks for unsorted bin integrity I.") was committed without a whitespace fix, so it is adjusted here as well.
* powerpc: Remove powerpc specific sinf and cosf optimizationRajalakshmi Srinivasaraghavan2018-08-201-0/+18
| | | | | | | New generic optimization of sinf and cosf introduced by commit 599cf3976679e1b345307d9c02057f02aa95528f shows improvement compared to powerpc specific assembly version. Hence removing the powerpc assembly versions to make use of generic code.
* math: Regenerate s390 ulpsFlorian Weimer2018-08-171-0/+4
| | | | | Based on results on a s390x 2964 machine, with -march=z196 and -mtune=zEC12, and separately with -march=z13 and -mtune=z14.
* Add --with-nonshared-cflags option to configureFlorian Weimer2018-08-171-0/+10
|
* Makeconfig (ASFLAGS): Always append required assembler flagsFlorian Weimer2018-08-171-0/+4
| | | | | Otherwise, it is impossible to set ASFLAGS differently from CFLAGS without also overriding essential flags such as -Wa,--noexecstack.
* Fix attribution of previous change in ChangeLogFlorian Weimer2018-08-171-1/+1
|
* malloc: Mitigate null-byte overflow attacksMoritz Eckert2018-08-161-0/+5
| | | | | * malloc/malloc.c (_int_free): Check for corrupt prev_size vs size. (malloc_consolidate): Likewise.
* malloc: Verify size of top chunk.Pochang Chen2018-08-161-0/+4
| | | | | | | | | | | | The House of Force is a well-known technique to exploit heap overflow. In essence, this exploit takes three steps: 1. Overwrite the size of top chunk with very large value (e.g. -1). 2. Request x bytes from top chunk. As the size of top chunk is corrupted, x can be arbitrarily large and top chunk will still be offset by x. 3. The next allocation from top chunk will thus be controllable. If we verify the size of top chunk at step 2, we can stop such attack.
* Reallocate buffers for every run in strlenSiddhesh Poyarekar2018-08-161-0/+3
| | | | Try and avoid influencing performance of neighbouring functions.
* Print strlen benchmark output in jsonSiddhesh Poyarekar2018-08-161-0/+4
| | | | Allow reading the benchmark using the compare_strings.py script.
* powerpc: Rearrange little endian specific filesRajalakshmi Srinivasaraghavan2018-08-161-0/+22
| | | | | | This patch moves little endian specific POWER9 optimization files to sysdeps/powerpc/powerpc64/le and creates POWER9 ifunc functions only for little endian.
* [aarch64] Add an ASIMD variant of strlen for falkorSiddhesh Poyarekar2018-08-151-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This variant of strlen uses vector loads and operations to reduce the size of the code and also eliminate the non-ascii fallback. This works very well for falkor because of its two vector units and efficient vector ops. In the best case it reduces latency of cases in bench-strlen by 48%, with gains throughout the benchmark. strlen-walk also sees uniform gains in the 5%-15% range. Overall the routine appears to work better than the stock one for falkor regardless of the benchmark, length of string or cache state. The same cannot be said of a53 and a72 though. a53 performance was greatly reduced and for a72 it was a bit of a mixed bag, slightly on the negative side but I reckon it might be fast in some situations. * sysdeps/aarch64/strlen.S (__strlen): Rename to STRLEN. [!STRLEN](STRLEN): Set to __strlen. * sysdeps/aarch64/multiarch/strlen.c: New file. * sysdeps/aarch64/multiarch/strlen_generic.S: Likewise. * sysdeps/aarch64/multiarch/strlen_asimd.S: Likewise. * sysdeps/aarch64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list): Add strlen. * sysdeps/aarch64/multiarch/Makefile (sysdep_routines): Add strlen_generic and strlen_asimd. Reviewed-By: szabolcs.nagy@arm.com CC: pinskia@gmail.com
* Use generic sinf/cosf in lgammaf_rWilco Dijkstra2018-08-151-0/+6
| | | | | | | | | | | | | | The internal functions __kernel_sinf and __kernel_cosf are used only by lgammaf_r. Removing the internal functions and using the generic sinf and cosf is better overall. Benchmarking on Cortex-A72 shows the generic sinf and cosf are 1.4x and 2.3x faster in the range |x| < PI/4, and 0.66x and 1.1x for |x| < PI/2, so it should make lgammaf_r faster on average. GLIBC regression tests pass on AArch64. * sysdeps/ieee754/flt-32/e_lgammaf_r.c (sin_pif): Use __sinf/__cosf. * sysdeps/ieee754/flt-32/k_cosf.c (__kernel_cosf): Remove all code. * sysdeps/ieee754/flt-32/k_sinf.c (__kernel_sinf): Likewise.
* Fix spaces in x86_64 ULP fileWilco Dijkstra2018-08-151-0/+4
| | | | | | | | Fix a few missing spaces, it's now identical to the regenerated version. Passes GLIBC tests on x64. * sysdeps/x86_64/fpu/libm-test-ulps: Regenerate to fix spaces.
* error, warn, warnx: Use __fxprintf for wide printing [BZ #23519]Florian Weimer2018-08-141-0/+12
| | | | Also introduce the __vfxprintf function.