]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man8/ld.so.8
cmsg.3: CONFORMING TO: note which CMSG_* APIs are in current and upcoming POSIX
[thirdparty/man-pages.git] / man8 / ld.so.8
index 8341770585c88fa76fb3c5cd74ab7cb98f2825f3..f34eca3d88300df952b03e5ca402be7ac3696c0e 100644 (file)
@@ -2,7 +2,7 @@
 .\" This is in the public domain
 .\" %%%LICENSE_END
 .\"
-.TH LD.SO 8 2019-02-27 "GNU" "Linux Programmer's Manual"
+.TH LD.SO 8 2019-08-02 "GNU" "Linux Programmer's Manual"
 .SH NAME
 ld.so, ld\-linux.so \- dynamic linker/loader
 .SH SYNOPSIS
@@ -33,17 +33,17 @@ during compilation.
 .PP
 The program
 .B ld.so
-handles a.out binaries, a format used long ago;
+handles a.out binaries, a binary format used long ago.
+The program
 .B ld\-linux.so*
 (\fI/lib/ld\-linux.so.1\fP for libc5, \fI/lib/ld\-linux.so.2\fP for glibc2)
-handles ELF,
-which everybody has been using for years now.
-Otherwise, both have the same behavior, and use the same
-support files and programs as
-.BR ldd (1),
+handles binaries that are in the more modern ELF format.
+Both programs have the same behavior, and use the same
+support files and programs
+.RB ( ldd (1),
 .BR ldconfig (8),
 and
-.IR /etc/ld.so.conf .
+.IR /etc/ld.so.conf ).
 .PP
 When resolving shared object dependencies,
 the dynamic linker first inspects each dependency
@@ -111,7 +111,11 @@ Thus, an application located in
 .I somedir/app
 could be compiled with
 .IP
-    gcc \-Wl,\-rpath,\(aq$ORIGIN/../lib\(aq
+.in +4n
+.EX
+gcc \-Wl,\-rpath,\(aq$ORIGIN/../lib\(aq
+.EE
+.in
 .IP
 so that it finds an associated shared object in
 .I somedir/lib
@@ -411,12 +415,13 @@ Then there are lots of more or less obscure variables,
 many obsolete or only for internal use.
 .TP
 .BR LD_AUDIT " (since glibc 2.4)"
-A colon-separated list of user-specified, ELF shared objects
+A list of user-specified, ELF shared objects
 to be loaded before all others in a separate linker namespace
 (i.e., one that does not intrude upon the normal symbol bindings that
 would occur in the process)
-and there is no support for escaping the separator.
 These objects can be used to audit the operation of the dynamic linker.
+The items in the list are colon-separated,
+and there is no support for escaping the separator.
 .IP
 .B LD_AUDIT
 is ignored in secure-execution mode.
@@ -427,7 +432,7 @@ loading a new shared object, resolving a symbol,
 or calling a symbol from another shared object\(emby
 calling an appropriate function within the audit shared object.
 For details, see
-.BR rtld-audit (7).
+.BR rtld\-audit (7).
 The auditing interface is largely compatible with that provided on Solaris,
 as described in its
 .IR "Linker and Libraries Guide" ,
@@ -699,7 +704,6 @@ randomization (ASLR),
 .B LD_PREFER_MAP_32BIT_EXEC
 is always disabled in secure-execution mode.
 .SH FILES
-.PD 0
 .TP
 .I /lib/ld.so
 a.out dynamic linker/loader
@@ -736,7 +740,6 @@ as a temporary workaround to a library misconfiguration issue.)
 .TP
 .I lib*.so*
 shared objects
-.PD
 .SH NOTES
 .SS Hardware capabilities
 Some shared objects are compiled using hardware-specific instructions which do
@@ -749,6 +752,8 @@ machine and selects the most suitable version of a given shared object.
 Hardware capability directories can be cascaded to combine CPU features.
 The list of supported hardware capability names depends on the CPU.
 The following names are currently recognized:
+.\" Presumably, this info comes from sysdeps/i386/dl-procinfo.c and
+.\" similar files
 .TP
 .B Alpha
 ev4, ev5, ev56, ev6, ev67
@@ -780,7 +785,7 @@ mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm
 .BR getauxval (3),
 .BR elf (5),
 .BR capabilities (7),
-.BR rtld-audit (7),
+.BR rtld\-audit (7),
 .BR ldconfig (8),
 .BR sln (8)
 .\" .SH AUTHORS