Problems with printing double-values with printf and sprintf

Ralf Corsepius ralf.corsepius at rtems.org
Fri Sep 4 15:53:52 UTC 2009


On 09/04/2009 05:47 PM, Joel Sherrill wrote:
> Ralf Corsepius wrote:
>> On 09/04/2009 04:50 PM, Sebastian Huber wrote:
>>> The calculation in dtoa.c line 295 is wrong because the values for 
>>> Exp_shift1
>>> and Exp_mask are invalid for the little endian ARM (this is only a 
>>> good guess
>>> at the moment).
>>> It looks like the __IEEE_LITTLE_ENDIAN is undefined.
>> Code example with corresponding compiler call, please.
>>
> Just so it ends up in the email archives. On IRC, I
> asked him to check the cpp predefines when
> his CPU model is selected.
>
> arm-rtems4.10-gcc -dM -E -mXXX - </dev/null
I am using
arm-rtems4.10-gcc -Wp,dD -save-temps -m<cpu> code.c

> Those settings must be right and then ieeefp.h
> and friends have to interpret that combination
> correctly.
> Very likely just a subtle conditional compilation
> error in newlib.
This is what I suspect, too.

However, to verify this, the exact compiler call Sebastian is using 
would be necessary.

Ralf





More information about the users mailing list