Provided by: manpages-es_1.55-10_all bug

NOMBRE

       ld.so, ld-linux.so* - enlazador/cargador dinamico

DESCRIPCI'ON

       Los  programas ld.so y ld-linux.so* encuentran y cargan las bibliotecas
       compartidas requeridas por  un  programa,  preparan  al  programa  para
       ejecutarse y lo ejecutan.

       Los  ficheros  binarios  en  Linux requieren enlace dinamico (enlace en
       tiempo de ejecucion) a menos que se de la opcion -static a  ld  durante
       la compilacion.

       El  programa  ld.so  maneja  ficheros binarios con el formato a.out, un
       formato usado hace tiempo; ld-linux.so* maneja el formato ELF (/lib/ld-
       linux.so.1  para  libc5, /lib/ld-linux.so.2 para glibc2), que es el que
       se lleva usando desde hace unos anos.  Por lo demas,  ambos  tienen  el
       mismo  comportamiento  y  usan  los  mismos ficheros de configuracion y
       programas ldd(1), ldconfig(8) y /etc/ld.so.conf.

       Las bibliotecas compartidas que  necesita  un  programa  se  buscan  en
       varios lugares:

       o      (solo  para ELF) Usando el atributo dinamico de seccion DT_RPATH
              del binario si esta presente y el atributo DT_RUNPATH no existe.
              No se aconseja el uso de DT_RPATH.

       o      Usando  la  variable de entorno LD_LIBRARY_PATH, salvo cuando el
              ejecutable tiene activo el bit setuid/setgid, en  cuyo  caso  se
              ignora.

       o      (solo   para   ELF)  Usando  el  atributo  dinamico  de  seccion
              DT_RUNPATH del binario si esta presente.

       o      A partir del fichero cache /etc/ld.so.cache,  que  contiene  una
              lista    compilada   de   bibliotecas   candidatas   encontradas
              previamente en la ruta de bibliotecas ampliada. Si, sin embargo,
              el   binario  fue  enlazado  con  la  opcion  -z  nodeflib,  las
              bibliotecas que se encuentran en las rutas  predeterminadas  son
              omitidas.

       o      En  la  ruta  predeterminada /lib, y despues en /usr/lib.  Si el
              binario fue enlazado con la opcion  -znodeflib,  se  omite  este
              paso.

SINOPSIS

       El enlazador dinamico puede ejecutarse bien indirectamente, al ejecutar
       un programa o biblioteca enlazado dinamicamente (en cuyo caso no pueden
       pasarse  opciones en la linea de ordenes al enlazador dinamico y, en el
       caso del formato ELF, se ejecuta el enlazador dinamico que se encuentra
       almacenado  en  la  seccion  .interp  del  programa), bien directamente
       ejecutando:

       /lib/ld-linux.so.*  [OPCIONES] [PROGRAMA [ARGUMENTOS]]

OPCIONES DE LA L'INEA DE 'ORDENES

       --list Lista todas las dependencias y como se resuelven.

       --verify
              Comprueba que el programa esta enlazado dinamicamente y  que  el
              enlazador dinamico puede tratarlo.

       --library-path PATH
              Sobreescribe  la  variable  de  entorno LD_LIBRARY_PATH (vea mas
              abajo).

       --ignore-rpath LIST
              Ignora la informacion de RPATH  y  RUNPATH  en  los  nombres  de
              objeto   en   LIST.    Esta  opcion  fue  soportada  por  glibc2
              aproximadamente durante una hora.  Despues se renombro a:

       --inhibit-rpath LIST

