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