uselib.2: Note that glibc does not support this (obsolete) system call

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2016-02-22 08:07:31 +01:00
parent 90493c8cf0
commit b575a20f86
1 changed files with 12 additions and 0 deletions

View File

@ -35,6 +35,9 @@ uselib \- load shared library
.B #include <unistd.h>
.sp
.BI "int uselib(const char *" library );
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
The system call
.BR uselib ()
@ -78,6 +81,15 @@ for example, it does not have the correct magic numbers.
is Linux-specific, and should not be used in programs
intended to be portable.
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
glibc versions before 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
.BR syscall (2).
In ancient libc versions,
.BR uselib ()
was used by early libc startup code to load
the shared libraries with names found in an array of names