On Mon, 2008-11-17 at 15:47 -0500, Alexander Haley wrote: > So .. when I say, "Run hello world", enter binutils. Binutils > understand that common functionality is often packaged into shared > objects (.so) - aka libraries. Bin utils uses a dynamic linker .. to > ask itself "Hrrm .. they're running hello world .. and it looks like > that references libc stuff .. so I'll load libc into memory, and via > some dark magic, cause the program to be able to call this function > called printf"
Close on this part, but not quite. The role of binutils is at build time - it's responsible for taking the output of gcc, and creating an executable containing both the program code, and the information on which libraries need to be loaded in order to run it. The bit actually responsible for processing that information is a little library called /lib/ld-linux.so, which is provided by glibc. I suggest reading the man pages for 'ld' and 'ld-linux', which provide a little bit more info on this kind of thing. Also the page "Technical Toolchain Notes" in Chapter 5 of the LFS book - the book pays quite a lot of attention to these two, since it's one of the more fiddly bits about building one Linux system from another. Simon.
signature.asc
Description: This is a digitally signed message part
-- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
