BEZEICHNUNG¶
uselib - eine gemeinsam benutzte Bibliothek laden
ÜBERSICHT¶
#include <unistd.h>
int uselib(const char *bibliothek);
BESCHREIBUNG¶
Der Systemaufruf
uselib() dient dazu, eine gemeinsam benutzte Bibliothek
für die Nutzung durch den aufrufenden Prozess zu laden. Ihr wird ein
Pfadname übergeben. Die Ladeadresse befindet sich wird in der Bibliothek
selbst. Die Bibliothek kann jedes bekannte binäre Format haben.
RÜCKGABEWERT¶
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1
zurückgegeben und
errno entsprechend gesetzt.
FEHLER¶
Zusätzlich zu all den Fehlercodes, die von
open(2) und
mmap(2) zurückgegeben werden, können auch folgende auftreten:
- EACCES
- Die durch bibliothek angegebene Bibliothek hat kein
Lese- oder Ausführrecht oder der Aufrufende hat kein Suchrecht
für eines der Verzeichnisse im Pfadpräfix. (Siehe auch
path_resolution(7).)
- ENFILE
- Die Systembeschränkung für die Gesamtzahl offener
Dateien wurde erreicht.
- ENOEXEC
- Die Datei, die durch bibliothek angegeben wird, ist
keine ausführbare Datei eines bekannten Typs. Sie hat z.B. nicht die
richtigen magischen Zahlen.
uselib() ist Linux-spezifisch und sollte nicht in portierbaren Programmen
benutzt werden.
ANMERKUNGEN¶
uselib() wurde von früheren Versionen des Libc-Anfangscodes benutzt,
um die gemeinsam benutzten Bibliotheken zu laden, die mit Namen in einem
Namensfeld in der Binärdatei gefunden wurden.
Seit Libc 4.3.2 versucht der Anfangscode diesen Namen »/usr/lib«,
»/lib« und »« voranzustellen, bevor er aufgibt. In Libc
4.3.4 und danach werden diese Namen in den Verzeichnissen gesucht, die im
LD_LIBRARY_PATH gefunden werden. Falls diese nicht gefunden werden,
werden »/usr/lib«, »/lib« und »/« ausprobiert.
Seit Libc 4.4.4 wird nur noch die Bibliothek »lib/ld.so« geladen, so
dass diese dynamische Bibliothek die verbleibenden benötigten
Bibliotheken laden kann (wieder mit diesem Aufruf). Dies ist auch der Stand
der Dinge in Libc5.
Glibc2 benutzt diesen Aufruf nicht.
SIEHE AUCH¶
ar(1),
gcc(1),
ld(1),
ldd(1),
mmap(2),
open(2),
dlopen(3),
capabilities(7),
ld.so(8)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Hanno Wagner
<wagner@bidnix.bid.fh-hannover.de> und Chris Leick
<c.leick@vollbio.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.