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

Reply via email to