This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]