about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
...
* Correctly compute ulp near zero.Carlos O'Donell2013-05-242-48/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current value used for ulp near zero is wrong, and this commit fixes it such that ulp(0) is the smallest subnormal value nearest to zero, which makes the most sense for testing values near zero. Note that this is not what Java does; they use the nearest normal value, which is less accurate than what we want for glibc. Note that there is no correct implementation of ulp since there is no strict mathmatical definition that is accepted by all groups using IEEE 754. Previously with the large ulp values near zero there were tests that previously passed, but were in fact billions of ulp away from the precise answer. With this commit we now need to disable one of the cpow tests which is revealed to be inaccurate (bug 14473). --- 2013-05-24 Carlos O'Donell <carlos@redhat.com> * math/libm-test.inc (MAX_EXP): Define. (ULPDIFF): Define. (ulp): New function. (check_float_internal): Use ULPDIFF. (cpow_test): Disable failing test. (check_ulp): Test ulp() implemetnation. (main): Call check_ulp before starting tests.
* tile: improve detection for missing -mcmodel=large supportChris Metcalf2013-05-244-4/+41
| | | | | | | | | | | | | The existing test avoided passing -mcmodel=large if the compiler didn't support it. However, we need to test not just the compiler support, but also the toolchain (as and ld) support, so make the test more complete. In addition, we have to avoid using the hwN_plt() assembly operators if that support is missing, so guard the uses with #ifdef NO_PLT_PCREL. This allows us to properly build glibc with the current community binutils, which doesn't yet have the PC-relative PLT operator support. The -mcmodel=large support is in gcc 4.8, but the toolchain support won't be present in the community until binutils 2.24.
* Remove libm-test START_DATA and END_DATA.Joseph Myers2013-05-243-347/+172
|
* Make libm-test START and END into ordinary macros.Joseph Myers2013-05-243-197/+352
|
* Initialize wide struct info.Ondrej Bilka2013-05-243-3/+12
| | | | | | | | Fixes 15381. Using wide character function is on byte oriented memstream is undefined behaviour. This behaviour was masked by not initializing wide struct info. We now initialize it to cause a predictable crash.
* Add BZ # to ChangeLog for commit 9323d39baea2fb0cca3735136abe263eff405133Ryan S. Arnold2013-05-231-0/+1
|
* PowerPC: Add functions for shared resources hints.Edjunior Machado2013-05-233-0/+63
|
* [AArch64] Fix up ChangeLog formatting for last commit.Marcus Shawcroft2013-05-231-1/+1
|
* [AArch64] Use generic "mcount" routine for profiling.Marcus Shawcroft2013-05-232-25/+4
|
* Update comments in ldconfig.c and dl-hwcaps.c.Carlos O'Donell2013-05-223-8/+16
| | | | | | | | | | | | | | | | | In dl-hwcaps.c the comment read that rounding was done to ElfW(Addr), but it's actually rounded to ElfW(Word). In ldconfig.c we make each comment a sentence and mention that the "tls" pseudo-hwcap is just for legacy installations where TLS was optional. --- 2013-05-22 Carlos O'Donell <carlos@redhat.com> * elf/ldconfig.c (is_hwcap_platform): Make comments full setences. (main): Mention "tls" pseudo-hwcap is legacy. * elf/dl-hwcaps.c (_dl_important_hwcaps): Correct rounding comment.
* Don't include function names in test data in generated libm-test.c.Joseph Myers2013-05-223-132/+327
|
* Update bits/siginfo.h with Linux hwpoison SIGBUS changesEdjunior Barbosa Machado2013-05-2212-8/+89
| | | | | | 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.
* Fix _nl_find_msg malloc failure case, and callers.Carlos O'Donell2013-05-224-7/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two issues, and perhaps should be two distinct commits, but I present it here as one for the sake of completeness. Commit 006dd86111c44572dbd3b26e9c63dd0f834d7762 fails to check malloc's return in intl/dcigettext.c (_nl_find_msg): ~~~ freemem_size = INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) malloc (freemem_size); ... newmem->next = transmem_list; transmem_list = newmem; ~~~ If malloc fails then newmem is NULL then newmem->next results in a fault. The fix is easy enough, check for newmem != NULL, and fall through to the error condition below which returns (char *) -1 e.g. resource error. The problem is that returning (char *) -1 will break all sorts of other code, so while what we did is correct, the real failure case fix is slightly broader. There are 4 other places where _nl_find_msg is called, one is OK, the other three are fixed to handle -1 error return value. No regressions on x86-64 or x86. However, no regressions isn't really a useful metric for this code. The change was tested as documented here: http://sourceware.org/glibc/wiki/Testing/WhiteBox using SystemTap for fault injection to simulate malloc failure. --- 2013-05-03 Carlos O'Donell <carlos at redhat.com> [BZ #15441] * intl/dcigettext.c (DCIGETTEXT): Skip translating if _nl_find_msg returns -1. (_nl_find_msg): Return -1 if recursive call returned -1. If newmem is null return -1. * intl/loadmsgcat.c (_nl_load_domain): If _nl_find_msg returns -1 abort loading the domain.
* Don't include expected results in libm-test test names.Joseph Myers2013-05-2230-18536/+18569
|
* Sort benchmark functionsSiddhesh Poyarekar2013-05-222-41/+44
|
* Add benchmark inputs for math functionsSiddhesh Poyarekar2013-05-2211-1/+97
| | | | | Add benchmark inputs for inverse and hyperbolic trigonometric functions and log.
* Fix MIPS n32 cancellation in static libc (bug 15506).Joseph Myers2013-05-215-17/+96
|
* Test getaddrinfo return valueDmitry V. Levin2013-05-213-1/+74
| | | | | | This helps testing for regression of BZ#15339. Creation of network isolated environments is a privileged operation and therefore is not included to the test.
* Set EAI_SYSTEM only when h_errno is NETDB_INTERNALSiddhesh Poyarekar2013-05-214-10/+26
| | | | | | | | | | | | 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.
* Fix parsing of numeric hosts in gethostbyname_rAndreas Schwab2013-05-216-61/+83
|
* Add a README for benchtestsSiddhesh Poyarekar2013-05-213-20/+81
| | | | Move instructions from the Makefile here and expand on them.
* AArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmpAndreas Schwab2013-05-216-4/+68
|
* [AArch64] Update libm-test-ulps.Marcus Shawcroft2013-05-212-32/+6051
|
* PowerPC: update missing CL/NEWS bug referenceAdhemerval Zanella2013-05-202-1/+2
| | | | | | Update ChangLog bugzilla number and NEWS for commit 13d3b41a36c4f28d171a144f8a9baad3a8835981 (PowerPC: fix hypot/hypotf check for -INF).
* Faster memset on x64Ondrej Bilka2013-05-202-1315/+96
| | | | | | | | | 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-205-8/+195
| | | | | | | | | 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-197-1/+26
|
* Handle sincos with generic libm-test logic.Joseph Myers2013-05-1932-217/+252
|
* Simplify gen-libm-test.pl handling of tests with extra outputs.Joseph Myers2013-05-192-65/+24
|
* Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488).Joseph Myers2013-05-185-10/+13
|
* Make libm-test look up ulps by name at runtime.Joseph Myers2013-05-183-228/+315
|
* Fix remainder exceptions and directed-rounding results (bugs 15480, 15485).Joseph Myers2013-05-174-8/+181
|
* Simplify libm-test extra-output initialization.Joseph Myers2013-05-173-37/+49
|
* Don't handle ulps for integer tests in libm-test.inc.Joseph Myers2013-05-172-15/+8
|
* Test more cases of "inexact" exceptions in libm-test.inc.Joseph Myers2013-05-172-1119/+1205
|
* Prevent optimizing out of benchmark function callSiddhesh Poyarekar2013-05-174-3/+10
| | | | | | | | | | Resolves: #15424 The compiler would optimize the benchmark function call out of the loop and call it only once, resulting in blazingly fast times for some benchmarks (notably atan, sin and cos). Mark the inputs as volatile so that the code is forced to read again from the input for each iteration.
* PowerPC: fix hypot/hypotf check for -INFAdhemerval Zanella2013-05-173-6/+12
|
* MIPS: soft-fp NaN representation correctionsMaciej W. Rozycki2013-05-1615-18/+124
| | | | | | | | [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.
* Test for errno setting in more pole error cases.Joseph Myers2013-05-162-15/+24
|
* Remove ENOSYS tests in libm-test.inc.Joseph Myers2013-05-162-649/+104
|
* Remove libm-test support for TEST_* inside functions.Joseph Myers2013-05-163-90/+53
|
* Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2013-05-16220-12/+528
|
* Convert TEST_extra tests from code to data.Joseph Myers2013-05-162-48/+82
|
* De-stringify constants in math/atest-exp2.c.Richard Henderson2013-05-162-42/+44
|
* Support testing "inexact" exceptions in libm-test.inc.Joseph Myers2013-05-162-392/+421
|
* Test for errno setting in more overflow error cases.Joseph Myers2013-05-162-81/+89
|
* Convert TEST_cc_c tests from code to data.Joseph Myers2013-05-162-14/+41
|
* Convert TEST_f_L tests from code to data.Joseph Myers2013-05-162-769/+797
|
* Remove const attribute on get_log2Peter Collingbourne2013-05-152-1/+4
| | | | This function is not const, as it can modify log2_m and log2_m_inited.
* hppa: Cleanup libm-test-ulps.Carlos O'Donell2013-05-152-420/+3
| | | | | | | | | | | | | | | | Joseph Myers noted that there were several old and really very incorrect values in the hppa libm-test-ulps. This patch removes all of the ulps values for ceil, floor, rint, round, trun, llrint, and llround, all of which were previously incorreclty added (including some negative values which are really wrong). --- ports/ 2013-05-15 Carlos O'Donell <carlos@redhat.com> * sysdeps/hppa/fpu/libm-test-ulps: Remove old values for ceil, floor, rint, round, trunc, llrint, and llround.