HEADS-UP: gcc-4.2 import appears to miscompile libm.

Steve Kargl sgk at troutmask.apl.washington.edu
Sat May 26 22:42:15 UTC 2007


On Sat, May 26, 2007 at 11:48:35PM +0200, Ed Schouten wrote:
> Hello Steve,
> 
> * Steve Kargl <sgk at troutmask.apl.washington.edu> wrote:
> > mobile:kargl[234] cat a.c
> > #include <stdio.h>
> > #include <math.h>
> > 
> > int main (void) {
> >    int n;
> >    float a;
> >    a = 1.f;
> >    printf("%f\n", frexpf(a,&n));
> >    return 0;
> > }
> > mobile:kargl[235] cc -o z a.c -lm
> > mobile:kargl[236] ./z
> > 1.000000
> > mobile:kargl[237] cc --version
> > cc (GCC) 4.2.0 20070514 [FreeBSD]
> > Copyright (C) 2007 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions.  There is NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> > 
> > frexpf() should return a value in [1/2,1).
> 
> In a different thread (about snd_emu10k1) a user noticed that -ftree-vrp
> (part of -O2) may cause miscompilations. Could you try installing a libm
> (src/lib/msun) that is compiled with -O1?
> 

(cc'd -current list)

Using -O instead of -O2 indeed appears to fix the problem.

-- 
Steve


More information about the freebsd-current mailing list