Hallo, Am Fri, 23 Dec 2005, Philipp Thomas schrieb: [..]
Damit kannst du zur Laufzeit über /etc/nsswitch.conf bestimmen, welche Dienste zur Namensauflösung (wie z.B. mittels gethostbyname()) benutzt werden. Damit das funktioniert, sind die dienstspezifischen Zugriffsroutinen in einzelne dynamische Bibliotheken (libnss_*) gekapselt, die *grundsätzlich* dynamisch geladen werden, auch wenn die glibc statisch gelinkt wird.
Warum eigentlich? Bzw. koennte man die libnss_* (rein theoretisch) auch als statische libs erstellen? Das ist aber eher eine akademische Frage, aber ich weiss, dass du dich mit der GNU libc besser auskennst als ich, vielleicht weisst du das ja ohne in den Sourcen/Dokus zu wuehlen, wie ich es muesste. Ich finde es jedenfalls nervig, dass dadurch durch die Hintertuer ein '-static' Binary doch nicht "static" ist... Die Einschraenkungen bei der Namensaufloesung dadurch, dass "nur" libnss_{foo,bar}.a gelinkt werden wuerde ich in Kauf nehmen (bzw. "compile-time-configurable" machen oder so). Oder warum man nicht auf einen "Plugin"-Mechanismus zurueckgreift... (da gibt's ja Beispiele, z.B. perl, xmms u.a., wo die plugins (dyn-libs) eben per dlopen geladen werden -- oder beisst sich dlopen generell mit statisch gelinkt?)... TIA, -dnh XMailed & F'up2: suse-programming@suse.com -- Paranoid schizophrenics outnumber their enemies at least two to one. -- from the fortune file