aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-11libm-test.inc: Fix tests where cos(PI/2) != 0.Carlos O'Donell
The value of PI is never exactly PI in any floating point representation, and the value of PI/2 is never PI/2. It is wrong to expect cos(M_PI_2l) to return 0, instead it will return an answer that is non-zero because M_PI_2l doesn't round to exactly PI/2 in the type used. That is to say that the correct answer is to do the following: * Take PI or PI/2. * Round to the floating point representation. * Take the rounded value and compute an infinite precision cos or sin. * Use the rounded result of the infinite precision cos or sin as the answer to the test. I used printf to do the type rounding, and Wolfram's Alpha to do the infinite precision cos calculations. The following changes bring x86-64 and x86 to 1/2 ulp for two tests. It shows that the x86 cos implementation is quite good, and that our test are flawed. Unfortunately given that the rounding errors are type dependent we need to fix this for each type. No regressions on x86-64 or x86. --- 2013-04-11 Carlos O'Donell <carlos@redhat.com> * math/libm-test.inc (cos_test): Fix PI/2 test. (sincos_test): Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Regenerate. * sysdeps/i386/fpu/libm-test-ulps: Regenerate.
2013-04-11Extend i486 pthread_cond_timedwait to use futex syscall with absolute timeoutAndreas Schwab
2013-04-11Don't accept exp char without preceding digits in scanf float parsingAndreas Schwab
2013-04-11Fix invalid free of memory allocated during rtld initAndreas Schwab
2013-04-11Don't use run-via-rtld-prefix for anything other than testsSiddhesh Poyarekar
run-via-rtld-prefix checks whether the program to be run is a static test and skips if it is. This is fine, except that it assumes that the program to be run is the second $^, which is true only for tests. This change creates an rtld-prefix, which is simply the dynamic linker prefix with the necessary arguments and uses that in the non-test targets.
2013-04-11Remove evalSiddhesh Poyarekar
It's not needed.
2013-04-10Accept leading and trailing spaces in getdate input stringSiddhesh Poyarekar
Fixes #15346. The POSIX description of getdate allows for extra spaces in the getdate input string. __getdate_r uses strptime internally, which works fine with extra spaces between format strings (and hence within an input string) but not with leading and trailing spaces. So we trim off the leading and trailing spaces before we pass it on to strptime.
2013-04-08BZ#14280: Fix Hurd ioctl macro to avoid warning.Roland McGrath
2013-04-07sem_post.c: Include atomic.h.Carlos O'Donell
The sem_post.c file uses atomic functions without including atomic.h. Add `#include <atomic.h>' to the file to prevent any compile time warnings when other headers change and atomic.h isn't implicitly included. --- nptl/ 2013-04-07 Carlos O'Donell <carlos@redhat.com> * sysdeps/unix/sysv/linux/sem_post.c: Include atomic.h.
2013-04-06README.libm-test: Use testrun.sh to run libm test.Carlos O'Donell
Document the use of the convenience testrun.sh script for running the libm test. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> * math/README.libm-test (How can I generate "libm-test-ulps"?): Use testrun.sh to run libm tests.
2013-04-06dl_open_worker: Memset all of seen array.Carlos O'Donell
The seen array was doubled in size recently, but the memset to clear the array was not adjusted. We adjust the memset to always be correct regardless of the size of seen. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> [BZ #15309] * elf/dl-open.c (dl_open_worker): memset all of seen array.
2013-04-06fi_FI: Define yesstr, nostrMarko Myllynen
Define yesstr/nostr in fi_FI (as "Kyllä" and "Ei"). Fixes part of BZ#15264. --- 2013-04-06 Marko Myllynen <myllynen@redhat.com> [BZ #15264] * locales/fi_FI (LC_MESSAGES): Define yesstr and nostr.
2013-04-06New Makefile target `regen-ulps'.Carlos O'Donell
The wiki "Regeneration" page has this to say about update ULPs. "The libm-test-ulps files are semiautomatically updated. To update an ulps baseline, run each of the failing tests (test-float, test-double, etc.) with -u; this will generate a file called ULPs; concatenate each of those files with the existing libm-test-ulps file, after removing any entries for particularly huge numbers of ulps that you do not want to mark as expected. Then run gen-libm-test.pl -n -u FILE where FILE is the concatenated file produced in the previous step. This generates a file called NewUlps which is the new sorted version of libm-test-ulps." The same information is listed in math/README.libm-test, and is a lot of manual work that you often want to run over-and-over again while working on a particular test. The `regen-ulps' convenience target does this automatically for developers. We strictly assume the source tree is readonly and add a new --output-dir option to libm-test.inc to allow for writing out ULPs to $(objpfx). When run the new target does the following: * Starts with the baseline ULPs file. * Runs each of the libm math tests with -u. * Adds new changes seen with -u to the baseline. * Sorts and prepares the test output with gen-libm-test.pl. * Leaves math/NewUlps in your build tree to copy to your source tree, cleanup, and checkin. The math test documentation in math/README.libm-test is updated document the new Makefile target. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> * Makefile.in (regen-ulps): New target. * math/Makefile [ifneq (no,$(PERL)]: Declare regen-ulps with .PHONY. [ifneq (no,$(PERL)] (run-regen-ulps): New variable. [ifneq (no,$(PERL)] (regen-ulps): New target. [ifeq (no,$(PERL)] (regen-ulps): New target. * math/libm-test.inc (ulps_file_name): Define. (output_dir): New variable. (options): Add "output-dir" option. (parse_opt): Handle 'o' case. (main): If output_dir is non-NULL use it as a prefix otherwise use "". * math/README.libm-test: Update `How can I generate "libm-test-ulps"?'
2013-04-06i386: Fail at configure time for i386 builds.Carlos O'Donell
This change does two things: * Treats a target i386-* as if it were i686. * Fails configure if the user is generating code for i386. We no longer support i386 code-generation because the i386 lacks the atomic operations we need in glibc. You can still configure for i386-*, but you get i686 code. You can't build with --march=i386, --mtune=i386 or a compiler that defaults to i386 code-generation. I've added two i386 entries in the master todo list to discuss merging and renaming: http://sourceware.org/glibc/wiki/Development_Todo/Master#i386 The failure modes are fail-safe here. You compile for i386, get i686, and try to run on i386 and it fails. The configure log has a warning saying we elided to i686. There is no situation that I can see where we run into any serious problems. The patch makes the current state better in that we get less confused users and we build successfully in more default configurations. The next enhancement would be to add --march=i?86 as suggested in #c20 of BZ#10062 for any i?86-* builds, which would solve the problem of a 32-bit compiler that defaults to i386 code-gen and glibc configured for i686-* target. Which previously failed at build time, and now will fail at configure time (requires adding --march=i686). Updated NEWS with BZ #10060 and #10062. No regressions. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> [BZ #10060, #10062] * aclocal.m4 (LIBC_COMPILER_BUILTIN_INLINED): New macro. * sysdeps/i386/configure.in: Use LIBC_COMPILER_BUILTIN_INLINED and fail configure if __sync_val_compare_and_swap is not inlined. * sysdeps/i386/configure: Regenerate. * configure.in: Build for i686 when configured for i386. * configure: Regenerate. * README: Remove i386 reference.
2013-04-06Update ChangeLog.Carlos O'Donell
Update ChangeLog for commit: 24116fcdbe55d58aa35fc77444ae71a9dec9fff6
2013-04-06s390/s390x: Undef PSEUDO before redef.Carlos O'Donell
The s390 and s390x sysdep.h files include the more generic sysdep.h. The more generic sysdep.h defines PSEUDO. This causes an annoying CPP warning saying the PSEUDO was redefined. This patch removes the warning by undefining PSEUDO before the redefinition. This is in line with what all the other machines do. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> * sysdeps/s390/s390-32/sysdep.h: Undefine PSEUDO before redefinition. * sysdeps/s390/s390-64/sysdep.h: Likewise. Notes: Added ChangeLog with this commit: b7a329a5614d9001abcc3300a3da548a0865a3ac
2013-04-05More tests for external charater sequences representing NaNs.Thomas Schwinge
2013-04-05Properly collect individual tests' results.Thomas Schwinge
Fixup for commit 003c9895a89e71767ad64bafac1ca99622be2eb7.
2013-04-05[BZ #14686, #15336] Fix standard compliance. Don't use hard-coded qNaN values.Thomas Schwinge
2013-04-05[BZ #15335, #15342] Fix standard compliance. Don't use hard-coded qNaN values.Thomas Schwinge
2013-04-05Remove unreachable code.Thomas Schwinge
The case of y == 0 is handled at the beginning of the function.
2013-04-05Remove unused hard-coded qNaN definition.Thomas Schwinge
2013-04-04Add BZ #15337 to NEWSSiddhesh Poyarekar
2013-04-04Fix static build when configured with --disable-hidden-pltSiddhesh Poyarekar
Fixes BZ #15337. Static builds fail with the following warning: /home/tools/glibc/glibc/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:80: undefined reference to `__GI___pthread_unwind' When the source is configured with --disable-hidden-plt. This is because the preprocessor conditional in cancellation.S only checks if the build is for SHARED, whereas hidden_def is defined appropriately only for a SHARED build that will have symbol versioning *and* hidden defs are enabled. The last case is false here.
2013-04-03Fix missing underflow from cexp (bug 14478).Joseph Myers
2013-04-03Update NEWSAndreas Schwab
2013-04-03Fix stack overflow in getaddrinfo with many resultsAndreas Schwab
2013-04-03Refer to two GCC PRs.Thomas Schwinge
2013-04-03Update bench.out and bench.out.old only upon completionSiddhesh Poyarekar
Write output from the currently running benchmark into a temporary file and move files around only once the current run is complete. That way we don't lose data from the last two runs due to an incomplete run.
2013-04-03Echo benchmark that is currently runningSiddhesh Poyarekar
This will be useful when the benchmark has many functions.
2013-04-03Add benchmark inputs for atanSiddhesh Poyarekar
Add separate inputs for slow and fast paths of atan
2013-04-03Remove TWOSiddhesh Poyarekar
Minor cleanup to remove the macro TWO and use the value directly instead.
2013-04-03Preserve errno across _PC_CHOWN_RESTRICTED call on XFSSiddhesh Poyarekar
Fix BZ #15305. On kernel versions earlier than 2.6.29, the Linux kernel exported a sysctl called restrict_chown for xfs, which could be used to allow chown to users other than the owner. 2.6.29 removed this support, causing the open_not_cancel_2 to fail and thus modify errno. The fix is to save and restore errno so that the caller sees it as unmodified. Additionally, since the code to check the sysctl is not useful on newer kernels, we add an ifdef so that in future the code block gets rmeoved completely.
2013-04-02Fix cacosh inaccuracy and spurious exceptions (bug 15327).Joseph Myers
2013-04-02Use mantissa_t in mpexpSiddhesh Poyarekar
2013-04-02Add benchmark inputs for sinSiddhesh Poyarekar
2013-04-02Add benchmark tests for slowpow and slowexpSiddhesh Poyarekar
Separate benchmarks for the fast and slow implementations of pow and exp since measuring both together doesn't make sense. Adjust the iterations for pow and exp accordingly so that they run long enough for the measurements to be meaningful.
2013-04-02Add missing ChangeLog from commit 60c414c346a1d5ef0510ffbdc0ab75f288ee4d3fAdhemerval Zanella
2013-04-02New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-04-01PowerPC: remove branch prediction from rint implementationAdhemerval Zanella
The branch prediction hints is actually hurts performance in this case. The assembly implementation make two assumptions: 1. 'fabs (x) < 2^52' is unlikely and 2. 'x > 0.0' is unlike (if 1. is true). Since it a general floating point function, expected input is not bounded and then it is better to let the hardware handle the branches.
2013-03-30Update German translations.David S. Miller
* po/de.po: Update from translation team.
2013-03-30Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).Joseph Myers
2013-03-29Remove usage of ONE macroSiddhesh Poyarekar
I missed this instance, which caused a build failure in powerpc.
2013-03-29Remove ONE and MONESiddhesh Poyarekar
2013-03-29Format s_tan.cSiddhesh Poyarekar
2013-03-29Remove ZERO and MZERO macrosSiddhesh Poyarekar
2013-03-29Format s_atan.cSiddhesh Poyarekar
2013-03-29Format e_log.cSiddhesh Poyarekar
2013-03-28Avoid unconditional __call_tls_dtors calls in static linking.Roland McGrath
2013-03-28Use __ehdr_start, if available, as fallback for AT_PHDR.Roland McGrath