On Sun, 11 Feb 2018, Jean-Michel Vourg?re wrote: > Hi > > Last build of rrdtool failed on m68k, because gcc IEEE stack pre-check fails > [1]. > > The autoconf runs this: > > #include <stdio.h> > int main(void){ > double rrdnan,rrdinf,rrdc,rrdzero; > ; > /* some math to see if we get a floating point exception */ > rrdzero=sin(0.0); /* don't let the compiler optimize us away */ > rrdnan=0.0/rrdzero; /* especially here */ > rrdinf=1.0/rrdzero; /* and here. I want to know if it can do the magic */ > /* at run time without sig fpe */ > rrdc = rrdinf + rrdnan; > rrdc = rrdinf / rrdnan; > if (! isnan(rrdnan)) {printf ("not isnan(NaN) ... "); return 1;} > if (rrdnan == rrdnan) {printf ("nan == nan ... "); return 1;} > if (! isinf(rrdinf)) {printf ("not isinf(oo) ... "); return 1;} > if (! isinf(-rrdinf)) {printf ("not isinf(-oo) ... "); return 1;} > if (! rrdinf > 0) {printf ("not inf > 0 ... "); return 1;} > if (! -rrdinf < 0) {printf ("not -inf < 0 ... "); return 1;} > return 0; > } > > This returned 0 in previous builds [2], but now we get > "not isinf(oo)" > > I can't find anything changed upstream in these tests compared to last > successfull build. > > Any ideas/thoughts? >
This seems to be a regression in Debian's C compiler. I came across a similar failure recently, which we found using the 'paranoia' floating point test suite from netlib.org. The C version of 'paranoia' when run on a machine with physical 68882 works fine when built with an old compiler. And the Fortran version (dpara.f) built with a recent f77 compiler also works fine on physical 68882. But recent Debian C compilers for m68k don't give the expected results. BTW, it could be that running test suites on 680x0 emulators is contributing to the problem. For example, dpara.f under Qemu prints some weird output: Searching for overflow threshold: Can " z = -y " overflow? trying it on y = -i.f^@^@^@^D^@^@^@E+00 Seems O.K. Overflow threshold is v = 1.79769313+308 Overflow saturates at sat = i.f^@769313+308 I haven't tried this under Aranym. [Jean-Michel, Stan, please note that there is a bug tracker entry for this issue now, #890466, Cc'd]. > > > [1] Last failed build: > https://buildd.debian.org/status/fetch.php? > pkg=rrdtool&arch=m68k&ver=1.7.0-1&stamp=1518247574&raw=0 > > [2] Previous build, sucessfull: > https://buildd.debian.org/status/fetch.php? > pkg=rrdtool&arch=m68k&ver=1.6.0-1%2Bb3&stamp=1500859583&raw=0 --