------- Additional Comments From rearnsha at gcc dot gnu dot org  2004-11-23 
10:57 -------
I agree that this is a bug, and I think it's been fixed now for gcc-4.x, but I'm
not going to attempt to back-port the fix to the branch, given the possible
work-around outlined below.

The reason for the 'bug' is that the ep9312 hardware floating point unit has a
different floating point layout from that used by Linux, and the -mcpu=ep9312
flag is changing the ABI to match the hardware (that's incorrect, -mcpu flags
must not change the ABI).

WORKAROUND: The ep9312 is based on the ARM9 core, so you can get best 'integer'
code by using -mcpu=arm9.

If you want good floating point performance you will have to do a lot more work:
this will involve porting both the compiler and glibc (plus some applications
that are ARM floating-point aware) to use the ep9312.  You will likely encounter
many more bugs on the way at this stage, so I recommend you don't attempt this
yet (there is work underway to produce a new ABI for ARM linux that will make
support for the ep9312 much easier).

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18620

Reply via email to