[ECOS] sprintf test failure?

Jonathan Larmour jlarmour@cygnus.co.uk
Fri Nov 19 15:46:00 GMT 1999


Grant Edwards wrote:
> 
> 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?

No need, see below.
 
> 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...

Wow. It's a wonder it wasn't found for so long. Now fixed in the master
repository, although I just happened to send out an anonymous CVS update 10
mins ago :-/. The change is obvious though:

#ifdef (__ARMEB__)
# define CYG_BYTEORDER           CYG_MSBFIRST    // Big endian
#else
# define CYG_BYTEORDER           CYG_LSBFIRST    // Little endian
#endif

Jifl
-- 
Cygnus Solutions, 35 Cambridge Place, Cambridge, UK.  Tel: +44 (1223) 728762
"I used to have an open mind but || Get yer free open source RTOS's here...
 my brains kept falling out."    || http://sourceware.cygnus.com/ecos
Help fight spam! http://spam.abuse.net/  These opinions are all my own fault


More information about the Ecos-discuss mailing list