ENTORNO

       Hay cuatro variables de entorno relevantes.

       LD_LIBRARY_PATH
              Una lista de directorios separados por dos puntos en los que  se
              buscan las bibliotecas ELF en tiempo de ejecucion.  Similar a la
              variable de entorno PATH.

       LD_PRELOAD
              Una lista adicional de biliotecas compartidas ELF  especificadas
              por  el  usuario y separadas por blancos que se cargan antes que
              el resto.  Puede ser utilizada para sobreescribir  funciones  en
              otras   bibliotecas   compartidas  de  manera  selectiva.   Para
              binarios ELF con el bit setuid/setgid activo, solo se cargan las
              biliotecas en los directorios de busqueda estandares que tambien
              tienen activo el bit setuid.

       LD_BIND_NOW
              (libc5; glibc desde la version 2.1.1)  Si  su  valor  no  es  la
              cadena  vacia, el enlazador dinamico resuelve todos los simbolos
              al comienzo del programa, en lugar de aplazar la  resolucion  de
              las  llamadas a funciones hasta el punto donde son referenciadas
              por primera vez.  Es util cuando se utiliza un depurador.

       LD_TRACE_LOADED_OBJECTS
              (solo para ELF) Si su valor no es la cadena vacia,  el  programa
              produce  un  listado  de  las  bibliotecas  dinamicas de las que
              depende, como si se hubiera ejecutado con ldd(1),  en  lugar  de
              ejecutar el programa normalmente.

       Tambien  hay  un  monton  de  variables  mas  o  menos  oscuras, muchas
       obsoletas o solamente para uso interno.

       LD_WARN
              (solo para ELF)(glibc desde la version 2.1.3) Si su valor no  es
              la cadena vacia, avisa sobre los simbolos sin resolver.

       LD_NOWARN
              (solo   para   a.out)(libc5)   Suprime   los  avisos  sobre  las
              bibliotecas a.out con numeros de version menor incompatibles.

       LD_BIND_NOT
              (glibc desde la version 2.1.95)  No  actualiza  el  GOT  (global
              offset  table  -  tabla  de  desplazamientos  global)  ni el PLT
              (procedure linkage table - tabla de  enlace  de  procedimientos)
              despues de resolver un simbolo.

       LD_DEBUG
              (glibc  desde  la  version 2.1) Produce abundante informacion de
              depuracion acerca del enlazador dinamico. Si  se  le  asigna  el
              valor  all  imprime toda la informacion de depuracion que posee,
              si se le asigna el valor help imprime un mensaje  de  ayuda  con
              las  categorias  que  pueden  especificarse  en esta variable de
              entorno.

       LD_DEBUG_OUTPUT
              (glibc desde la version 2.1) Fichero donde ira a parar la salida
              de  LD_DEBUG,  si  no se especifica se asume la salida estandar.
              LD_DEBUG_OUTPUT  se  ignora  para  los  binarios  con   el   bit
              setuid/setgid activo.

       LD_VERBOSE
              (glibc  desde la version 2.1) Si su valor no es la cadena vacia,
              muestra informacion sobre las versiones de los  simbolos  cuando
              se  esta  solicitando informacion sobre el programa (es decir, o
              bien se ha activado LD_TRACE_LOADED_OBJECTS, o bien se  ha  dado
              al enlazador dinamico la opcion --list o --verify).

       LD_PROFILE
              (glibc  desde  la  version 2.1) Objeto compartido para el que se
              desea obtener el perfil.

       LD_PROFILE_OUTPUT
              (glibc desde la version 2.1) Fichero donde ira a parar la salida
              de  LD_PROFILE, si no se especifica se asume la salida estandar.
              LD_DEBUG_OUTPUT  se  ignora  para  los  binarios  con   el   bit
              setuid/setgid activo.

       LD_AOUT_LIBRARY_PATH
              (libc5) Version de LD_LIBRARY_PATH solo para los binarios a.out.
              Las versiones anteriores  de  ld-linux.so.1  tambien  soportaban
              LD_ELF_LIBRARY_PATH.

       LD_AOUT_PRELOAD
              (libc5)  Version de LD_PRELOAD solo para los binarios a.out. Las
              versiones  anteriores  de   ld-linux.so.1   tambien   soportaban
              LD_ELF_PRELOAD.

       LD_SHOW_AUXV
              (glibc  desde  la  version 2.1) Muestra el array auxiliar que se
              pasa desde el nucleo.

       LD_HWCAP_MASK
              (glibc desde  la  version  2.1)  Mascara  para  las  capacidades
              hardware.

       LD_ORIGIN_PATH
              (glibc  desde la version 2.1) Ruta donde se encuentra el binario
              (para programas con el bit setuid desactivado).

       LD_DYNAMIC_WEAK
              (glibc desde la version 2.1.91) Permite que los simbolos debiles
              se  puedan  sobrescribir (volviendo al antiguo comportamiento de
              glibc).

       LD_KEEPDIR
              (solo para a.out)(libc5) No ignora el directorio en los  nombres
              de  las  bibliotecas  a.out  que  son  cargadas.  El uso de esta
              opcion esta fuertemente desaconsejado.

       LDD_ARGV0
              (libc5) argv[0] a ser usado por ldd(1) cuando no hay ninguno.

FICHEROS

       /lib/ld.so
              enlazador/cargador dinamico
       /lib/ld-linux.so.{1,2}
              enlazador/cargador dinamico ELF
       /etc/ld.so.cache
              Fichero que contiene una lista compilada de directorios  en  los
              que  buscar  biliotecas  y  una  lista  ordenada  de bibliotecas
              candidatas.
       /etc/ld.so.preload
              Fichero que contiene una lista de  bibliotecas  compartidas  ELF
              separadas por blancos que son cargadas antes que el programa.
       lib*.so*
              bibliotecas compartidas

OBSERVACIONES

       La  funcionalidad  ld.so  esta  disponible  para ejecutables compilados
       usando la version 4.4.3 de libc o posterior.  La funcionalidad ELF esta
       disponible desde la version 1.1.52 de Linux y libc5.

V'EASE TAMBI'EN

       ldd(1), ldconfig(8)

                               16 diciembre 2001                      ld.so(8)