ARM: status of soft-float support

Marius Groeger mgroeger@sysgo.com
Wed Feb 25 16:14:00 GMT 2004


Hello all,

I would like to raise the issue of softfloat one more time. I
understand there is a fairly extensive patch on the matter available
from Nicolas Pitre, and a derivative thereof from Robert Schwebel:

 http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-October/006436.html
 http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-January/019268.html

I have looked at those patches, although in the context of gcc 3.2.3.
I had to some backporting.

While the patches essentially add very interessting material, ie.
true soft float emulation claiming to be very fast, I still see the
following problems with them:

- via SUBTARGET_EXTRA_ASM_SPEC, the assembler set to process code for
  an XScale CPU by default. In other words, even when you set up a
  generic toolchain (TARGET_generic), the assembler will operate in
  XScale mode, resulting in an armv5 compliance.

- apparently (unfortunately I'm not an ARM ASM expert) the patch
  requires armv5. If you try to configure gcc for armv4, strongarm,
  arm7 etc you will get an assembler error ("bad instruction 'bx lr'
  for this cpu", AFAIR).

- with the patch, soft-float is the default. Woudln't it be nicer to be
  able to turn on soft-float only if -msoft-float is given explicitly?
  I admit this is driven by my needs: I'd like to compile U-Boot as-is,
  as compiling my userland tools in a way that's binary compatible with
  the rest of the world.

During my research, I found this patch:

  http://gcc.gnu.org/ml/gcc-patches/2001-12/msg01370.html

As far as I can tell, this didn't really make it into the gcc 3.x line. Does
anyone know why? To me this patch looks very clean, but its very far away
from the current state of affairs in the gcc sources.

Marius

-- 
Marius Groeger <mgroeger@sysgo.com>
Project Manager

SYSGO Real-Time Solutions AG | Embedded and Real-Time Software
Am Pfaffenstein 14
55270 Klein-Winternheim, Germany

Voice: +49-6136-9948-0 | FAX: +49-6136-9948-10
www.sysgo.com | www.elinos.com | www.osek.de

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list