about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Rebuild benchmark sources when Makefile is updatedSiddhesh Poyarekar2013-04-152-1/+9
| | | | | | | | Benchmark programs are generated using parameters from the Makefile, so it is necessary to rebuild them whenever the parameters in the Makefile are updated. Hence, added a dependency for the generated C source on the Makefile so that it gets regenerated when the Makefile is updated.
* BZ#15361: Make aio_fsync not check open modes.Roland McGrath2013-04-124-8/+13
|
* Move bench target to benchtestsSiddhesh Poyarekar2013-04-123-30/+39
| | | | The bench target will only be used within the benchtests directory.
* m68k: update libm test ULPsAndreas Schwab2013-04-112-4/+3600
|
* libm-test.inc: Fix tests where cos(PI/2) != 0.Carlos O'Donell2013-04-114-30/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Extend i486 pthread_cond_timedwait to use futex syscall with absolute timeoutAndreas Schwab2013-04-112-66/+321
|
* Don't accept exp char without preceding digits in scanf float parsingAndreas Schwab2013-04-115-12/+61
|
* Fix invalid free of memory allocated during rtld initAndreas Schwab2013-04-113-5/+17
|
* Don't use run-via-rtld-prefix for anything other than testsSiddhesh Poyarekar2013-04-114-5/+10
| | | | | | | | | | 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.
* Remove evalSiddhesh Poyarekar2013-04-112-1/+5
| | | | It's not needed.
* Accept leading and trailing spaces in getdate input stringSiddhesh Poyarekar2013-04-104-1/+57
| | | | | | | | | | 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.
* BZ#14280: Fix Hurd ioctl macro to avoid warning.Roland McGrath2013-04-082-1/+7
|
* sem_post.c: Include atomic.h.Carlos O'Donell2013-04-072-0/+5
| | | | | | | | | | | | | | 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.
* README.libm-test: Use testrun.sh to run libm test.Carlos O'Donell2013-04-062-2/+4
| | | | | | | | | | | | 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.
* dl_open_worker: Memset all of seen array.Carlos O'Donell2013-04-063-2/+8
| | | | | | | | | | | | | 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.
* fi_FI: Define yesstr, nostrMarko Myllynen2013-04-062-0/+7
| | | | | | | | | | | | | 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.
* New Makefile target `regen-ulps'.Carlos O'Donell2013-04-065-19/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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"?'
* i386: Fail at configure time for i386 builds.Carlos O'Donell2013-04-068-6/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update ChangeLog.Carlos O'Donell2013-04-061-0/+5
| | | | | Update ChangeLog for commit: 24116fcdbe55d58aa35fc77444ae71a9dec9fff6
* s390/s390x: Undef PSEUDO before redef.Carlos O'Donell2013-04-062-0/+2
| | | | | | | | | | | | | | | | | | | 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
* More tests for external charater sequences representing NaNs.Thomas Schwinge2013-04-054-1/+83
|
* Properly collect individual tests' results.Thomas Schwinge2013-04-052-5/+8
| | | | Fixup for commit 003c9895a89e71767ad64bafac1ca99622be2eb7.
* [BZ #14686, #15336] Fix standard compliance. Don't use hard-coded qNaN values.Thomas Schwinge2013-04-055-16/+46
|
* [BZ #15335, #15342] Fix standard compliance. Don't use hard-coded qNaN values.Thomas Schwinge2013-04-054-10/+15
|
* Remove unreachable code.Thomas Schwinge2013-04-052-2/+4
| | | | The case of y == 0 is handled at the beginning of the function.
* Remove unused hard-coded qNaN definition.Thomas Schwinge2013-04-052-2/+5
|
* Add BZ #15337 to NEWSSiddhesh Poyarekar2013-04-041-1/+1
|
* Fix static build when configured with --disable-hidden-pltSiddhesh Poyarekar2013-04-042-1/+9
| | | | | | | | | | | | | | | 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.
* Fix missing underflow from cexp (bug 14478).Joseph Myers2013-04-036-4/+52
|
* Update NEWSAndreas Schwab2013-04-031-0/+3
|
* Fix stack overflow in getaddrinfo with many resultsAndreas Schwab2013-04-033-3/+31
|
* Refer to two GCC PRs.Thomas Schwinge2013-04-033-2/+11
|
* Update bench.out and bench.out.old only upon completionSiddhesh Poyarekar2013-04-032-5/+8
| | | | | | | 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.
* Echo benchmark that is currently runningSiddhesh Poyarekar2013-04-032-0/+3
| | | | This will be useful when the benchmark has many functions.
* Add benchmark inputs for atanSiddhesh Poyarekar2013-04-035-1/+44
| | | | Add separate inputs for slow and fast paths of atan
* Remove TWOSiddhesh Poyarekar2013-04-033-3/+5
| | | | | Minor cleanup to remove the macro TWO and use the value directly instead.
* Preserve errno across _PC_CHOWN_RESTRICTED call on XFSSiddhesh Poyarekar2013-04-034-1/+25
| | | | | | | | | | | | | | 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.
* Fix cacosh inaccuracy and spurious exceptions (bug 15327).Joseph Myers2013-04-028-117/+2287
|
* Use mantissa_t in mpexpSiddhesh Poyarekar2013-04-023-3/+7
|
* Add benchmark inputs for sinSiddhesh Poyarekar2013-04-025-1/+52
|
* Add benchmark tests for slowpow and slowexpSiddhesh Poyarekar2013-04-028-6/+77
| | | | | | | 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.
* Add missing ChangeLog from commit 60c414c346a1d5ef0510ffbdc0ab75f288ee4d3fAdhemerval Zanella2013-04-021-0/+10
|
* New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge2013-04-0249-16/+692
| | | | It is based on draft TS 18661 and currently enabled as a GNU extension.
* PowerPC: remove branch prediction from rint implementationAdhemerval Zanella2013-04-016-13/+22
| | | | | | | | 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.
* Update German translations.David S. Miller2013-03-302-3/+7
| | | | * po/de.po: Update from translation team.
* Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).Joseph Myers2013-03-308-301/+3417
|
* Remove usage of ONE macroSiddhesh Poyarekar2013-03-292-1/+4
| | | | I missed this instance, which caused a build failure in powerpc.
* Remove ONE and MONESiddhesh Poyarekar2013-03-298-22/+29
|
* Format s_tan.cSiddhesh Poyarekar2013-03-292-405/+730
|
* Remove ZERO and MZERO macrosSiddhesh Poyarekar2013-03-298-63/+71
|