about summary refs log tree commit diff
path: root/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.Ryan S. Arnold2013-06-288-7/+27
|
* Consistently use page_shift in sysdeps/unix/sysv/linux/mmap64.c.Joseph Myers2013-06-281-1/+1
|
* Fix buffers overrun in x86_64 memcmp-ssse3.SLiubov Dmitrieva2013-06-261-4/+2
|
* [BZ #10283] localedef: align fixed maps to SHMLBAMike Frysinger2013-06-241-0/+26
| | | | | | | | | | | | Many Linux arches require fixed mmaps to be aligned higher than pagesize, so use the SHMLBA define as it represents this quantity exactly. This fixes spurious errors seen on those arches like: cannot map archive header: Invalid argument URL: http://sourceware.org/bugzilla/show_bug.cgi?id=10283 Reported-by: CHIKAMA Masaki <masaki.chikama@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* PowerPC: Enable POWER8 platform sans hwcap bits.Ryan S. Arnold2013-06-246-3/+16
|
* Include <string.h> in sysdeps/unix/sysv/linux/libc_fatal.c.Joseph Myers2013-06-221-0/+1
|
* Add sh4 implementation of fegetexceptflag.Kaz Kojima2013-06-211-0/+38
|
* Rewrite sysd-rules generation using an awk script.Roland McGrath2013-06-171-1/+1
|
* Fix spurious "inexact" exceptions from dbl-64 sqrt (bug 15631).Joseph Myers2013-06-151-2/+15
|
* New API to set default thread attributesSiddhesh Poyarekar2013-06-1510-0/+40
| | | | | | | This patch introduces two new convenience functions to set the default thread attributes used for creating threads. This allows a programmer to set the default thread attributes just once in a process and then run pthread_create without additional attributes.
* Set fast unaligned load flag for new Intel microarchitectureLiubov Dmitrieva2013-06-141-0/+7
| | | | | | | | | I have small patch for new Intel Silvermont machines. http://newsroom.intel.com/community/intel_newsroom/blog/2013/05/06/intel-launches-low-power-high-performance-silvermont-microarchitecture I checked this on my machine and see that strcpy, ... unaligned versions are faster than ssse3 versions.
* Add rtld-memset.S for x86_64Siddhesh Poyarekar2013-06-152-1/+37
| | | | | | Resolves: BZ #15627 Add an assembler version of rtld-memset to avoid using SSE registers.
* Improve precision of clock() function on LinuxSiddhesh Poyarekar2013-06-131-20/+16
| | | | | | | Resolves #12515. Use CLOCK_PROCESS_CPUTIME_ID instead of times to get better precision in the value returned by clock.
* Fix unsafe compiler optimizationAdhemerval Zanella2013-06-122-1/+8
| | | | | | | | GCC 4.8 enables -ftree-loop-distribute-patterns at -O3 by default and this optimization may transform loops into memset/memmove calls. Without proper handling this may generate unexpected PLT calls on GLIBC. This patch fixes by create memset/memmove alias to internal GLIBC __GI_memset/__GI_memmove symbols.
* Set/restore rounding mode only when neededSiddhesh Poyarekar2013-06-122-14/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The most common use case of math functions is with default rounding mode, i.e. rounding to nearest. Setting and restoring rounding mode is an unnecessary overhead for this, so I've added support for a context, which does the set/restore only if the FP status needs a change. The code is written such that only x86 uses these. Other architectures should be unaffected by it, but would definitely benefit if the set/restore has as much overhead relative to the rest of the code, as the x86 bits do. Here's a summary of the performance improvement due to these improvements; I've only mentioned functions that use the set/restore and have benchmark inputs for x86_64: Before: cos(): ITERS:4.69335e+08: TOTAL:28884.6Mcy, MAX:4080.28cy, MIN:57.562cy, 16248.6 calls/Mcy exp(): ITERS:4.47604e+08: TOTAL:28796.2Mcy, MAX:207.721cy, MIN:62.385cy, 15543.9 calls/Mcy pow(): ITERS:1.63485e+08: TOTAL:28879.9Mcy, MAX:362.255cy, MIN:172.469cy, 5660.86 calls/Mcy sin(): ITERS:3.89578e+08: TOTAL:28900Mcy, MAX:704.859cy, MIN:47.583cy, 13480.2 calls/Mcy tan(): ITERS:7.0971e+07: TOTAL:28902.2Mcy, MAX:1357.79cy, MIN:388.58cy, 2455.55 calls/Mcy After: cos(): ITERS:6.0014e+08: TOTAL:28875.9Mcy, MAX:364.283cy, MIN:45.716cy, 20783.4 calls/Mcy exp(): ITERS:5.48578e+08: TOTAL:28764.9Mcy, MAX:191.617cy, MIN:51.011cy, 19071.1 calls/Mcy pow(): ITERS:1.70013e+08: TOTAL:28873.6Mcy, MAX:689.522cy, MIN:163.989cy, 5888.18 calls/Mcy sin(): ITERS:4.64079e+08: TOTAL:28891.5Mcy, MAX:6959.3cy, MIN:36.189cy, 16062.8 calls/Mcy tan(): ITERS:7.2354e+07: TOTAL:28898.9Mcy, MAX:1295.57cy, MIN:380.698cy, 2503.7 calls/Mcy So the improvements are: cos: 27.9089% exp: 22.6919% pow: 4.01564% sin: 19.1585% tan: 1.96086% The downside of the change is that it will have an adverse performance impact on non-default rounding modes, but I think the tradeoff is justified.
* Add exception information to math-tests.h and use it in libm-test.inc.Joseph Myers2013-06-111-0/+18
|
* PowerPC: Merge ports/ dl-procinfo.[ch] with base.Ryan S. Arnold2013-06-112-11/+35
|
* Fix symbol definitions for __clock_* functionsSiddhesh Poyarekar2013-06-116-14/+15
| | | | | | __clock_gettime and other __clock_* functions could result in an extra PLT reference within libc.so if it actually gets used. None of the code currently uses them, which is why this probably went unnoticed.
* Add rounding mode information to math-tests.h and use it in libm-test.inc.Joseph Myers2013-06-101-0/+18
|
* Avoid trailing whitespace in sysdeps/gnu/errlist.c.Joseph Myers2013-06-082-10/+10
|
* Use (void) in no-arguments function definitions.Joseph Myers2013-06-0821-27/+27
|
* Avoid use of "register" as optimization hint.Joseph Myers2013-06-077-16/+16
|
* Fix leading whitespaces.Ondrej Bilka2013-06-0642-83/+83
|
* Remove trailing whitespace.Joseph Myers2013-06-05156-800/+800
|
* Skip modifying exception mask and flags in SET_RESTORE_ROUND_53BITSiddhesh Poyarekar2013-06-051-6/+6
| | | | | We only need to set/restore rounding mode to ensure correct computation for non-default rounding modes.
* Link extra-libs consistently with libc and ld.so.Joseph Myers2013-05-312-6/+0
|
* [BZ #14256]Jeff Law2013-05-301-5/+6
| | | | | | * manual/errno.texi (ESTALE): Update to account for more than just NFS file systems. * sysdeps/gnu/errlist.c: Regenerated.
* Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar2013-05-2910-21/+15
| | | | | | | | | Resolves: #15465 The program name may be unavailable if the user application tampers with argc and argv[]. Some parts of the dynamic linker caters for this while others don't, so this patch consolidates the check and fallback into a single macro and updates all users.
* Update powerpc libm-test ULPs.Adhemerval Zanella2013-05-281-0/+37
|
* _dl_skip_args declaration cleanup.Thomas Schwinge2013-05-261-1/+0
| | | | | | | * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start:go): Don't declare _dl_skip_args. Continuation of commit 8347c74cc5c972aa9e57747177b1f5f4b1cbcac8.
* _dl_non_dynamic_init declaration cleanup.Thomas Schwinge2013-05-261-3/+0
| | | | | | | * sysdeps/mach/hurd/i386/init-first.c (_dl_non_dynamic_init): Don't declare. Continuation of commit bc16e260d0e74b36e48d30edc6ea4f1152700c09.
* Fix ldbl-96 hypotl of subnormals (bug 15529).Joseph Myers2013-05-241-1/+1
|
* Test drem and pow10 in libm-test.inc.Joseph Myers2013-05-242-0/+35
|
* Use same tests for isfinite/finite, lgamma/gamma.Joseph Myers2013-05-242-0/+28
|
* PowerPC: Program Priority Register supportAdhemerval Zanella2013-05-241-0/+30
| | | | | This patch add inline functions to change the Program Priority Register from ISA 2.05.
* PowerPC: Add functions for shared resources hints.Edjunior Machado2013-05-231-0/+32
|
* Update bits/siginfo.h with Linux hwpoison SIGBUS changesEdjunior Barbosa Machado2013-05-223-3/+21
| | | | | | Adds new SIGBUS error codes for hardware poison signals, syncing with the current kernel headers (v3.9). It also adds si_trapno field for alpha.
* Don't include expected results in libm-test test names.Joseph Myers2013-05-226-9218/+9218
|
* Set EAI_SYSTEM only when h_errno is NETDB_INTERNALSiddhesh Poyarekar2013-05-211-2/+10
| | | | | | | | | | | | Fixes BZ #15339. NSS_STATUS_UNAVAIL may mean that a necessary input resource is not available. This could occur in a number of cases including when the network is down, system runs out of file descriptors, etc. The correct differentiator in such a case is the h_errno, which gives the nature of failure. In case of failures other than a simple 'not found', we set h_errno as NETDB_INTERNAL and let errno be the identifier for the exact error.
* Faster memset on x64Ondrej Bilka2013-05-201-1315/+90
| | | | | | | | | This implementation speed up memset in several ways. First is avoiding expensive computed jump. Second is using fact that arguments of memset are most of time aligned to 8 bytes. Benchmark results on: kam.mff.cuni.cz/~ondra/benchmark_string/memset_profile_result27_04_13.tar.bz2
* Faster memcpy on x64.Ondrej Bilka2013-05-204-8/+185
| | | | | | | | | We add new memcpy version that uses unaligned loads which are fast on modern processors. This allows second improvement which is avoiding computed jump which is relatively expensive operation. Tests available here: http://kam.mff.cuni.cz/~ondra/memcpy_profile_result27_04_13.tar.bz2
* Fix nearbyint scheduling of arithmetic past fesetenv (bug 15490).Joseph Myers2013-05-195-0/+13
|
* Handle sincos with generic libm-test logic.Joseph Myers2013-05-196-44/+44
|
* Fix remainder exceptions and directed-rounding results (bugs 15480, 15485).Joseph Myers2013-05-171-0/+1
|
* PowerPC: fix hypot/hypotf check for -INFAdhemerval Zanella2013-05-172-6/+6
|
* MIPS: soft-fp NaN representation correctionsMaciej W. Rozycki2013-05-162-0/+2
| | | | | | | | [BZ #15442] This adds support for the inverse interpretation of the quiet bit of IEEE 754 floating-point NaN data that some processors use. This includes in particular MIPS architecture processors; the payload used for the canonical qNaN encoding is updated accordingly so as not to interfere with the quiet bit.
* Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2013-05-1631-5/+33
|
* Use movq for 64-bit operationsPeter Collingbourne2013-05-151-2/+4
| | | | | | | | | | | The EXTRACT_WORDS64 and INSERT_WORDS64 macros use movd for a 64-bit operation. Somehow gcc manages to turn this into movq, but LLVM won't. 2013-05-15 Peter Collingbourne <pcc@google.com> * sysdeps/x86_64/fpu/math_private.h (MOVQ): New macro. (EXTRACT_WORDS64) Use where appropriate. (INSERT_WORDS64) Likewise.
* Use x constraints for operands to vfmaddss and vfmaddsdPeter Collingbourne2013-05-152-2/+2
| | | | | | | | | | | | | | | While these instructions accept memory operands, only one operand may be a memory operand. Giving two operands xm constraints gives the compiler the option of using memory for both operands, which would result in invalid assembly code. Using x for all operands is more appropriate, as most x86_64 calling conventions will pass the arguments in registers anyway. 2013-05-15 Peter Collingbourne <pcc@google.com> * sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm constraints with x constraints. * sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.
* Update s390/bits/siginfo.hEdjunior Machado2013-05-151-3/+7
| | | | | | | | | | 2013-05-15 Edjunior Machado <emachado@linux.vnet.ibm.com> * sysdeps/unix/sysv/linux/s390/bits/siginfo.h (siginfo_t): Remove si_trapno and add si_addr_lsb to _sifields.sigfault. (si_trapno): Remove macro. (si_addr_lsb): Define new macro. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values.