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