Subject: cross-compiler to VAX outputs bogus float literals.
To: None <tech-toolchain@netbsd.org>
From: Todd Whitesel <toddpw@best.com>
List: tech-toolchain
Date: 02/04/2000 23:36:11
I'm utilizing a cross-compiler from various netbsd arch's (i386/arm32 mostly)
to vax. However, I'm finding that the assembly files have bogus float literals
in them, presumably because there is code somewhere which assumes the host
format is VAX_FLOAT_FORMAT. It is also possible that I misconfigured the
compiler; the vax bits of gnu/dist/gcc/configure in 1.4.2_ALPHA caused some
sort of error and I changed them to look like all the other arch's.

I'll be engaging on a code hunt soon, but I was hoping someone on port-vax
or tech-toolchain would know where I should start looking and could give me
a head start.

Fortunately the assembly format for double literals appears to be something
like printf("$0d%.20E") so it appears that I don't need to simulate the full
VAXfloat bit pattern for hex literals like some m68k assemblers require.

It's also occurred to me that MAX_FLOAT and MIN_FLOAT might overflow an IEEE
double, in which case I can investigate using long double on i386...

Todd Whitesel
toddpw @ best.com