svn commit: r190624 - in head: lib/libc/gen libexec/rtld-elf
Konstantin Belousov
kib at FreeBSD.org
Wed Apr 1 07:38:21 PDT 2009
Author: kib
Date: Wed Apr 1 14:38:20 2009
New Revision: 190624
URL: http://svn.freebsd.org/changeset/base/190624
Log:
Document RTLD_NODELETE, -z nodelete and -z origin support.
Modified:
head/lib/libc/gen/dlopen.3
head/libexec/rtld-elf/rtld.1
Modified: head/lib/libc/gen/dlopen.3
==============================================================================
--- head/lib/libc/gen/dlopen.3 Wed Apr 1 13:44:28 2009 (r190623)
+++ head/lib/libc/gen/dlopen.3 Wed Apr 1 14:38:20 2009 (r190624)
@@ -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, t
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
Modified: head/libexec/rtld-elf/rtld.1
==============================================================================
--- head/libexec/rtld-elf/rtld.1 Wed Apr 1 13:44:28 2009 (r190623)
+++ head/libexec/rtld-elf/rtld.1 Wed Apr 1 14:38:20 2009 (r190624)
@@ -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, givi
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
More information about the svn-src-head
mailing list