On Thu, Aug 19, 2004 at 11:09:11AM +0200, Måns Rullgård wrote: > When using dynamic linking that is not necessarily the case. Most > dynamic linkers use lazy loading of libraries, such that the openssl > libraries would not actually be mapped in to the process address space > until one of its functions is called.
This is not how an ELF runtime linker works. Run ldd on a binary -- this lists all the shared object files that are mapped into the address space of the process before main() is called. Symbol references are not necessarily resolved at that time, unless you define LD_BIND_NOW or are using prelinking. There's really no method of doing "lazy linking" as you suggest with C, since it would either fail (such as with global variables in libraries) or be required to violate the ISO standard, such as taking the address of a function. dave...