Anatomy Of A Typical Application (Cont.) Next, the dynamic linker performs loading of shared libraries. First, it checks if there's a file (/etc/ld.so.preload) telling whether some extra libraries should be loaded: open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) and then goes to search for applications linked with the application in various directories. First, in directories defined by the LD_LIBRARY_PATH environment variable: open("/opt/xmps/lib/i586/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/opt/xmps/lib/i586/mmx", 0xbfffeb20) = -1 ENOENT (No such file or directory) open("/opt/xmps/lib/i586/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/opt/xmps/lib/i586", 0xbfffeb20) = -1 ENOENT (No such file or directory) open("/opt/xmps/lib/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/opt/xmps/lib/mmx", 0xbfffeb20) = -1 ENOENT (No such file or directory) open("/opt/xmps/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/opt/xmps/lib", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0