[BusyBox] Help! Booting NFS with ARM using shared libraries
Erik Andersen
andersen at codepoet.org
Thu Apr 17 00:47:04 UTC 2003
On Wed Apr 16, 2003 at 05:27:51PM -0700, yukwing.li at conexant.com wrote:
> Hi Erik,
>
> Thank you for your quick reply!
>
> I do have ld-XXX and libc-XXX sitting in my <nfs root>/lib directory so I
> am not sure what goes wrong. In the mean time, I do have another question
> if you don't mind:
If you run 'ldd' on your program, you may find that you are
using additional shared libraries....
> If libc.so.6 is being loaded by ld-linux.so.2, who is responsible to
> invoke ld-linux.so.2 in the first place? Sorry for my ignorance in this
> init and library loading process.
Each ELF binary using the shared lib loader has an INTERP
program header, for example:
$ readelf -a /bin/true | grep -A1 INTERP
INTERP 0x0000f4 0x080480f4 0x080480f4 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
When the Linux kernel's elf loader (linux/fs/binfmt_elf.c) sees
that there is an interpreter set, it executes the intepreter. It
is then the job of the intepreter to load the needed shared
libraries and run the application.
-Erik
--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
More information about the busybox
mailing list