about summary refs log tree commit diff
path: root/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* Fix ldbl-128ibm sinhl inaccuracy near 0 (bug 18789).Joseph Myers2015-08-102-1/+3
| | | | | | | | | | | | | | | ldbl-128ibm sinhl uses a too-big threshold to decide when to return the argument, resulting in large errors. This patch fixes it to use a more appropriate threshold. Tested for x86_64, x86 and powerpc. [BZ #18789] * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c (__ieee754_sinhl): Use smaller threshold for returning the argument. * math/auto-libm-test-in: Add more tests of sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
* Add a missing break in tst-auditmod3b.cH.J. Lu2015-08-091-0/+1
| | | | | | [BZ #18674] * sysdeps/i386/tst-auditmod3b.c (la_objsearch): Add a missing break.
* hppa: put custom madvise defines behind __USE_MISCMike Frysinger2015-08-081-8/+11
| | | | | | No other arch exports these defines, and having them in the default namespace causes conformance header tests to fail. Put them behind the __USE_MISC define as that is what other arches seem to use.
* hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]John David Anglin2015-08-082-22/+42
| | | | | | | | | The attached change fixes the miscompilation of sched_setaffinity() on hppa. This is an old problem that was fixed on other architectures using a similar approach to the attached change. See: https://sourceware.org/ml/libc-hacker/2004-04/msg00016.html Build tested on trunk. Patch has been applied to debian glibc for some time.
* hppa: Fix reload error with atomic code [BZ #18787]John David Anglin2015-08-081-18/+17
| | | | | | | | | | | As noted in the bug, the asm operands need to be copied to register variables to avoid operand reloads in the principal asm of the macro. See the arm implementation for reference. Otherwise we get: ../sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: can't find a register in class 'R1_REGS' while reloading 'asm' Build tested on trunk with gcc-4.8. Similar patch has been tested with 2.19 on Debian hppa-unknown-linux-gnu.
* microblaze: include unix/sysdep.hMike Frysinger2015-08-071-1/+6
| | | | | | The semi-recent SYSCALL_CANCEL inclusion broke microblaze due to the sysdep.h header not including the unix/sysdep.h header. Include it here like all other ports.
* Fix tan missing underflows (bug 16517).Joseph Myers2015-08-075-4/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to various other bugs in this area, some tan implementations do not raise the underflow exception for subnormal arguments, when the result is tiny and inexact. This patch forces the exception in a similar way to previous fixes. Tested for x86_64, x86, mips64 and powerpc. [BZ #16517] * sysdeps/ieee754/dbl-64/s_tan.c: Include <float.h>. (tan): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/flt-32/k_tanf.c: Include <float.h>. (__kernel_tanf): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128/k_tanl.c: Include <float.h>. (__kernel_tanl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Include <float.h>. (__kernel_tanl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-96/k_tanl.c: Include <float.h>. (__kernel_tanl): Force underflow exception for arguments with small absolute value. * math/auto-libm-test-in: Add more tests of tan. * math/auto-libm-test-out: Regenerated.
* hppa: _dl_symbol_address: add missing hidden defMike Frysinger2015-08-071-0/+1
| | | | | | | Commit 2a6ad8142d14c998e6c5eb51418aac1f598b621e updated the headers and the common dl-symaddr.c, but missed that hppa has its own dedicated source file for this func. Update that too to fix build errors due to missing exports of the symbol.
* Fix sinh missing underflows (bug 16519).Joseph Myers2015-08-066-7/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to various other bugs in this area, some sinh implementations do not raise the underflow exception for subnormal arguments, when the result is tiny and inexact. This patch forces the exception in a similar way to previous fixes. Tested for x86_64, x86, mips64 and powerpc. [BZ #16519] * sysdeps/ieee754/dbl-64/e_sinh.c: Include <float.h>. (__ieee754_sinh): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/flt-32/e_sinhf.c: Include <float.h>. (__ieee754_sinhf): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128/e_sinhl.c: Include <float.h>. (__ieee754_sinhl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Include <float.h>. (__ieee754_sinhl): Force underflow exception for arguments with small absolute value. * sysdeps/ieee754/ldbl-96/e_sinhl.c: Include <float.h>. (__ieee754_sinhl): Force underflow exception for arguments with small absolute value. * math/auto-libm-test-in: Add more tests of sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update.
* Properly terminate FDE in makecontext for m68k (bug 18635)Andreas Schwab2015-08-051-1/+4
|
* Align stack to 16 bytes when calling __errno_locationH.J. Lu2015-08-053-0/+18
| | | | | | | | | | We should align stack to 16 bytes when calling __errno_location. [BZ #18661] * sysdeps/x86_64/fpu/s_cosf.S (__cosf): Align stack to 16 bytes when calling __errno_location. * sysdeps/x86_64/fpu/s_sincosf.S (__sincosf): Likewise. * sysdeps/x86_64/fpu/s_sinf.S (__sinf): Likewise.
* Align stack to 16 bytes when calling __gettimeofdayH.J. Lu2015-08-051-4/+5
| | | | | | | | | | Subtract stack by 24 bytes instead of 16 bytes so that stack is aligned to 16 bytes when calling __gettimeofday. [BZ #18661] * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedwait_tid): Align stack to 16 bytes when calling __gettimeofday.
* Align stack to 16 bytes when calling __setcontextH.J. Lu2015-08-051-2/+2
| | | | | | | | | | Don't use pop to restore %rdi so that stack is aligned to 16 bytes when calling __setcontext. [BZ #18661] * sysdeps/unix/sysv/linux/x86_64/__start_context.S (__start_context): Don't use pop to restore %rdi so that stack is aligned to 16 bytes when calling __setcontext.
* Compile {memcpy,strcmp}-sse2-unaligned.S only for libcH.J. Lu2015-08-052-0/+8
| | | | | | | | {memcpy,strcmp}-sse2-unaligned.S aren't needed in ld.so. * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Compile only for libc. * sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: Likewise.
* Improve performance of mempcpy by inlining and using memcpy. EnableWilco Dijkstra2015-08-051-0/+3
| | | | | this for all targets except sparc which has an optimized mempcpy implementation.
* Improve feenableexcept performance - avoid an unnecessary FPCR read in caseWilco Dijkstra2015-08-051-9/+7
| | | | the FPCR does not change. Also improve the logic of the return value.
* Improve fesetenv performance by avoiding unnecessary FPSR/FPCR reads/writes.Wilco Dijkstra2015-08-051-17/+23
| | | | | | It uses the same logic as the ARM version. The common case removes 1 FPSR and 1 FPCR read. For FE_DFL_ENV and FE_NOMASK_ENV a FPCR read is avoided in case the FPCR does not change.
* Fix powf (close to -1, large) (bug 18647).Joseph Myers2015-08-051-1/+1
| | | | | | | | | | | | | | | | The flt-32 implementation of powf wrongly uses x-1 instead of |x|-1 when computing log (x) for the case where |x| is close to 1 and y is large. This patch fixes the logic accordingly. Relevant tests existed for x close to 1, and corresponding tests are added for x close to -1, as well as for some new variant cases. Tested for x86_64 and x86. [BZ #18647] * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): For large y and |x| close to 1, use absolute value of x when computing log. * math/auto-libm-test-in: Add more tests of pow. * math/auto-libm-test-out: Regenerated.
* arm: Assembly implementation cleanupAdhemerval Zanella2015-08-053-136/+18
| | | | | | | This patch removes arm assembly implementation of mmap and mmap64. The new implementation used is the wordsize-32 generic linux one. Tested on armhf.
* mmap64: fix undef warningsMike Frysinger2015-08-051-3/+3
| | | | | The only target that defines this is m68k, so move the existing fallback define up to avoid warnings on other systems.
* tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.hChris Metcalf2015-08-041-8/+12
| | | | | Using a ({ }) structure avoids the "value computed is not used" that a simple () structure causes.
* Properly terminate FDE in makecontext for ix86 (bug 18635)Andreas Schwab2015-08-042-7/+4
|
* Prevent runtime fail of SSE vector math tests on non SSE4.1 machine.Andrew Senkevich2015-07-301-2/+0
| | | | | | | | [BZ #18740] * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags, float-vlen4-arch-ext-cflags): Removed. * math/Makefile (CFLAGS-test-double-vlen2-wrappers.c, CFLAGS-test-float-vlen4-wrappers.c): Likewise.
* hppa: fix pthreadtypes.h namespace failuresMike Frysinger2015-07-301-3/+3
| | | | | The conform tests flag the "aligned" symbol used inside the attributes, so rename it to __aligned__ like other headers.
* hppa: Remove custom lowlevellock.h.Torvald Riegel2015-07-301-334/+0
| | | | | This untested patch removes the custom lowlevellock.h on hppa. It seems to contain an implementation equivalent to the generic lowlevellock.h.
* hppa: sigaction.h: change sa_flags to an intMike Frysinger2015-07-291-1/+6
| | | | | This fixes the conform test for the sigaction.h header and makes it match all the other arches.
* hppa: fix sysdep.h header setupMike Frysinger2015-07-293-5/+9
| | | | | | | | | | | | | | | | The semi-recent SYSCALL_CANCEL inclusion broke hppa due to the sysdep.h headers not including the unix/sysdep.h headers. Rework the includes so we match the other ports: * hppa/sysdep.h: - Do not include sys/syscall.h as the unix sysdep.h headers do it. - Do not include config.h as libc-symbols.h does it, and it has no #ifdef multiple-include protection, and it breaks when some files do things like #undef __OPTIMIZE__. * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: - Drop the generic/sysdep.h as the unix sysdep.h headers include it. * sysdeps/unix/sysv/linux/hppa/sysdep.h: - Change to the unix & core hppa sysdep header stacks. - Undef a few defines that the core headers already set up for us.
* hppa: rewrite INLINE_SYSCALLMike Frysinger2015-07-291-22/+7
| | | | | | | | | | | | | | | | | | | The semi-recent SYSCALL_CANCEL macro imposes a slight nuance on the implementation of INLINE_SYSCALL: the nr argument cannot be expanded directly but must be passed on to another macro which may expand it. Most arches don't notice because INLINE_SYSCALL is defined in terms of INTERNAL_SYSCALL which has the additional layer of expansion, but on hppa, it was attempting to expand it directly. That causes build errors like so: ../sysdeps/unix/sysv/linux/sigsuspend.c: In function '__sigsuspend': ../sysdeps/unix/sysv/linux/sigsuspend.c:31:62: error: implicit declaration of function 'LOAD_ARGS___SYSCALL_NARGS' ../sysdeps/unix/sysv/linux/sigsuspend.c:31:304: error: called object 'LOAD_ARGS___SYSCALL_NARGS(set, 8)' is not a function So rewrite hppa's INLINE_SYSCALL to use INTERNAL_SYSCALL like other arches do. This is also a nice clean up as the two macros had quite a bit of duplicated logic.
* Extend local PLT reference checkH.J. Lu2015-07-292-3/+24
| | | | | | | | | | | | | | On x86, linker in binutils 2.26 and newer consolidates R_*_JUMP_SLOT with R_*_GLOB_DAT relocation against the same symbol. This patch extends local PLT reference check to support alternate relocations. [BZ #18078] * scripts/check-localplt.awk: Support alternate relocations. * scripts/localplt.awk: Also check relocations in DT_RELA/DT_REL sections. * sysdeps/unix/sysv/linux/i386/localplt.data: Mark free and malloc entries with + REL R_386_GLOB_DAT. * sysdeps/x86_64/localplt.data: New file.
* Added runtime check for AVX vector math tests.Andrew Senkevich2015-07-293-1/+27
| | | | | | | [BZ #18731] * sysdeps/x86_64/fpu/math-tests-arch.h: Added AVX runtime check. * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise. * sysdeps/x86_64/fpu/test-float-vlen8.c: Likewise.
* ia64: drop __tls_get_addr from expected ld.so plt usageMike Frysinger2015-07-281-4/+3
| | | | | | This file was updated with an educated guess as to the symbols needed, but on ia64, we don't have __tls_get_addr calls, so drop it from the list.
* ia64: atomic.h: fix atomic_exchange_and_add 64bit handlingMike Frysinger2015-07-281-3/+1
| | | | | | | | | | | | | | Way back in 2005 the atomic_exchange_and_add function was cleaned up to avoid the explicit size checking and instead let gcc handle things itself. Unfortunately that change ended up leaving beyond a cast to int, even when the incoming value was a long. This has flown under the radar for a long time due to the function not being heavily used in the tree (especially as a full 64bit field), but a recent change to semaphores made some nptl tests fail reliably. This is due to the code packing two 32bit values into one 64bit variable (where the high 32bits contained the number of waiters), and then the whole variable being atomically updated between threads. On ia64, that meant we never atomically updated the count, so sometimes the sem_post would not wake up the waiters.
* ia64: clean up old kernel headers cruftMike Frysinger2015-07-281-4/+0
| | | | | | This define made more sense in the pre-sanitized kernel headers days, but since we require kernel versions that are sanitized, we don't need this hack anymore.
* Fixes extern protected data handling testcases elf/tst-protected1aChung-Lin Tang2015-07-262-1/+4
| | | | and elf/tst-protected1b for Nios II.
* Update Nios II ulps file.Chung-Lin Tang2015-07-251-41/+98
|
* Fix order of arguments to rt_sigprocmask syscall when setting the signal maskChung-Lin Tang2015-07-242-6/+6
| | | | in setcontext/swapcontext.
* NaCl: Remove bogus O_SHLOCK, O_EXLOCK definitions.Roland McGrath2015-07-241-4/+0
|
* Update powerpc-fpu libm-test-ulps.Adhemerval Zanella2015-07-241-56/+152
|
* Fixed several libmvec bugs found during testing on KNL hardware.Andrew Senkevich2015-07-2415-223/+201
| | | | | | | | | | | | | | | | | | | | | | AVX512 IFUNC implementations, implementations of wrappers to AVX2 versions and KNL expf implementation fixed. * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Fixed AVX512 IFUNC. * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_cosf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sinf16_core.S: Likewise. * sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Fixed wrappers to AVX2. * sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S: Fixed KNL implementation.
* [ARM][BZ #17711] Fix extern protected data handlingSzabolcs Nagy2015-07-242-3/+9
| | | | | | | | | Fixes elf/tst-protected1a and elf/tst-protected1b tests. Depends on a gcc patch that makes protected visibility data non-local: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01871.html and on a binutils patch so R_*_GLOB_DAT relocs are used for it: https://sourceware.org/ml/binutils/2015-07/msg00247.html
* [AArch64][BZ #17711] Fix extern protected data handlingSzabolcs Nagy2015-07-242-1/+4
| | | | | | | | | Fixes elf/tst-protected1a and elf/tst-protected1b tests. Depends on a gcc patch that makes protected visibility data non-local: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01871.html and on a binutils patch so R_*_GLOB_DAT relocs are used for it: https://sourceware.org/ml/binutils/2015-07/msg00246.html
* Make sysdeps/posix bring in login subdir.Roland McGrath2015-07-234-24/+40
|
* NaCl: Fix missing getdtablesize symbol.Roland McGrath2015-07-232-0/+2
|
* ia64: sigaction.h: fix sa_flags orderingMike Frysinger2015-07-231-1/+1
| | | | | | | Since ia64 is little endian, sa_flags has to come before the padding when splitting it from 64bits to 32bits. Reported-by: Joseph Myers <joseph@codesourcery.com>
* ia64: msg.h: fix msg_qnum/msg_qbytes typesMike Frysinger2015-07-211-4/+9
| | | | | These two fields have dedicated types, so change the ia64 header to match all the other arches. This fixes the conform test for msg.h.
* ia64: stat.h: rename pad0 to __glibc_reserved0Mike Frysinger2015-07-211-2/+2
| | | | | This fixes the conform test for the stat.h header and makes it match all the other arches.
* ia64: sifaction.h: change sa_flags to an intMike Frysinger2015-07-211-1/+2
| | | | | This fixes the conform test for the sigaction.h header and makes it match all the other arches.
* ia64: siginfo.h: delete siginfo nameMike Frysinger2015-07-211-1/+1
| | | | | This fixes the conform test for the siginfo.h header and makes it match all the other arches.
* NaCl: Use only nacl_irt_dev_filename, never nacl_irt_filename.Roland McGrath2015-07-213-4/+2
|
* Add abilist files and NEWS item for arm-nacl port.Roland McGrath2015-07-2110-0/+2521
|