This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: softfloat printf("%f") problem: which patch is better?


On 2004-05-30 at 06:54:10 Dan Kegel wrote:

==some stuff snipped==
>> Q2) Can someone with more knowledge than me on the issue, which
>> patch is the better one for resolving the printf("%f") issue? They
>> seem to take different approaches.

> Nobody answered him back then.  Can someone take a stab at it now?

I used <http://sources.redhat.com/ml/crossgcc/2004-02/msg00104.html>
which works for me, at least with some simple tests, like printing
floating point constants, and calculating some sin() & cos() values
and displaying them.  IMO this patch does the right thing, because it
simply tells glibc the proper endianness of floating point values.

In reply to that message, Nicolas Pitre then writes in
<http://sources.redhat.com/ml/crossgcc/2004-02/msg00105.html>:

"I don't have glibc sources handy right now, but the patch looks sane.
It however deletes sysdeps/arm/ieee754.h entirely (was this
intentional?)."

To this last question I can say: yes, because sysdeps/arm/ieee754.h
doesn't take any endianness in consideration.  If you simply delete
it, glibc will use its generic sysdeps/ieee754/ieee754.h instead,
which *does* consider endianness properly (it includes
sysdeps/arm/bits/endian.h, just modified by the patch to adjust
__FLOAT_WORD_ORDER, etc).

To make sure everything works as advertised, I'll build and run the
ucbtest suite from http://www.netlib.org/fp/ when I get to work on
Tuesday (haven't got my ARM equipment here at home ;) and report back
the results.

Attachment: pgp00000.pgp
Description: PGP signature


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