Re: 40% slowdown with dynamic /bin/sh

From: Peter Jeremy <peterjeremy_at_optushome.com.au>
Date: Tue, 25 Nov 2003 19:18:18 +1100
On Tue, Nov 25, 2003 at 04:54:41AM +0000, E.B. Dreger wrote:
>What specific aspects of rtld are required to support NSS in
>static binaries?  dlopen(), fixups, and dlsym()?

All of the above.  The underlying problem is how to handle a
library call from within the NSS/PAM/whatever shared library.
This has been discussed in one of the recent threads but it
boils down to:
1) Static executables don't normally have any symbols available at
   runtime so it's difficult for a shared library to resolve symbols
   using definitions in the executable.
2) It is possible (likely?) that a shared library may reference a
   symbol that does not exist within the executable.
3) Loading libc.so etc to resolve a symbol means that there may be
   two distinct (and possibly different) instances of the same object
   associated with a process.  This may create problems where those
   objects have side-effects.

Peter
Received on Mon Nov 24 2003 - 23:18:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:30 UTC