All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot-Users] Where can I find a libgcc.a with software FP.
  2004-02-24  9:30 [U-Boot-Users] Where can I find a libgcc.a with software FP Bernieshu
@ 2004-02-24  1:48 ` Wolfgang Denk
  2004-02-24 15:36 ` Marius Groeger
  1 sibling, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2004-02-24  1:48 UTC (permalink / raw)
  To: u-boot

In message <403B19CB.7040608@smartbridges.com> you wrote:
> 
> Where can I find a suitable u-boot compiler for ixp425?

We use the ELDK. See http://www.denx.de/ELDK.html


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"A complex system that works is invariably found to have evolved from
a simple system that worked."             - John Gall, _Systemantics_

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Where can I find a libgcc.a with software FP.
@ 2004-02-24  9:30 Bernieshu
  2004-02-24  1:48 ` Wolfgang Denk
  2004-02-24 15:36 ` Marius Groeger
  0 siblings, 2 replies; 5+ messages in thread
From: Bernieshu @ 2004-02-24  9:30 UTC (permalink / raw)
  To: u-boot

Hi, all.

Where can I find a suitable u-boot compiler for ixp425?
I once downloaded cross-compiler from 
ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain, and 
www.snapgear.com.  They complain the similar issue as following.  Mainly 
it is the libgcc.a did not support software FP. Can anybody give some 
info on this?

arm-linux-ld: ERROR: 
/usr/local/lib/gcc-lib/arm-linux/3.3.2/be/libgcc.a(_udivsi3.o) uses 
hardware FP, whereas u-boot uses software FP
File in wrong format: failed to merge target specific data of file 
/usr/local/lib/gcc-lib/arm-linux/3.3.2/be/libgcc.a(_udivsi3.o)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Where can I find a libgcc.a with software FP.
  2004-02-24  9:30 [U-Boot-Users] Where can I find a libgcc.a with software FP Bernieshu
  2004-02-24  1:48 ` Wolfgang Denk
@ 2004-02-24 15:36 ` Marius Groeger
  2004-02-24 15:58   ` Wolfgang Denk
  1 sibling, 1 reply; 5+ messages in thread
From: Marius Groeger @ 2004-02-24 15:36 UTC (permalink / raw)
  To: u-boot

On Tue, 24 Feb 2004, Bernieshu wrote:

> Where can I find a suitable u-boot compiler for ixp425?
> I once downloaded cross-compiler from
> ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain, and
> www.snapgear.com.  They complain the similar issue as following.  Mainly
> it is the libgcc.a did not support software FP. Can anybody give some
> info on this?
>
> arm-linux-ld: ERROR:
> /usr/local/lib/gcc-lib/arm-linux/3.3.2/be/libgcc.a(_udivsi3.o) uses
> hardware FP, whereas u-boot uses software FP
> File in wrong format: failed to merge target specific data of file
> /usr/local/lib/gcc-lib/arm-linux/3.3.2/be/libgcc.a(_udivsi3.o)

This is a problem with the gcc/binutils toochain, which doesn't handle
-msoft-float the way we want it. The error you're seeing isn't really
one, since neither the U-Boot code nor the quoted functions in
libgcc.a actually use FP instructions. It's only the ELF binary tags
that don't match.

If you remove the -msoft-float argument from U-Boot's Makefiles (that
is, from the config.mk's) it should work. However, should your code
ever generate floating point commands, there will be no compile error.
U-Boot will simply crash in run-time, as there is no FP emulation
handler running. I don't know to what extent this can happen, say, due
to the compiler's optimisation attempts.

There are a number of patches for gcc 3.x floating around, which add
proper -msoft-float to gcc. But since they also break binary
compatibily (everything must be compiled anew) and seem to apply only
for PXA, I'm not convinced those patches are really helpful.

Regards,
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Where can I find a libgcc.a with software FP.
  2004-02-24 15:36 ` Marius Groeger
@ 2004-02-24 15:58   ` Wolfgang Denk
  2004-02-24 16:53     ` Marius Groeger
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2004-02-24 15:58 UTC (permalink / raw)
  To: u-boot

In message <Pine.LNX.4.56.0402241626510.21705@mag.sysgo.com> Marius Groeger wrote:
> 
> This is a problem with the gcc/binutils toochain, which doesn't handle
> -msoft-float the way we want it. The error you're seeing isn't really
> one, since neither the U-Boot code nor the quoted functions in
> libgcc.a actually use FP instructions. It's only the ELF binary tags
> that don't match.

I'm not sure. I don't know for certain for ARM, but on  other  archi-
tectures  GCC  will  happily  generate FP instructions for example to
perform fast memory copy operations (like when  assigning  structures
of the "right" size).

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
In 1750 Issac Newton became discouraged when he fell up a  flight  of
stairs.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Where can I find a libgcc.a with software FP.
  2004-02-24 15:58   ` Wolfgang Denk
@ 2004-02-24 16:53     ` Marius Groeger
  0 siblings, 0 replies; 5+ messages in thread
From: Marius Groeger @ 2004-02-24 16:53 UTC (permalink / raw)
  To: u-boot

On Tue, 24 Feb 2004, Wolfgang Denk wrote:

> In message <Pine.LNX.4.56.0402241626510.21705@mag.sysgo.com> Marius Groeger wrote:
> >
> > This is a problem with the gcc/binutils toochain, which doesn't handle
> > -msoft-float the way we want it. The error you're seeing isn't really
> > one, since neither the U-Boot code nor the quoted functions in
> > libgcc.a actually use FP instructions. It's only the ELF binary tags
> > that don't match.
>
> I'm not sure. I don't know for certain for ARM, but on  other  archi-
> tectures  GCC  will  happily  generate FP instructions for example to
> perform fast memory copy operations (like when  assigning  structures
> of the "right" size).

I'm having similar doubts, as I wrote in my previous post. Please read
it again (to the end.)

In practice, however, I have not seen this kind of optimising as of
yet. Maybe on ARM there is no gain in performance. Unless there is a
proper (read: for all ARM architectures, and working like we know it
from powerpc-linux) -msoft-float patch for GCC 3, I'm inclined to just
(carefully) drop -msoft-float from *boot.

I'm curious about Robert Schwebel's assessment of this issue, since I
know he's been workin on this.

Regards,
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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-02-24 16:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-24  9:30 [U-Boot-Users] Where can I find a libgcc.a with software FP Bernieshu
2004-02-24  1:48 ` Wolfgang Denk
2004-02-24 15:36 ` Marius Groeger
2004-02-24 15:58   ` Wolfgang Denk
2004-02-24 16:53     ` Marius Groeger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.