[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