about summary refs log tree commit diff
path: root/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* PowerPC: Add time vDSO supportAdhemerval Zanella2013-05-034-3/+70
| | | | | | | | PowerPC kernel now provides a vDSO implementation for time syscall (commit fcb41a2030abe0eb716ef0798035ef9562097f42). This patch changes time syscall wrapper to use the vDSO when available. It also changes the default non vDSO time on PowerPC to use sysdeps/posix/time.c (since gettimeofday is a vDSO call).
* Sync with Linux 3.9Andreas Jaeger2013-05-032-1/+4
| | | | | | | | * sysdeps/gnu/netinet/tcp.h (TCP_TIMESTAMP): New value, from Linux 3.9. * sysdeps/unix/sysv/linux/bits/socket.h (PF_VSOCK, AF_VSOCK): Add. (PF_MAX): Adjust for VSOCK change.
* Update powerpc libm-test ULPsAdhemerval Zanella2013-05-031-0/+96
|
* Update Sparc ULPs.David S. Miller2013-05-021-24/+4125
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Add missing #include in sysdeps/posix/opendir.c.Roland McGrath2013-05-011-0/+1
|
* Fix catan, catanh spurious underflows (bug 15423).Joseph Myers2013-05-012-0/+376
|
* Update powerpc libm-test ULPsAdhemerval Zanella2013-04-301-2/+414
|
* Fix catan, catanh inaccuracy from atan2 denominators near 0 (bug 15416).Joseph Myers2013-04-302-2/+524
|
* Format s_sin.cSiddhesh Poyarekar2013-04-301-904/+1212
|
* Update powerpc libm-test ULPsAdhemerval Zanella2013-04-291-27/+3318
|
* Fix catan, catanh spurious overflows (bug 15409).Joseph Myers2013-04-272-0/+132
|
* Update i386 libm-test ULPsAllan McRae2013-04-271-0/+80
|
* PowerPC: modf optimization fixAdhemerval Zanella2013-04-264-0/+4
| | | | | | | This patch fix the 3c0265394d9ffedff2b0de508602dc52e077ce5c commits by correctly setting minimum architecture for modf PPC optimization to power5+ instead of power5 (since only on power5+ round/ceil will be inline to inline assembly).
* Update x86_64 ULPsMarkus Trippelsdorf2013-04-261-0/+244
| | | | | | 2013-04-26 Markus Trippelsdorf <markus@trippelsdorf.de> * sysdeps/x86_64/fpu/libm-test-ulps: Update.
* Move x86_64-specific audit tests to sysdeps/x86_64/.Joseph Myers2013-04-2517-0/+1515
|
* Get rid of __STDC_FORMAT_MACROS, __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROSPaul Pluzhnikov2013-04-252-20/+0
|
* Fix catan, catanh inaccuracy through use of log (bug 15394).Joseph Myers2013-04-242-0/+4
|
* Fix name space use in last commit.Roland McGrath2013-04-231-1/+1
|
* Add generic POSIX implementation of C11 timespec_get.Roland McGrath2013-04-231-0/+38
|
* PowerPC: modf optimizationAdhemerval Zanella2013-04-234-0/+108
| | | | | This patch implements modf/modff optimization for POWER by focus on FP operations instead of relying in integer ones.
* S/390: Change struct statfs[64] member types to unsigned valuesHeiko Carstens2013-04-231-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Minor cleanup in getaddrinfoSiddhesh Poyarekar2013-04-221-3/+4
| | | | | Replace repeated computations of alloca size with a local variable that stores the computed value.
* Remove __wur from setfsuid and setfsgid.Adam Conrad2013-04-181-2/+2
|
* Configuring for i386 is no longer supported.Carlos O'Donell2013-04-172-2/+22
| | | | | | | | | | | | | | | | | 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.
* BZ#15361: Make aio_fsync not check open modes.Roland McGrath2013-04-121-5/+2
|
* libm-test.inc: Fix tests where cos(PI/2) != 0.Carlos O'Donell2013-04-112-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* BZ#14280: Fix Hurd ioctl macro to avoid warning.Roland McGrath2013-04-081-1/+1
|
* i386: Fail at configure time for i386 builds.Carlos O'Donell2013-04-062-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 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
* [BZ #14686, #15336] Fix standard compliance. Don't use hard-coded qNaN values.Thomas Schwinge2013-04-052-12/+10
|
* [BZ #15335, #15342] Fix standard compliance. Don't use hard-coded qNaN values.Thomas Schwinge2013-04-052-9/+9
|
* Remove unreachable code.Thomas Schwinge2013-04-051-2/+1
| | | | The case of y == 0 is handled at the beginning of the function.
* Remove unused hard-coded qNaN definition.Thomas Schwinge2013-04-051-2/+0
|
* Fix stack overflow in getaddrinfo with many resultsAndreas Schwab2013-04-031-2/+21
|
* Refer to two GCC PRs.Thomas Schwinge2013-04-032-2/+4
|
* Remove TWOSiddhesh Poyarekar2013-04-032-3/+1
| | | | | Minor cleanup to remove the macro TWO and use the value directly instead.
* Preserve errno across _PC_CHOWN_RESTRICTED call on XFSSiddhesh Poyarekar2013-04-032-0/+13
| | | | | | | | | | | | | | 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-022-57/+1634
|
* Use mantissa_t in mpexpSiddhesh Poyarekar2013-04-022-3/+4
|
* New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge2013-04-0218-0/+345
| | | | It is based on draft TS 18661 and currently enabled as a GNU extension.
* PowerPC: remove branch prediction from rint implementationAdhemerval Zanella2013-04-014-12/+12
| | | | | | | | 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.
* Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).Joseph Myers2013-03-302-297/+2265
|
* Remove usage of ONE macroSiddhesh Poyarekar2013-03-291-1/+1
| | | | I missed this instance, which caused a build failure in powerpc.
* Remove ONE and MONESiddhesh Poyarekar2013-03-297-22/+20
|
* Format s_tan.cSiddhesh Poyarekar2013-03-291-405/+728
|
* Remove ZERO and MZERO macrosSiddhesh Poyarekar2013-03-297-63/+61
|
* Format s_atan.cSiddhesh Poyarekar2013-03-291-151/+246
|
* Format e_log.cSiddhesh Poyarekar2013-03-291-95/+133
|
* Use __ehdr_start, if available, as fallback for AT_PHDR.Roland McGrath2013-03-281-8/+14
|
* Make _dl_phdr pointer to const.Roland McGrath2013-03-282-2/+2
|