This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
x86 Testsuite Failures
- From: Greg Schafer <gschafer at zip dot com dot au>
- To: libc-alpha at sources dot redhat dot com
- Date: Sun, 20 May 2007 18:57:11 +1000
- Subject: x86 Testsuite Failures
Hi
This report is for x86 running under a 2.6.21 kernel on AMD Athlon 64 X2
4200+ hardware.
Compiling Glibc-2.6 release with GCC-4.2 and HJL Binutils-2.17.50.0.16 I'm
seeing testsuite failures which seem to depend upon the -march switch and/or
-O optimization level as follows:
CFLAGS="-O2 -march=i486" - clean
CFLAGS="-O2 -march=i686" - 1 failure i.e.
make[2]: *** [/home/pkgmgr/glibc-build/math/test-double.out] Error 1
which looks like:
testing double (without inline functions)
Failure: Real part of: cacos (inf + inf i) == pi/4 - inf i: Exception "Invalid operation" set
Failure: Real part of: cacosh (-inf - inf i) == inf - 3/4 pi i: Exception "Invalid operation" set
Failure: Real part of: cacosh (inf - inf i) == inf - pi/4 i: Exception "Invalid operation" set
Failure: Real part of: cacosh (-10.0 - inf i) == inf - pi/2 i: Exception "Invalid operation" set
Failure: Real part of: casin (0 - inf i) == 0.0 - inf i: Exception "Invalid operation" set
Failure: Real part of: casinh (0 - inf i) == inf - pi/2 i: Exception "Invalid operation" set
Failure: Real part of: catan (inf - 10.0 i) == pi/2 - 0 i: Exception "Invalid operation" set
Failure: Real part of: catanh (-10.0 + inf i) == -0 + pi/2 i: Exception "Invalid operation" set
Failure: Real part of: clog10 (-0 + 0 i) == -inf + pi i plus division by zero exception: Exception "Invalid operation" set
Failure: Real part of: clog (inf - inf i) == inf - pi/4 i: Exception "Invalid operation" set
Pumping up the optimization results in 2 additional failures:
CFLAGS="-O3 -march=i486" - 2 failures i.e.
make[2]: *** [/home/pkgmgr/glibc-build/math/test-ildoubl.out] Error 1
make[2]: *** [/home/pkgmgr/glibc-build/math/test-ldouble.out] Error 1
which both look similar to this:
testing long double (inline functions)
Failure: Test: j0 (10.0) == -0.245935764451348335197760862485328754
Result:
is: -2.45935764451348335183e-01 -0xf.bd695c4f0f29c1800000p-6
should be: -2.45935764451348335197e-01 -0xf.bd695c4f0f29c1900000p-6
difference: 1.35525271560688054251e-20 0x8.00000000000000000000p-69
ulp : 1.0000
max.ulp : 0.0000
Failure: Test: jn (0, 10.0) == -0.245935764451348335197760862485328754
Result:
is: -2.45935764451348335183e-01 -0xf.bd695c4f0f29c1800000p-6
should be: -2.45935764451348335197e-01 -0xf.bd695c4f0f29c1900000p-6
difference: 1.35525271560688054251e-20 0x8.00000000000000000000p-69
ulp : 1.0000
max.ulp : 0.0000
I'm also seeing intermittent failures in 2 other tests:
make[2]: *** [/temptools/src/glibc-build/posix/tst-vfork3.out] Error 1
script 1
script 1
script 1
script 1
script 1
script 2
script 2
script 2
script 2
script 2
script 3
script 3
script 3
script 3
script 3
echo failed with status 512
make[2]: *** [/temptools/src/glibc-build/rt/tst-cpuclock2.out] Error 1
live thread clock ffffa08e resolution 0.000000001
live thread before sleep => 0.000000000
self thread before sleep => 0.004000000
live thread after sleep => 0.500000000
self thread after sleep => 0.004000000
clock_nanosleep on process slept 96000000 (outside reasonable range)
Maybe the math failures are GCC bugs? Dunno. The 2 intermittent failures
might be kernel bugs, not sure. Anyhow, just thought I'd post my results
FYI. Unless I'm mistaken, I note that Fedora rawhide hasn't yet upgraded to
GCC-4.2 so it's possible Jakub is yet to see some of these failures.
Regards
Greg