Quote:
Originally Posted by Raom
can you please help me gettin details of this "fixups"
First what is the platform? Is it ELF?
Anyhow, a shared library works by exporting a number of functions by name. A program linked to those libraries has dangling pointers to those functions that need to be resolved at load time. This is what ld.so does.
So when a program starts "printf" really does point at libc.so.4::printf etc. If you then unload libc.so.4 or whatever the printf function disappears but the fixed up pointers dont change.
Some platforms support you supplying a "shim" shared library that will go between the application and the original, some don't.