floating point exception 8 in awk

David O'Brien obrien at freebsd.org
Sun May 18 14:48:27 PDT 2003


On Sat, May 17, 2003 at 03:52:40PM +0200, Dag-Erling Smorgrav wrote:
> Dag-Erling Smorgrav <des at ofug.org> writes:
> > Wilko Bulte <wkb at freebie.xs4all.nl> writes:
> > > FAQ, more of less. If you rebuild & install your awk with -mieee from then
> > > on everything works again. -mieee is now the default on alpha.
> > Yes, but this shouldn't happen inside the chroot since it's using
> > either the awk from the buildworld preceding make relese, or the awk
> > from the cross-tools stage of the chrooted buildworld, and both of
> > these should have been built with -mieee...  though it seems they
> > weren't, I can't find the string 'mieee' anywhere in the build logs.
> 
> Grrr...  found the bug: bsd.sys.mk adds -mieee to the _CPUCFLAGS
> variable, which is ignored if NO_CPU_CFLAGS is set.  This is arguably
> a bug since _CPUCFLAGS is supposed to control optimization, not
> correctness, and setting NO_CPU_CFLAGS should improve correctness at
> the expense of performance and not the other way around.
> 
> Any suggestions on how to fix this?

Not sure what the best way to change this is.  We can't just do:

    .if ${MACHINE_ARCH} == "alpha"
    CFLAGS+= -mieee
    .endif

as a user needs a way to not have -mieee.  Calling -mieee a "correctness"
thing is debatable.  Some feel our code is buggy, some feel the Alpha
default of not doing IEEE math is bogus.

Personally I think it is a bug NO_CPU_CFLAGS is unconditionally used in
src/Makefile.inc1.  It should only be used in the cross or
very-old-native case.


More information about the freebsd-alpha mailing list