Provided by: manpages-de-dev_2.16-1_all 

BEZEICHNUNG
uselib - eine gemeinsam benutzte Bibliothek laden
ÜBERSICHT
#include <unistd.h>
int uselib(const char *bibliothek);
Anmerkung: In den Glibc-Headern wird keine Deklaration für diesen Systemaufruf bereitgestellt, siehe
ANMERKUNGEN.
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 systemweite Beschrä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.
KONFORM ZU
uselib() ist Linux-spezifisch und sollte nicht in portierbaren Programmen benutzt werden.
ANMERKUNGEN
Dieser veraltete Systemaufruf wird von Glibc nicht unterstützt. In den Glibc-Headern wird keine
Deklaration bereitgestellt, allerdings exportierten Glibc-Versionen vor 2.23 durch eine Laune der
Geschichte eine ABI für diesen Systemaufruf. Um diesen Systemaufruf einzusetzen, reichte es aus, manuell
die Schnittstelle in Ihrem Code zu deklarieren; alternativ könnten Sie den Systemaufruf mittels
syscall(2) auslösen.
In uralten Libc-Versionen wurde uselib() 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.
Seit Linux 3.15 ist der Systemaufruf nur verfügbar, falls der Kernel mit der Option CONFIG_USELIB
konfiguriert wurde.
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 5.03 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 https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Hanno Wagner <wagner@bidnix.bid.fh-hannover.de>,
Chris Leick <c.leick@vollbio.de> und Dr. Tobias Quathamer <toddy@debian.org> 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>.
Linux 15. September 2017 USELIB(2)