Some uclibc based Programs Terminate with Illegal Instruction
Darcy Watkins
DWatkins at tranzeo.com
Wed Jan 9 18:05:09 UTC 2008
Hello,
I have a system as follows:
Kernel 2.6.23.11-rt14
Uclibc 0.9.29
Busybox 1.7.2
AMCC 405EP PowerPC CPU (no FPU)
All programs are built using uclibc 0.9.29. I have two copies of bash,
one is built using uclibc and the other is a binary that was built using
glibc.
Kernel board support is built under the arch/powerpc tree (NOT the
deprecated arch/ppc tree) so this it pretty bleeding edge - at least for
PPC 40x series family.
Symptoms I see are:
1. Kernel boots Ok and can be pinged even when unable to get a shell
prompt up
2. Busybox shells launched under init process immediately terminate
3. Bash (uclibc) shell launched under init process immediately
terminates
4. Bash (glibc) shell launched under init process works properly
5. Busybox shells or bash (uclibc) launched from the bash (glibc)
prompt immediately terminate with "Illegal instruction" error message
6. Certain busybox commands such as mkdir, ls, df, ps, find, sleep,
uptime and cat work OK
7. Other busybox commands such as awk, sed, which and grep immediately
terminate with "Illegal instruction" error message
8. Some non busybox commands (built with uclibc) such as ldd works
9. Some non busybox commands (built with uclibc) such as gdb
immediately terminate with "Illegal instruction" error message
The programs that fail work OK under kernel 2.6.19.2 and 2.6.21 but fail
under 2.6.23.11 (with or without the RT preemption patch rt14).
The other difference is that the kernels they worked OK with are built
under the deprecated arch/ppc tree whereas the newer kernel is built
under arch/powerpc.
Any suggestions as to what may cause this?
Regards,
Darcy
More information about the uClibc
mailing list