ld.so - phpMan

Command: man perldoc info search(apropos)  


LD.SO(8)                   Linux Programmer’s Manual                  LD.SO(8)



NAME
       ld.so, ld-linux.so* - dynamic linker/loader

DESCRIPTION
       The  programs ld.so and ld-linux.so* find and load the shared libraries needed by a
       program, prepare the program to run, and then run it.

       Linux binaries require dynamic linking (linking at run  time)  unless  the  -static
       option was given to ld during compilation.

       The program ld.so handles a.out binaries, a format used long ago; ld-linux.so* han-
       dles ELF (/lib/ld-linux.so.1  for  libc5,  /lib/ld-linux.so.2  for  glibc2),  which
       everybody  has  been  using for years now.  Otherwise both have the same behaviour,
       and  use  the  same  support   files   and   programs   ldd(1),   ldconfig(8)   and
       /etc/ld.so.conf.

       The shared libraries needed by the program are searched for in various places:

       o      (ELF  only)  Using  the  DT_RPATH dynamic section attribute of the binary if
              present and DT_RUNPATH attribute does not exist.  Use of DT_RPATH is  depre-
              cated.

       o      Using the environment variable LD_LIBRARY_PATH.  Except if the executable is
              a setuid/setgid binary, in which case it is ignored.

       o      (ELF only) 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 can-
              didate libraries previously found in the augmented library  path.  If,  how-
              ever, 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, in the ELF case, 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 setting (see below).

       --ignore-rpath LIST
              Ignore  RPATH  and RUNPATH information in object names in LIST.  This option
              has been supported by glibc2 for about one hour.  Then it was renamed into:

       --inhibit-rpath LIST

ENVIRONMENT
       There are four important environment variables.

       LD_LIBRARY_PATH
              A colon-separated list of directories in which to search for  ELF  libraries
              at execution-time.  Similar 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
              override  functions  in other shared libraries.  For setuid/setgid ELF bina-
              ries, only libraries in the standard search directories that are also setuid
              will be loaded.

       LD_BIND_NOW
              (libc5;  glibc  since  2.1.1) If set to non-empty string, causes the dynamic
              linker to resolve all symbols at program startup instead of deferring  func-
              tion  call  resolval  to  the point when they are first referenced.  This is
              useful when using a debugger.

       LD_TRACE_LOADED_OBJECTS
              (ELF only) If set to non-empty  string,  causes  the  program  to  list  its
              dynamic  library  dependencies, as if run by ldd(1), instead of running nor-
              mally.

       Then there are lots of more or less obscure variables, many obsolete  or  only  for
       internal use.

       LD_WARN
              (ELF  only)(glibc  since 2.1.3) If set to non-empty string, warn about unre-
              solved symbols.

       LD_NOWARN
              (a.out only)(libc5) Suppress warnings about a.out libraries with  incompati-
              ble minor version numbers.

       LD_BIND_NOT
              (glibc  since  2.1.95)  Do  not update the GOT (global offset table) and PLT
              (procedure linkage table) after resolving a symbol.

       LD_DEBUG
              (glibc since 2.1) 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
              (glibc  since 2.1) File where LD_DEBUG output should be fed into, default is
              standard output.  LD_DEBUG_OUTPUT is ignored for setuid/setgid binaries.

       LD_VERBOSE
              (glibc since 2.1) If set  to  non-empty  string,  output  symbol  versioning
              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 linker).

       LD_PROFILE
              (glibc since 2.1) Shared object to be profiled.

       LD_PROFILE_OUTPUT
              (glibc  since 2.1) File where LD_PROFILE output should be stored, default is
              standard output.  LD_DEBUG_OUTPUT is ignored for setuid/setgid binaries.

       LD_AOUT_LIBRARY_PATH
              (libc5) Version of LD_LIBRARY_PATH for a.out binaries only.  Old versions of
              ld-linux.so.1 also supported LD_ELF_LIBRARY_PATH.

       LD_AOUT_PRELOAD
              (libc5)  Version of LD_PRELOAD for a.out binaries only.  Old versions of ld-
              linux.so.1 also supported LD_ELF_PRELOAD.

       LD_SHOW_AUXV
              (glibc since 2.1) Show auxiliary array passed up from the kernel.

       LD_HWCAP_MASK
              (glibc since 2.1) Mask for hardware capabilities.

       LD_ORIGIN_PATH
              (glibc since 2.1) Path where the binary is found (for non-setuid  programs).

       LD_DYNAMIC_WEAK
              (glibc  since  2.1.91) Allow weak symbols to be overridden (reverting to old
              glibc behaviour).

       LD_KEEPDIR
              (a.out only)(libc5) Don’t  ignore  the  directory  in  the  names  of  a.out
              libraries to be loaded.  Use of this option is strongly discouraged.

       LDD_ARGV0
              (libc5) argv[0] to be used by ldd(1) when none is present.

FILES
       /lib/ld.so
              a.out dynamic linker/loader
       /lib/ld-linux.so.{1,2}
              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

NOTES
       The ld.so functionality is available for executables compiled  using  libc  version
       4.4.3 or greater.  ELF functionality is available since Linux 1.1.52 and libc5.

SEE ALSO
       ldd(1), ldconfig(8)



                                  2001-12-16                          LD.SO(8)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-09 07:48 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!