Busybox shell seems to be not working

Denys Vlasenko vda.linux at googlemail.com
Tue Sep 18 15:28:22 UTC 2007


On Tuesday 18 September 2007 16:08, Rae_Samant at emc.com wrote:
>  Hi Denys,
>     yes, the sh and ash are links to busybox. I put "printf" in ash.c
> and found that ash_main is called.
> /bin/sh --> busybox
>  I also tried with 
>  #!/bin/ash
>  
>  Then I localised the problem to "setjmp" call in ash_main. It seems
> that shell crashed at setjmp.
>  I then commented the setjmp call code in ash.c (function ash_main).

It looks like you hit a bug in setjmp. Either a code generation problem
(bug in toolchain) or a bug in libc.

I suggest building small "hello world"-like program, which
does setjmp/longjmp a-la ash, then prints "hello world".

Try to run it. If it fails, disassemble it (gcc -S hello.c)
and try to see whether generated .s looks right.

If it isn't, investigate why (wrong asm in libc? or gcc
generates wrong code?).

And/or simply try newer binutils/gcc.
--
vda



More information about the busybox mailing list