aboutsummaryrefslogtreecommitdiffstats
path: root/man8
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-07-20 12:00:23 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2020-07-20 13:36:19 +0200
commit8aea307b4f0dbe179588be71464da771ab85fdbc (patch)
treee936d7f08b0523a45e13d0dc237074b48bb53f50 /man8
parent9eff2f495f894f9443e2c57e878a4f2cd6f5f730 (diff)
downloadman-pages-8aea307b4f0dbe179588be71464da771ab85fdbc.tar.gz
ld.so.8: List more places in which dynamic string tokens are expanded
This happens for more than just DT_RPATH/DT_RUNPATH. Signed-off-by: Florian Weimer <fweimer@redhat.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Diffstat (limited to 'man8')
-rw-r--r--man8/ld.so.842
1 files changed, 37 insertions, 5 deletions
diff --git a/man8/ld.so.8 b/man8/ld.so.8
index 2e98b7f5a4..80f57a5418 100644
--- a/man8/ld.so.8
+++ b/man8/ld.so.8
@@ -97,12 +97,41 @@ and then
If the binary was linked with the
.B \-z nodeflib
linker option, this step is skipped.
-.SS Rpath token expansion
+.SS Dynamic string tokens
.PP
-The dynamic linker
-understands certain token strings in an rpath specification
-(DT_RPATH or DT_RUNPATH).
-Those strings are substituted as follows:
+In several places, the dynamic linker expands dynamic string tokens:
+.IP o 3
+In the environment variables
+.BR LD_LIBRARY_PATH ,
+.BR LD_PRELOAD ,
+and
+.BR LD_AUDIT ,
+.IP o 3
+inside the values of the dynamic section tags
+.BR DT_NEEDED ,
+.BR DT_RPATH ,
+.BR DT_RUNPATH ,
+.BR DT_AUDIT ,
+and
+.BR DT_DEPAUDIT
+of ELF binaries,
+.IP o 3
+in the arguments to the
+.B ld.so
+command line options
+.BR \-\-audit ,
+.BR \-\-library-path ,
+and
+.B \-\-preload
+(see below), and
+.IP o 3
+in the file name arguments to the
+.BR dlopen (3)
+and
+.BR dlmopen (3)
+functions.
+.PP
+The substituted tokens are as follows.
.TP
.IR $ORIGIN " (or equivalently " ${ORIGIN} )
This expands to
@@ -156,6 +185,9 @@ value in the auxiliary vector (see
.\"
.\" ld.so lets names be abbreviated, so $O will work for $ORIGIN;
.\" Don't do this!!
+.PP
+Note that the dynamic string tokens have to be quoted properly when
+set from a shell, to prevent their expension as environment variables.
.SH OPTIONS
.TP
.BI \-\-audit " list"