[BusyBox] CONFIG_FEATURE_AWK_MATH causes boot to hang

Stuart Hughes stuarth at freescale.com
Mon Feb 28 11:07:08 UTC 2005


Felix Domke wrote:
> Hi,
> 
> 
>>>>Has anyone else seen this problem and know the cause/fix.
>>
>>I _think_ that got fixed on later glibc's.  Also the problem only occurs
>>with CONFIG_FEATURE_AWK_MATH, if I turn that option off it works just fine.
> 

> However i've seen this behaviour, and enabling the fpu emulation fixed
> it. Softfloat might be a better alternative, but sometimes you need
> binary compatibility which you'll (almost) get with the fpu emulation.
> 
olivier.delouya at takimaging.com wrote:
> I confirm that hard maths hang my ARM platform at boot time, because it 
> does not actually
> have floating support..
> The fault was not easy to locate; Not making any math operation, the 
> lock happened on a
> simple setjmp/longjump, when the libc attempted to save / restore 
> floating point registers..
> Fix: on my own, use soft math exclusively..
> 

I just tried some more tests.  The problem is definitely related to math 
operations.  If I rebuild userspace with uclibc, then the system boots 
fine, even with CONFIG_FEATURE_AWK_MATH.  What is strange is on the 
glibc system, the system has been built with soft-float and it is fine 
unless I enable CONFIG_FEATURE_AWK_MATH. My usual test is to run 'top' 
as this does floating point operations.  Maybe there's something wrong 
with the libm in my glibc, or possibly in the way the toolchain was 
built (the glibc version).  Note: a kernel with FP emulation does not 
solve the problem (which is why I'm suspecting libm).

Here's a summary so far:

busybox-1.00rc2
linux 2.4.24-pre2 (denx).  No FP emulation, gcc-2.3.2

1/ glibc-2.3.2/2.3.3, gcc-3.3.2,3.4.3

  * can run 'top' without problem
  * CONFIG_FEATURE_AWK_MATH will cause boot to hang

2/ uclibc-0.9.27, gcc-3.4.2
  * all okay


Regards, Stuart





















More information about the busybox mailing list