public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
@ 2005-03-02 12:34 Steven Scholz
  2005-03-02 16:22 ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Scholz @ 2005-03-02 12:34 UTC (permalink / raw)
  To: u-boot

Hi there,

I just tried

CROSS_COMPILE=arm-softfloat-linux-gnu- ./MAKEALL ARM9

on the CVS HEAD but got

arm-softfloat-linux-gnu-ld: ERROR: 
/opt/crosstool/arm-softfloat-linux-gnu/gcc-3.3.3-glibc-2.3.2-linux-2.4.27/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.3/libgcc.a(_divsi3.oS) 
uses hardware FP, whereas u-boot uses software FP
arm-softfloat-linux-gnu-ld: failed to merge target specific data of file 
/opt/crosstool/arm-softfloat-linux-gnu/gcc-3.3.3-glibc-2.3.2-linux-2.4.27/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.3/libgcc.a(_divsi3.oS)
make: *** [u-boot] Fehler 1

for at91rm9200dk and cmc_pu2.

Removing " -msoft-float" from /cpu/at91rm9200/config.mk solves this problem.

But why?

My toolchain gcc-3.3.3-glibc-2.3.2-linux-2.4.27 was built with crosstool using

export TARGET=arm-softfloat-linux-gnu
export TARGET_CFLAGS="-O"
export GCC_EXTRA_CONFIG="--with-float=soft"
export GLIBC_EXTRA_CONFIG="--without-fp"
export BINUTILS_DIR=binutils-2.15
export GCC_DIR=gcc-3.3.3
export GLIBC_DIR=glibc-2.3.2
export LINUX_DIR=linux-2.4.27

so I am pretty sure that I am using softfloat by default. But then why is it a 
problem if I pass -msoft-float to the compiler?

Thanks!

