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 zum Beispiel 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.74 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler
gemeldet werden können sowie die aktuelle Version dieser Seite 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>.