soft-fp: Fix used without set warning in _FP_MUL and _FP_DIV
Seen in, e.g. ports/sysdeps/alpha/soft-fp/ots_mul.c.
The problem here is we have a switch on the class of X*Y, followed by
a switch on the class of R. The exponent field of R really is not set
by the first switch for NaN outputs, because we know it's not going to
be used. The compiler is not smart enough to see through this.
By pulling the exponent computation out of the NORMAL*NORMAL path, we
will not be pessimizing the most common case, while still providing an
arbitrary value to satisfy the compiler.
In bdd7898a58bd76ac3b411a4931ff3f9e77eabe6a we added self-definitions
of __isnan and friends in order to indicate specialized architecture
support, and avoid redefinitions within various generic math_private.h.
There is no generic math_private.h that concerns ldbl-128, and while
we provide __isnanl in the alpha math_private.h there's no need to
protect the function against redefinition.
In bdd7898a58bd76ac3b411a4931ff3f9e77eabe6a we added self-definitions
of __isnan and friends in order to indicate specialized architecture
support, and avoid redefinitions within various generic math_private.h.
There is no generic math_private.h that concerns ldbl-128, and while
we provide __isnanl in the alpha math_private.h there's no need to
protect the function against redefinition.
Mike Frysinger [Thu, 29 Nov 2012 04:04:32 +0000 (23:04 -0500)]
byteswap.h: fix gcc ver test for __builtin_bswap{32,64}
The __builtin_bswap* functions were introduced in gcc-4.3, not gcc-4.2.
Fix the __GNUC_PREREQ tests to reflect this.
Otherwise trying to compile code with gcc-4.2 falls down:
In file included from /usr/include/endian.h:60,
from /usr/include/ctype.h:40,
/usr/include/bits/byteswap.h: In function 'unsigned int __bswap_32(unsigned int)':
/usr/include/bits/byteswap.h:46: error: '__builtin_bswap32' was not declared in this scope
/usr/include/bits/byteswap.h: In function 'long long unsigned int __bswap_64(long long unsigned int)':
/usr/include/bits/byteswap.h:110: error: '__builtin_bswap64' was not declared in this scope
Mike Frysinger [Sat, 1 Dec 2012 18:00:08 +0000 (13:00 -0500)]
[BZ #12724] libio: revert partial POSIX 2008 fclose support
In BZ #12724, partial support for POSIX 2008 fclose behavior was added.
Since it isn't entirely conforming to the spec, some applications are
known to be breaking in this intermediate state. So revert the partial
support until we can get things fully implemented.
Mike Frysinger [Thu, 29 Nov 2012 23:12:51 +0000 (18:12 -0500)]
ia64: clock_getcpuclockid.c: drop unused file
Since we no longer support __ASSUME_POSIX_CPU_TIMERS, the ia64 code
no longer needs to override HAS_CPUCLOCK in the common file. Drop
the ia64 shim as well.
Mike Frysinger [Thu, 29 Nov 2012 23:11:17 +0000 (18:11 -0500)]
clock_getcpuclockid: delete unused HAS_CPUCLOCK
In commit 26889eacc24cd9f0cb37c5a67beac1a0ba709adf (Remove
__ASSUME_POSIX_CPU_TIMERS), all users of HAS_CPUCLOCK were
dropped. Punt the fallback definition too.
Jeff Law [Thu, 29 Nov 2012 17:45:34 +0000 (10:45 -0700)]
[BZ #13761]
* nscd/grpcache.c (cache_addgr): Rename alloca_used to
dataset_temporary. Track alloca usage into alloca_used.
If dataset is large allocate and release it via malloc/free.
Marcus Shawcroft [Thu, 29 Nov 2012 10:11:44 +0000 (10:11 +0000)]
aarch64: Use FLAG_AARCH64_LIB64 ldconfig cache tag.
Use the new FLAG_AARCH64_LIB64 ldconfig cache tag for AArch64,
similarly to the way tags are handled for other architectures.
Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org> Reviewed-by: Carlos O'Donell <carlos@systemhalted.org> Signed-off-by: Marcus Shawcroft <marcus.shawcroft@linaro.org>
Jeff Law [Wed, 28 Nov 2012 21:12:28 +0000 (14:12 -0700)]
[BZ #14889]
* sunrpc/rpc/svc.h (__svc_accept_failed): New prototype.
* sunrpc/svc.c: Include time.h.
(__svc_accept_failed): New function.
* sunrpc/svc_tcp.c (rendezvous_request): If the accept fails for
any reason other than EINTR, call __svc_accept_failed.
* sunrpc/svc_udp.c (svcudp_recv): Similarly.
* sunrpc/svc_unix.c (rendezvous_request): Similarly.
Adam Conrad [Sun, 25 Nov 2012 06:58:38 +0000 (23:58 -0700)]
Fix C++ header directory detection for non-standard paths.
Stop assuming specific path layouts for C++ headers, and instead
use an autodetection method that looks for paths with '/[cg]++'
in the g++ include list.