[PATCH] ld.so.8: List more places in which dynamic string tokens are expanded

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This happens for more than just DT_RPATH/DT_RUNPATH.

Signed-off-by: Florian Weimer <fweimer@xxxxxxxxxx>

---
 man8/ld.so.8 | 42 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 37 insertions(+), 5 deletions(-)

diff --git a/man8/ld.so.8 b/man8/ld.so.8
index 2e98b7f5a..80f57a541 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"




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux