about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* math: Use accurate answers for cos and sincos.Carlos O'Donell2013-04-242-10/+15
| | | | | | | | | | | | | Use the most accurate hex literals possible for the answers to the cos and sincos tests that vary according to the error in the rounding of PI/2. --- 2013-04-24 Carlos O'Donell <carlos@redhat.com> * math/libm-test.inc (cos_test): Use accurate hex constants. (sincost_test): Likewise.
* Add catan, catanh tests at +/- 1 and +/- i.Joseph Myers2013-04-242-0/+21
|
* Use suffixed floating-point constants in float and long double catan/catanh.Joseph Myers2013-04-245-28/+34
|
* Fix catan, catanh inaccuracy through use of log (bug 15394).Joseph Myers2013-04-2411-10/+130
|
* Mention files in which fast/slow paths of math functions are implementedSiddhesh Poyarekar2013-04-242-12/+17
|
* Fix name space use in last commit.Roland McGrath2013-04-231-1/+1
|
* Add generic POSIX implementation of C11 timespec_get.Roland McGrath2013-04-232-0/+42
|
* PowerPC: modf optimizationAdhemerval Zanella2013-04-237-1/+160
| | | | | This patch implements modf/modff optimization for POWER by focus on FP operations instead of relying in integer ones.
* Consistently use ISSPACE to check for whitespaceSiddhesh Poyarekar2013-04-235-7/+58
| | | | | | | | Resolves #14888. This only really manifests itself when there are no spaces between format specifiers, which is not allowed by POSIX, but is allowed by the glibc implementation.
* Remove non-standard initialisation of flexible array memberAndreas Schwab2013-04-232-1/+14
| | | | This avoids GCC bug 28865.
* S/390: Change struct statfs[64] member types to unsigned valuesHeiko Carstens2013-04-232-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kay Sievers reported that coreutils' stat tool has a problem with s390's statfs[64] definition: > The definition of struct statfs::f_type needs a fix. s390 is the only > architecture in the kernel that uses an int and expects magic > constants lager than INT_MAX to fit into. > > A fix is needed to make Fedora boot on s390, it currently fails to do > so. Userspace does not want to add code to paper-over this issue. [...] > Even coreutils cannot handle it: > #define RAMFS_MAGIC 0x858458f6 > # stat -f -c%t / > ffffffff858458f6 > > #define BTRFS_SUPER_MAGIC 0x9123683E > # stat -f -c%t /mnt > ffffffff9123683e The bug is caused by an implicit sign extension within the stat tool: out_uint_x (pformat, prefix_len, statfsbuf->f_type); where the format finally will be "%lx". A similar problem can be found in the 'tail' tool. s390 is the only architecture which has an int type f_type member in struct statfs[64]. Other architectures have either unsigned ints or long values, so that the problem doesn't occur there. Therefore change the type of the f_type member to unsigned int, so that we get zero extension instead sign extension when assignment to a long value happens. Reported-by: Kay Sievers <kay@vrfy.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* Fix getent to call endspent rather than endpwent for shadow database.Jan-Benedict Glaw2013-04-222-1/+5
|
* Consolidate pthread_attr value validationSiddhesh Poyarekar2013-04-227-29/+98
| | | | | Define inline functions that wrap around validation for each of the pthread attributes to reduce duplication in code.
* Minor cleanup in getaddrinfoSiddhesh Poyarekar2013-04-222-3/+9
| | | | | Replace repeated computations of alloca size with a local variable that stores the computed value.
* Russian translations update.David S. Miller2013-04-212-6/+10
| | | | * po/ru.po: Update Russion translation from translation project.
* ARM: Macroize assembly use of EABI unwind directives.Roland McGrath2013-04-193-15/+31
|
* Remove __wur from setfsuid and setfsgid.Adam Conrad2013-04-182-2/+7
|
* MicroBlaze PortDavid Holsgrove2013-04-18101-0/+12503
| | | | | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
* Update ChangeLog.Carlos O'Donell2013-04-171-2/+2
| | | | Update ChangeLog for 0f122b8d12875181a4fba3449e3549d34d3dc398.
* Configuring for i386 is no longer supported.Carlos O'Donell2013-04-175-22/+32
| | | | | | | | | | | | | | | | | We no longer support configuring for i386, nor do we elide such a configuration to i686. Configuring with i386-* is a failure, and we provide an example of how to fix that. --- 2013-04-17 Carlos O'Donell <carlos@redhat.com> * configure.in: Remove i386 configure warning. Remove i386 case. * configure: Regenerate. * sysdeps/i386/configure.in: Raise error if config_machine is i386. Add example to error message. * sysdeps/i386/configure: Regenerate.
* Add benchmark inputs for cos and tanSiddhesh Poyarekar2013-04-178-1/+89
|
* Don't test O_RDONLY case in tst-aio7.Roland McGrath2013-04-162-16/+6
|
* Define NOT_IN_libc when compiling benchmark programsSiddhesh Poyarekar2013-04-162-0/+9
|
* Add target bench-cleanSiddhesh Poyarekar2013-04-163-1/+9
|
* Adding MicroBlaze support to elf/elf.hDavid Holsgrove2013-04-162-0/+36
| | | | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* Fix coding-style violation.Thomas Schwinge2013-04-152-4/+8
| | | | Introduced in commit ee091edf1a16312fff0cc3c6ae0116aded7f1dbf.
* Properly check for short writes when sending the response in nscdAndreas Schwab2013-04-155-62/+99
|
* Write to bench.out-tmp only onceSiddhesh Poyarekar2013-04-152-4/+9
| | | | | | | | | | | Appending benchmark program output on every run could result in a case where the benchmark run was cancelled, resulting in a partially written file. This file gets used again on the next run, resulting in results being appended to old results. It could have been possible to remove the file before every benchmark run, but it is easier to just write the output to bench.out-tmp only once.
* nscd: don't fork twiceAndreas Schwab2013-04-152-9/+4
|
* Fix off-by-one bug in tst-fwrite-errorSiddhesh Poyarekar2013-04-152-1/+3
| | | | | tst-fwrite-error did not allocate enough space for the string 'world' and its NULL terminator. Fixed.
* 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