-- 
Steven

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-02 12:34 [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP Steven Scholz
@ 2005-03-02 16:22 ` Wolfgang Denk
  2005-03-03 11:23   ` Steven Scholz
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2005-03-02 16:22 UTC (permalink / raw)
  To: u-boot

In message <4225B2DF.40301@imc-berlin.de> you wrote:
> 
> CROSS_COMPILE=arm-softfloat-linux-gnu- ./MAKEALL ARM9
> 
> on the CVS HEAD but got
> 
> arm-softfloat-linux-gnu-ld: ERROR: 
> /opt/crosstool/arm-softfloat-linux-gnu/gcc-3.3.3-glibc-2.3.2-linux-2.4.27/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.3/libgcc.a(_divsi3.oS) 
> uses hardware FP, whereas u-boot uses software FP

This message is clear, isn't it? Your compiler  libraries  are  built
using hardware FP, whereas u-boot uses software FP

> Removing " -msoft-float" from /cpu/at91rm9200/config.mk solves this problem.

Not really.

> My toolchain gcc-3.3.3-glibc-2.3.2-linux-2.4.27 was built with crosstool using

Maybe you should ask  this  on  a  crosstools  related  mailing  list
(probably linux-arm-toolchain).

> so I am pretty sure that I am using softfloat by default. But then why is it a 
> problem if I pass -msoft-float to the compiler?

Maybe you are using softfloat, but your compiler libraries aren't.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
When you die, the first thing you lose is your life. The  next  thing
is the illusions.                       - Terry Pratchett, _Pyramids_

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-02 16:22 ` Wolfgang Denk
@ 2005-03-03 11:23   ` Steven Scholz
  2005-03-03 16:03     ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Scholz @ 2005-03-03 11:23 UTC (permalink / raw)
  To: u-boot

Dear Wolfgang,

>>arm-softfloat-linux-gnu-ld: ERROR: 
>>/opt/crosstool/arm-softfloat-linux-gnu/gcc-3.3.3-glibc-2.3.2-linux-2.4.27/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.3/libgcc.a(_divsi3.oS) 
>>uses hardware FP, whereas u-boot uses software FP
> 
> This message is clear, isn't it? Your compiler  libraries  are  built
> using hardware FP, whereas u-boot uses software FP
> ...
>>My toolchain gcc-3.3.3-glibc-2.3.2-linux-2.4.27 was built with crosstool using
> 
> Maybe you are using softfloat, but your compiler libraries aren't.

So your suggesting that my glibc is built with softfloat support but not the gcc 
itself?

IIUC then U-Boot does not need glibc?

-- 
Steven

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-03 11:23   ` Steven Scholz
@ 2005-03-03 16:03     ` Wolfgang Denk
  2005-03-03 16:41       ` Steven Scholz
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2005-03-03 16:03 UTC (permalink / raw)
  To: u-boot

Dear Steven,

in message <4226F3CF.9000308@imc-berlin.de> you wrote:
> 
> >>/opt/crosstool/arm-softfloat-linux-gnu/gcc-3.3.3-glibc-2.3.2-linux-2.4.27/lib/gcc-lib/arm-softfloat-linux-gnu/3.3.3/libgcc.a(_divsi3.oS) 
> >>uses hardware FP, whereas u-boot uses software FP


Please read this message again, and carefully.


> > This message is clear, isn't it? Your compiler  libraries  are  built
> > using hardware FP, whereas u-boot uses software FP

> So your suggesting that my glibc is built with softfloat support but not the gcc 
> itself?
> 
> IIUC then U-Boot does not need glibc?

I never mentioned glibc. Nor is it mentioned in  the  error  message.
The  library  in  question  is  "libgcc.a", where the compiler itself
(GCC) provides utility functions  (like  here  divsi3  to  perferm  a
signed division operation).

I repeat: Your  compiler  libraries  are  built  using  hardware  FP,
whereas u-boot uses software FP.

In other words: your toolchain is not configured as you expected.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"I like your game but we have to change the rules."

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-03 16:03     ` Wolfgang Denk
@ 2005-03-03 16:41       ` Steven Scholz
  2005-03-03 16:52         ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Scholz @ 2005-03-03 16:41 UTC (permalink / raw)
  To: u-boot

Dear Wolfgang,

>>>This message is clear, isn't it? Your compiler  libraries  are  built
>>>using hardware FP, whereas u-boot uses software FP

Sure it is.

>>So your suggesting that my glibc is built with softfloat support but not the gcc 
>>itself?
>>
>>IIUC then U-Boot does not need glibc?
> 
> I never mentioned glibc. Nor is it mentioned in  the  error  message.
> The  library  in  question  is  "libgcc.a", where the compiler itself
> (GCC) provides utility functions  (like  here  divsi3  to  perferm  a
> signed division operation).
> 
> I repeat: Your  compiler  libraries  are  built  using  hardware  FP,
> whereas u-boot uses software FP.
> 
> In other words: your toolchain is not configured as you expected.

I just wanted to make sure that I understood corretcly.
Since my user applications seems to run fine under linux I assume that my glibc 
supports softfloat.
U-Boot does not use glibc but libgcc.a. Since the compiler complains while 
compiling U-Boot, it seems that my libgcc.a does not support softfloat.
So the problems lies in how my compiler was built and not how the glibc was built.
Did I get this right?

Thanks a million!

--
Steven

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-03 16:41       ` Steven Scholz
@ 2005-03-03 16:52         ` Wolfgang Denk
  2005-03-03 16:57           ` Steven Scholz
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2005-03-03 16:52 UTC (permalink / raw)
  To: u-boot

In message <42273E35.50408@imc-berlin.de> you wrote:
> 
> > I repeat: Your  compiler  libraries  are  built  using  hardware  FP,
> > whereas u-boot uses software FP.
...
> Since my user applications seems to run fine under linux I assume that my glibc 
> supports softfloat.

Maybe, maybe not.

> U-Boot does not use glibc but libgcc.a. Since the compiler complains while 

No. U-Boot does NOT use libgcc.a.

It is your compiler which requires libgcc.a.

> compiling U-Boot, it seems that my libgcc.a does not support softfloat.
> So the problems lies in how my compiler was built and not how the glibc was built.
> Did I get this right?

Right. It has nothing to do with glibc. It's the  compiler  libraries
which  use  hardware  FP, which does not mix with any other code that
uses soft-float.

[This is why I have doubts if your  Linux  stuff  really  uses  soft-
float;  you'd  run  in  the  same  problem  there, too. But this is a
different issue.]

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The universe does not have laws - it has habits, and  habits  can  be
broken.

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-03 16:52         ` Wolfgang Denk
@ 2005-03-03 16:57           ` Steven Scholz
  2005-03-04 23:39             ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Scholz @ 2005-03-03 16:57 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:
> In message <42273E35.50408@imc-berlin.de> you wrote:
> 
>>>I repeat: Your  compiler  libraries  are  built  using  hardware  FP,
>>>whereas u-boot uses software FP.
> 
> ...
> 
>>Since my user applications seems to run fine under linux I assume that my glibc 
>>supports softfloat.
> 
> 
> Maybe, maybe not.

Any hint how I could make sure and test it?

>>U-Boot does not use glibc but libgcc.a. Since the compiler complains while 
> 
> No. U-Boot does NOT use libgcc.a.
> 
> It is your compiler which requires libgcc.a.
Ok. Thanks.

>>compiling U-Boot, it seems that my libgcc.a does not support softfloat.
>>So the problems lies in how my compiler was built and not how the glibc was built.
>>Did I get this right?
> 
> Right. It has nothing to do with glibc. It's the  compiler  libraries
> which  use  hardware  FP, which does not mix with any other code that
> uses soft-float.
> 
> [This is why I have doubts if your  Linux  stuff  really  uses  soft-
> float;  you'd  run  in  the  same  problem  there, too. But this is a
> different issue.]
Ok.

Thanks a million so far. I guess I try my luck on crossgcc at sources.redhat.com then.

--
Steven

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-03 16:57           ` Steven Scholz
@ 2005-03-04 23:39             ` Wolfgang Denk
  2005-03-05 13:38               ` Steven Scholz
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2005-03-04 23:39 UTC (permalink / raw)
  To: u-boot

In message <42274207.7020608@imc-berlin.de> you wrote:
>
> > Maybe, maybe not.
> 
> Any hint how I could make sure and test it?

Disassemble and grep for FP instructions?

> Thanks a million so far. I guess I try my luck on crossgcc at sources.redhat.com then.

Or, as mentioned before, on the ARM toolchain mailing list.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
What nonsense people talk about happy marriages! A man can  be  happy
with any woman so long as he doesn't love her.         -- Oscar Wilde

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-04 23:39             ` Wolfgang Denk
@ 2005-03-05 13:38               ` Steven Scholz
  2005-03-05 14:19                 ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Scholz @ 2005-03-05 13:38 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:
> In message <42274207.7020608@imc-berlin.de> you wrote:
> 
>>>Maybe, maybe not.
>>
>>Any hint how I could make sure and test it?
> 
> 
> Disassemble and grep for FP instructions?
> 
> 
>>Thanks a million so far. I guess I try my luck on crossgcc at sources.redhat.com then.
> 
> 
> Or, as mentioned before, on the ARM toolchain mailing list.

I did not know, there's an ARM specific toolchain mailing list.
Do you mind giving me a hint where to find it?
Thanks.

Have a nice weekend.


-- 
Steven

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

* [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP...
  2005-03-05 13:38               ` Steven Scholz
@ 2005-03-05 14:19                 ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2005-03-05 14:19 UTC (permalink / raw)
  To: u-boot

In message <4229B66B.2050509@imc-berlin.de> you wrote:
>
> > Or, as mentioned before, on the ARM toolchain mailing list.
> 
> I did not know, there's an ARM specific toolchain mailing list.
> Do you mind giving me a hint where to find it?

linux-arm-toolchain at lists.arm.linux.org.uk

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The glory of creation is in its infinite diversity." "And in the way
our differences combine to create meaning and beauty."
	-- Dr. Miranda Jones and Spock, "Is There in Truth No Beauty?",
	   stardate 5630.8

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

end of thread, other threads:[~2005-03-05 14:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-02 12:34 [U-Boot-Users] ...uses hardware FP, whereas u-boot uses software FP Steven Scholz
2005-03-02 16:22 ` Wolfgang Denk
2005-03-03 11:23   ` Steven Scholz
2005-03-03 16:03     ` Wolfgang Denk
2005-03-03 16:41       ` Steven Scholz
2005-03-03 16:52         ` Wolfgang Denk
2005-03-03 16:57           ` Steven Scholz
2005-03-04 23:39             ` Wolfgang Denk
2005-03-05 13:38               ` Steven Scholz
2005-03-05 14:19                 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox