Document RTLD_NODELETE, -z nodelete and -z origin support.

This commit is contained in:
kib 2009-04-01 14:38:20 +00:00
parent a2d099881f
commit 2b9fbfce36
2 changed files with 29 additions and 3 deletions

View File

@ -32,7 +32,7 @@
.\" @(#) dlopen.3 1.6 90/01/31 SMI
.\" $FreeBSD$
.\"
.Dd September 10, 2002
.Dd April 1, 2009
.Os
.Dt DLOPEN 3
.Sh NAME
@ -123,7 +123,7 @@ call to
One of the following flags may be ORed into the
.Fa mode
argument:
.Bl -tag -width RTLD_GLOBALX
.Bl -tag -width RTLD_NODELETE
.It Dv RTLD_GLOBAL
Symbols from this shared object and its directed acyclic graph (DAG)
of needed objects will be available for resolving undefined references
@ -141,6 +141,13 @@ the absolute pathnames of all objects, to standard output.
With this flag
.Fn dlopen
will return to the caller only in the case of error.
.It Dv RTLD_NODELETE
Prevents unload of the loaded object on
.Fn dlclose .
The same behaviour may be requested by
.Fl "z nodelete"
option of the static linker
.Xr ld 1 .
.El
.Pp
If

View File

@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd March 23, 2009
.Dd April 1, 2009
.Dt RTLD 1
.Os
.Sh NAME
@ -58,6 +58,25 @@ to be called on a per-object basis, giving a shared object an opportunity
to perform any extra set-up before execution of the program proper begins.
This is useful for C++ libraries that contain static constructors.
.Pp
When resolving dependencies for the loaded objects,
.Nm
may be allowed to translate dynamic token strings in rpath and soname
by setting
.Fl "z origin"
option of the static linker
.Xr ld 1 .
The following strings are recognized now:
.Bl -tag -width ".Pa $PLATFORM"
.It Pa $ORIGIN
Translated to the full path of the loaded object.
.It Pa $OSNAME
Translated to the name of the operating system implementation.
.It Pa $OSREL
Translated to the release level of the operating system.
.It Pa $PLATFORM
Translated to the machine hardware platform.
.El
.Pp
The
.Nm
utility itself is loaded by the kernel together with any dynamically-linked