Package: oo2c Version: 1.5.9-4.1 Severity: serious Justification: FTBFS My NMU upload of oo2c successfully built on all architectures, except for oo2c where it fails in the second stage build due to generation of invalid C code:
[...] /usr/bin/libtool gcc -pipe -D_REENTRANT -I/usr/include/gc -O2 -DUSE_GC=1 -Istage2 -Ilib -I- -c stage2/RealMath.c *** Warning: inferring the mode of operation is deprecated. *** Future versions of Libtool will require -mode=MODE be specified. gcc -pipe -D_REENTRANT -I/usr/include/gc -O2 -DUSE_GC=1 -Istage2 -Ilib -I- -c stage2/RealMath.c -fPIC -DPIC -o .libs/RealMath.o cc1: note: obsolete option -I- used, please use -iquote instead stage2/RealMath.c: In function 'RealMath_init': stage2/RealMath.c:1134: error: 'NaN' undeclared (first use in this function) stage2/RealMath.c:1134: error: (Each undeclared identifier is reported only once stage2/RealMath.c:1134: error: for each function it appears in.) stage2/RealMath.c:1134: error: syntax error before numeric constant Error: C compiler reported error, aborting make[1]: *** [liboo2c] Error 1 [...] A full build log can be found at <http://buildd.debian.org/fetch.php?&pkg=oo2c&ver=1.5.9-4.1&arch=powerpc&stamp=1126678157&file=log&as=raw>. This build failure is reproducible on bruckner.d.o. The final failure is caused by wrong C code generation by oo2c; I haven't succeeded in tracking down the root cause, however. Here is a diff of the generated C code between a working version on i386, and the broken powerpc version: --- stage2/RealMath.c 2005-09-22 04:33:37.000000000 -0700 +++ /home/vorlon/RealMath.c 2005-09-22 04:37:24.000000000 -0700 @@ -1131,50 +1131,50 @@ i1 = (int)RealMath__a1 + 8; *(float*)i0 = 1.00000000F; i0 = (int)RealMath__a1 + 12; - *(float*)i1 = 9.57603276E-1F; + *(float*)i1 = NaN.0F; i1 = (int)RealMath__a1 + 16; - *(float*)i0 = 9.17004049E-1F; + *(float*)i0 = 9.57603276E-1F; i0 = (int)RealMath__a1 + 20; - *(float*)i1 = 8.78126085E-1F; + *(float*)i1 = 9.17004049E-1F; i1 = (int)RealMath__a1 + 24; - *(float*)i0 = 8.40896428E-1F; + *(float*)i0 = 8.78126085E-1F; i0 = (int)RealMath__a1 + 28; - *(float*)i1 = 8.05245161E-1F; + *(float*)i1 = 8.40896428E-1F; i1 = (int)RealMath__a1 + 32; - *(float*)i0 = 7.71105409E-1F; + *(float*)i0 = 8.05245161E-1F; i0 = (int)RealMath__a1 + 36; - *(float*)i1 = 7.38413095E-1F; + *(float*)i1 = 7.71105409E-1F; i1 = (int)RealMath__a1 + 40; - *(float*)i0 = 7.07106769E-1F; + *(float*)i0 = 7.38413095E-1F; i0 = (int)RealMath__a1 + 44; - *(float*)i1 = 6.77127779E-1F; + *(float*)i1 = 7.07106769E-1F; i1 = (int)RealMath__a1 + 48; - *(float*)i0 = 6.48419797E-1F; + *(float*)i0 = 6.77127779E-1F; i0 = (int)RealMath__a1 + 52; - *(float*)i1 = 6.20928884E-1F; + *(float*)i1 = 6.48419797E-1F; i1 = (int)RealMath__a1 + 56; - *(float*)i0 = 5.94603539E-1F; + *(float*)i0 = 6.20928884E-1F; i0 = (int)RealMath__a1 + 60; - *(float*)i1 = 5.69394290E-1F; + *(float*)i1 = 5.94603539E-1F; i1 = (int)RealMath__a1 + 64; - *(float*)i0 = 5.45253873E-1F; + *(float*)i0 = 5.69394290E-1F; i0 = (int)RealMath__a1 + 68; - *(float*)i1 = 5.22136867E-1F; + *(float*)i1 = 5.45253873E-1F; i1 = (int)RealMath__a2 + 4; *(float*)i0 = 5.00000000E-1F; i0 = (int)RealMath__a2 + 8; - *(float*)i1 = 4.92266405E-9F; + *(float*)i1 = 0.00000000F; i1 = (int)RealMath__a2 + 12; - *(float*)i0 = 5.49867600E-8F; + *(float*)i0 = 4.92266405E-9F; i0 = (int)RealMath__a2 + 16; - *(float*)i1 = 4.91810859E-9F; + *(float*)i1 = 5.49867600E-8F; i1 = (int)RealMath__a2 + 20; - *(float*)i0 = 3.71001505E-8F; + *(float*)i0 = 4.91810859E-9F; i0 = (int)RealMath__a2 + 24; - *(float*)i1 = 5.45429693E-8F; + *(float*)i1 = 3.71001505E-8F; i1 = (int)RealMath__a2 + 28; - *(float*)i0 = 2.24841905E-8F; + *(float*)i0 = 5.45429693E-8F; i0 = (int)RealMath__a2 + 32; - *(float*)i1 = 2.69311116E-8F; - *(float*)i0 = 2.41673490E-8F; + *(float*)i1 = 2.24841905E-8F; + *(float*)i0 = 2.69311116E-8F; } Maybe the diff will help you more than it helped me... -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
signature.asc
Description: Digital signature