I find that I'm having a helluva time getting any programs I compile to
run on my jornada. Peter's initrd image works fine, but if I compile
busybox and link /bin/sh to it in *my* initrd image, my system hangs
during execve (specifically, for anyone who wants too much info on this,
execve ultimately calls load_elf_binary, which calls padzero(), which
calls clear_user, which (eventually) calls ARM assembler code which is
where the actual hang is taking place).
As I said, Peter's initrd works fine. This is the same toolchain I used
to build my kernel, which boots the system fine. The binaries I compile
using my toolchain will run quite happily on ipaq1.handhelds.org (using
my toolchain-compiled glibc, courtesy LD_LIBRARY_PATH). One final
tidbit; If I compile busybox with -march=armv4, padzero() returns
successfully, but then gets called *again* (predumably this is .so magic
happening), and there it hangs. In that case, the first padzero() calls
clear_user thusly:
Clearing user (elf_bss [1073866236], nbyte [2564])...
Finally, I put together a 'hello' program using ARM assembler. Compiled
it both using my toolchain and on the skiff, and prepended the execve()
stack-o-calls for init in init/main.c, and it hung there. That program
is 456 bytes (after stripping), with no libc.
--noah
-- "Neil! Your bed's on fire!"Received on Sat Feb 07 08:56:15 2004
This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:46:01 EDT