On 22 Nov 2006 09:52:09 +0100, Artur Grabowski <[EMAIL PROTECTED]> wrote: ...
There are two problems with this. One is that memory is protected from writing, that's why there are those calls to mprotect all over the place. The other problem is that dynamic binding isn't reentrant, we don't want signals (that might perform their own lazy bindings) while doing this. That's why there are those calls to sigprocmask there. This is slow and some applications speed up substantially when it's disabled, but many "modern" applications have come to rely on this behavior for doing their own tricks with dlopen(), so it can't really be disabled.
When you refer to "tricks with dlopen()", is that just the use of dlopen() to pull in overrides for functions defined in libraries that the application was linked against? Or are there non-overiding uses of dlopen() that are problematical for LD_BIND_NOW? Philip Guenther

