Re:Sorry state of dynamic libraries on Linux
by dllthomas on Monday September 17, 2012 @11:08AM
(#4532887)
It would seem that somehow warning about interpositions would be the right thing. Makes it easier to debug weirdness, warns users if someone surreptitiously set LD_PRELOAD, but doesn't get in the way when someone wants to use the functionality.
Correctness is a serious problem. ELF symbol interposition is dangerous because it can be done unintentionally. For the most part, the flexibility afforded by ELF goes unused except for LD_PRELOAD, and LD_PRELOAD can be accommodated using a safer and less general mechanism.
Systems with module-specific binding don't have to worry about unintentional symbol interposition. On these systems, adding a module to a process never causes another unrelated module to sometimes stop working depending on exact load order. On ELF systems, this catastrophe happens.