aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-23Add generic POSIX implementation of C11 timespec_get.Roland McGrath
2013-04-23PowerPC: modf optimizationAdhemerval Zanella
This patch implements modf/modff optimization for POWER by focus on FP operations instead of relying in integer ones.
2013-04-23Consistently use ISSPACE to check for whitespaceSiddhesh Poyarekar
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.
2013-04-23Remove non-standard initialisation of flexible array memberAndreas Schwab
This avoids GCC bug 28865.
2013-04-23S/390: Change struct statfs[64] member types to unsigned valuesHeiko Carstens
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>
2013-04-22Fix getent to call endspent rather than endpwent for shadow database.Jan-Benedict Glaw
2013-04-22Consolidate pthread_attr value validationSiddhesh Poyarekar
Define inline functions that wrap around validation for each of the pthread attributes to reduce duplication in code.
2013-04-22Minor cleanup in getaddrinfoSiddhesh Poyarekar
Replace repeated computations of alloca size with a local variable that stores the computed value.
2013-04-21Russian translations update.David S. Miller
* po/ru.po: Update Russion translation from translation project.
2013-04-19ARM: Macroize assembly use of EABI unwind directives.Roland McGrath
2013-04-18Remove __wur from setfsuid and setfsgid.Adam Conrad
2013-04-18MicroBlaze PortDavid Holsgrove
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2013-04-17Update ChangeLog.Carlos O'Donell
Update ChangeLog for 0f122b8d12875181a4fba3449e3549d34d3dc398.
2013-04-17Configuring for i386 is no longer supported.Carlos O'Donell
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.
2013-04-17Add benchmark inputs for cos and tanSiddhesh Poyarekar
2013-04-16Don't test O_RDONLY case in tst-aio7.Roland McGrath
2013-04-16Define NOT_IN_libc when compiling benchmark programsSiddhesh Poyarekar
2013-04-16Add target bench-cleanSiddhesh Poyarekar
2013-04-16Adding MicroBlaze support to elf/elf.hDavid Holsgrove
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2013-04-15Fix coding-style violation.Thomas Schwinge
Introduced in commit ee091edf1a16312fff0cc3c6ae0116aded7f1dbf.
2013-04-15Properly check for short writes when sending the response in nscdAndreas Schwab
2013-04-15Write to bench.out-tmp only onceSiddhesh Poyarekar
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.
2013-04-15nscd: don't fork twiceAndreas Schwab
2013-04-15Fix off-by-one bug in tst-fwrite-errorSiddhesh Poyarekar
tst-fwrite-error did not allocate enough space for the string 'world' and its NULL terminator. Fixed.
2013-04-15Rebuild benchmark sources when Makefile is updatedSiddhesh Poyarekar
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.
2013-04-12BZ#15361: Make aio_fsync not check open modes.Roland McGrath
2013-04-12Move bench target to benchtestsSiddhesh Poyarekar
The bench target will only be used within the benchtests directory.
2013-04-11m68k: update libm test ULPsAndreas Schwab
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