ld.so, ld-linux.so* - dynamic linker/loader
DESCRIPTION
ld.so loads the shared libraries needed by a program, pre
pares the program to run, and then runs it. Unless
explicitly specified via the -static option to ld during
compilation, all Linux programs are incomplete and require
further linking at run time.
The necessary shared libraries needed by the program are
searched for in the following order
o Using the DT_RPATH dynamic section attribute of the
binary if present and DT_RUNPATH attribute does not
exist.
o Using the environment variable LD_LIBRARY_PATH .
Except if the executable is a setuid/setgid binary,
in which case it is ignored.
o Using the DT_RUNPATH dynamic section attribute of
the binary if present.
o From the cache file /etc/ld.so.cache which contains
a compiled list of candidate libraries previously
found in the augmented library path. If, however,
the binary was linked with -z nodeflib linker
option, libraries in the default library paths are
skipped.
o In the default path /lib, and then /usr/lib. If
the binary was linked with -z nodeflib linker
option, this step is skipped.
SYNOPSIS
The dynamic linker can be run either indirectly through
running some dynamically linked program or library (in
which case no command line options to the dynamic linker
can be passed and the dynamic linker which is stored in
the .interp section of the program is executed) or
directly by running:
/lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUMENTS]]
COMMAND LINE OPTIONS
--list List all dependencies and how they are resolved.
--verify
Verify that program is dynamically linked and this
dynamic linker can handle it.
--library-path PATH
Override LD_LIBRARY_PATH environment variable
--ignore-rpath LIST
Ignore RPATH and RUNPATH information in object
names in LIST.
ENVIRONMENT
LD_LIBRARY_PATH
A colon-separated list of directories in which to
search for ELF libraries at execution-time. Simi
lar to the PATH environment variable.
LD_PRELOAD
A whitespace-separated list of additional, user-
specified, ELF shared libraries to be loaded before
all others. This can be used to selectively over
ride functions in other shared libraries. For
setuid/setgid ELF binaries, only libraries in the
standard search directories that are also setuid
will be loaded.
LD_TRACE_LOADED_OBJECTS
If set to non-empty string, causes the program to
list its dynamic library dependencies, as if run by
ldd, instead of running normally.
LD_BIND_NOW
If set to non-empty string, causes the dynamic
linker to resolve all symbols at program startup
instead of deferring function call resolval to the
point when they are first referenced.
LD_WARN
If set to non-empty string, warn about unresolved
symbols.
LD_DEBUG
Output verbose debugging information about the
dynamic linker. If set to all prints all debugging
information it has, if set to help prints a help
message about which categories can be specified in
this environment variable.
LD_DEBUG_OUTPUT
File where LD_DEBUG output should be fed into,
default is standard output. LD_DEBUG_OUTPUT is
ignored for setuid/setgid binaries.
LD_VERBOSE
If set to non-empty string, output symbol version
ing information about the program if querying
information about the program (ie. either
LD_TRACE_LOADED_OBJECTS has been set, or --list or
--verify options have been given to the dynamic
FILES
/lib/ld-linux.so.* ELF dynamic linker/loader
/etc/ld.so.cache
File containing a compiled list of directories in
which to search for libraries and an ordered list
of candidate libraries.
/etc/ld.so.preload
File containing a whitespace separated list of ELF
shared libraries to be loaded before the program.
libraries and an ordered list of candidate
libraries.
lib*.so*
shared libraries
SEE ALSO
ldd(1), ldconfig(8).
AUTHORS
Roland McGrath, Ulrich Drepper and others. This man page
is derived from libc 5 ld.so manual page.
Man(1) output converted with
man2html