[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gcc isinf(1.0/0.0) fails on m68k



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?



[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

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: