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]

ARM: status of soft-float support


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


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