[U-Boot] undefined reference to `abort'

2011-12-05 Thread Shadid, Bill
This is a follow-up to my issue, re:

/opt/embedded/tools/usr/bin/../lib/gcc/powerpc-linux/4.2.2/m8540/libgcc.a(divsf3.o):
 In function `__divsf3':
/opt/eldk/build/ppc-2008-04-01/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/gcc-4.2.2/gcc/config/soft-fp/divsf3.c:44:
 undefined reference to `abort'
/opt/embedded/tools/usr/bin/../lib/gcc/powerpc-linux/4.2.2/m8540/libgcc.a(mulsf3.o):
 In function `__mulsf3':
/opt/eldk/build/ppc-2008-04-01/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/gcc-4.2.2/gcc/config/soft-fp/mulsf3.c:44:
 undefined reference to `abort'
/opt/embedded/tools/usr/bin/../lib/gcc/powerpc-linux/4.2.2/m8540/libgcc.a(divdf3.o):
 In function `__divdf3':
/opt/eldk/build/ppc-2008-04-01/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/gcc-4.2.2/gcc/config/soft-fp/divdf3.c:44:
 undefined reference to `abort'
/opt/embedded/tools/usr/bin/../lib/gcc/powerpc-linux/4.2.2/m8540/libgcc.a(muldf3.o):
 In function `__muldf3':
/opt/eldk/build/ppc-2008-04-01/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/gcc-4.2.2/gcc/config/soft-fp/muldf3.c:44:
 undefined reference to `abort'


It was suggested that I should migrate to a newer version of u-boot to resolve 
the issue.

I downloaded and compiled with u-boot-2011.03-rc and the compiler reported the 
same errors.
We thought that maybe the rc release was not the best choice so we tried the 
port with u-boot 1.3.1. and again, got the same compile errors.

I did a little more digging and found that anywhere that I perform a multiply 
or divide operation using a float variable, the code will compile as a muldf3 
or divdf3 call. So, I'm guessing that the libgcc in ELDK4.2.2 differs from that 
in ELDK 4.0. Is there some option I need to add to the compile expression in 
the Makefile to satisfy the new libgcc-floating math functions?

Thank you in advance for your assistance,
Bill.


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] undefined reference to `abort'

2011-12-05 Thread Shadid, Bill
I've added a test suite to the build that can be accessed while at the u-boot 
prompt. The suite allows folks to verify various h/w components without running 
an OS. The suite contains some algorithms to convert sensor data to voltage, 
current, power and temperature. I can modify some of these calculations to use 
integer math instead but in 1 case there is a polynomial with larger exponents. 
I'm almost ready to give up, so this is my last stab at resolving the issue.

Its surprising that this code compiled and ran fine with ELDK 4.0 but has 
compile issues with 4.2. I guess some floating-point support was removed. I'm 
still not clear why the abort function is called and I say called because when 
we do throw in our own abort function that calls printf or forever loops, its 
gets executed and hangs u-boot.

Thanks for your help,
Bill.

-Original Message-
From: Matthias Weißer [mailto:m.weisse...@googlemail.com] 
Sent: December 5, 2011 12:57 PM
To: Mike Frysinger
Cc: u-boot@lists.denx.de; Shadid, Bill
Subject: Re: [U-Boot] undefined reference to `abort'

Am 05.12.2011 18:28, schrieb Mike Frysinger:
> On Monday 05 December 2011 11:43:09 Shadid, Bill wrote:
>> /opt/embedded/tools/usr/bin/../lib/gcc/powerpc-linux/4.2.2/m8540/libg
>> cc.a(d
>> ivsf3.o): In function `__divsf3':
>> /opt/eldk/build/ppc-2008-04-01/work/usr/src/denx/BUILD/crosstool-0.43
>> /buil 
>> d/gcc-4.2.2-glibc-20070515T2025-eldk/powerpc-linux/gcc-4.2.2/gcc/conf
>> ig/sof
>> t-fp/divsf3.c:44: undefined reference to `abort'
> 
> looks like you should be using a diff cross-compiler.  or ppc should 
> grow private libgcc support.
> -mike

Or just don't use any floating point operations in a bootloader. There seems to 
be some usages of floats around in u-boot but most (all?) of them are compile 
time calculations.

Just curious: Bill, what is the use case for float at runtime?

Matthias
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot