This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
Re: sprintf test failure?
On Wed, Nov 17, 1999 at 09:48:44PM +0100, Jesper Skov wrote:
> The ARM has some funny layout of doubles in BE mode (or possibly LE
> mode) where the order of the words are different than the order of the
> individual bytes. I.e., EFGHABCD or DCBAHGFE... See what I mean?
At least w/ gcc 2.95.2 the layout is strictly MSB first.
The problem was that the macro CYG_BYTEORDER in the file
ecos-snds/install/include/cyg/hal/basetype.h was defined as
CYG_LSBFIRST and it should be CYG_MSBFIRST.
This caused the wrong unions to be used for disecting IEEE floats and
doubles.
I don't know how that file gets generated, I presume the package
config processes copied it from hal/arm/arch/current/include/basetype.h.
Apparently there's only the one "basetype.h" file for the arm, and
there should be two?
Somehow the pidBE platform package needs to handle this.
Changing to CYG_MSBFIRST fixed the sprintf errors, and though I
haven't re-run the libm tests, I expect those will be OK. But, I'm
going to go home while I'm ahead, just in case...
--
Grant Edwards
grante@visi.com