Provided by: manpages-fr-extra_20111118_all bug

NOM

       ld.so, ld-linux.so - Chargeur et editeur de liens dynamique

DESCRIPTION

       Le  programme  ld.so  trouve  et  charge  les  bibliotheques  partagees
       necessaires pour un programme, prepare son demarrage, et  le  lance.  A
       moins  que l'option -static n'ait ete indiquee sur la ligne de commande
       de ld durant la compilation, un binaire Linux  n'est  pas  autonome  et
       necessite une edition de liens dynamique pendant son lancement.

       Les bibliotheques partagees necessaires a un programme sont recherchees
       consecutivement dans les endroits suivants :

       o      En  utilisant  la   variable   d'environnement   LD_LIBRARY_PATH
              (LD_AOUT_LIBRARY_PATH   pour   le   format   a.out),   sauf   si
              l'executable est un binaire setuid ou setgid,  auquel  cas  elle
              est ignoree.

       o      Depuis  le fichier cache /etc/ld.so.cache qui contient une liste
              compilee  de  bibliotheques   candidates   trouvees   lors   des
              executions  precedentes  dans  les  chemins  de  recherche.  Les
              bibliotheques  installees  dans  des  repertoires  de   capacite
              materielle   (voir   ci-dessous)   sont   preferees  aux  autres
              bibliotheques.

       o      Dans les repertoires par defaut /lib, puis /usr/lib.

OPTIONS EN LIGNE DE COMMANDE

       --list Liste les dependances et leurs resolutions.

       --verify
              Verifie que le programme est lie dynamiquement et que  l'editeur
              de liens peut le traiter.

       --library-path CHEMIN
              Surcharge la variable d'environnement LD_LIBRARY_PATH (voir plus
              bas).

       --ignore-rpath LISTE
              Ignorer les informations RPATH et RUNPATH dans les objets de  la
              LISTE.  Cette  option  a  ete  supportee  par  la glibc2 pendant
              environ une heure. Puis elle a ete renommee en :

       --inhibit-rpath LISTE

ENVIRONNEMENT

       LD_LIBRARY_PATH
              Comme la variable d'environnement PATH, cette variable  contient
              une  liste  de  repertoires  separes  par  des  deux-points. Les
              bibliotheques au format ELF sont recherchees a l'execution  dans
              ces repertoires.

       LD_PRELOAD
              Une  liste  de  bibliotheques  ELF  (separees  par  des  blancs)
              specifiques  a  l'utilisateur,  a  charger  avant   les   autres
              bibliotheques.  Ceci  permet  de  surcharger  selectivement  les
              fonctions des autres bibliotheques partagees. Pour les  binaires
              ELF  setuid  et  setgid,  seules  les  bibliotheques  setgid des
              repertoires standards seront chargees.

       LD_TRACE_LOADED_OBJECTS
              Lorsqu'elle est presente, le  programme  liste  ses  dependances
              dynamiques comme s'il etait lance par ldd, au lieu de s'executer
              normalement.

       LD_BIND_NOW
              Si elle est presente,  l'editeur  de  liens  resoudra  tous  les
              symboles  au  demarrage  du  programme  au  lieu de repousser la
              resolution des noms de fonctions  au  moment  de  leur  premiere
              reference.

       LD_BIND_NOT
              Ne  pas mettre a jour les tables GOT (<< global offset table >>)
              et PLT (<< procedure linkage table >>) apres une  resolution  de
              symbole.

       LD_AOUT_LIBRARY_PATH
              Comme  la variable d'environnement PATH, cette variable contient
              une liste  de  repertoires  separes  par  des  deux-points.  Les
              bibliotheques au format a.out sont recherchees au demarrage dans
              ces repertoires.

       LD_AOUT_PRELOAD
              Le nom d'une bibliotheque a.out specifique  a  l'utilisateur,  a
              charger   apres   les   autres  bibliotheques.  Ceci  permet  de
              surcharger selectivement les fonctions des autres  bibliotheques
              partagees.

       LD_NOWARN
              Supprimer  les  avertissements  a propos des bibliotheques a.out
              incompatibles avec les numeros de versions mineures anterieures.

       LD_WARN
              Si la chaine est non vide,  avertir  si  un  symbole  n'est  pas
              resolu.

       LD_KEEPDIR
              Ne  pas  ignorer  le  repertoire  dans les noms de bibliotheques
              a.out. Cette option est tres deconseillee.

       LD_DEBUG
              Afficher de nombreuses informations  de  debogage  de  l'editeur
              dynamique.   Si  elle  vaut  all,  afficher  tous  les  messages
              d'information, si elle vaut help, afficher un message  d'aide  a
              propos   des   categories  que  peuvent  valoir  cette  variable
              d'environnement.

       LD_DEBUG_OUTPUT
              Fichier ou la sortie  de  LD_DEBUG  devrait  etre  envoyee.  Par
              defaut,  c'est  la  sortie standard. LD_DEBUG_OUTPUT est ignoree
              pour les binaires setuid ou setgid.

       LD_VERBOSE
              S'il s'agit d'une chaine non vide, afficher les informations sur
              la  version des objets pour lesquels on demande des informations
              sur le programme (si LD_TRACE_LOADED_OBJECTS a  ete  configuree,
              ou si les options --list ou --verify ont ete donnees a l'editeur
              de liens dynamique).

       LD_PROFILE
              Objet partage a profiler.

       LD_PROFILE_OUTPUT
              Fichier ou la sortie de  LD_PROFILE  doit  etre  redirigee.  Par
              defaut,  c'est la sortie standard. LD_PROFILE_OUTPUT est ignoree
              pour les binaires setuid ou setgid.

       LD_ASSUME_KERNEL
              Chaque objet partage dynamiquement (ou  bibliotheque  dynamique,
              ou  DSO : << Dynamic Shared Object >>) peut indiquer a l'editeur
              de liens dynamique de la glibc quelle est la version minimale de
              l'ABI  du  systeme  est  necessaire. Cette information est codee
              dans   une    section    de    note    ELF    souvent    appelee
              << .note.ABI-tag >>.    Ceci   permet   de   determiner   quelle
              bibliotheque  charger  quand  plusieurs  versions  de  la   meme
              bibliotheque   sont  installees  sur  le  systeme.  La  variable
              d'environnement LD_ASSUME_KERNEL surcharge la version  du  noyau
              utilisee  par l'editeur de liens dynamique qui determine quelles
              bibliotheques doivent etre chargees.

EXPANSION DES VARIABLES RPATH

       L'editeur fournit un nombre de variables  qui  peuvent  etre  utilisees
       dans une specification rpath (DT_RPATH ou DT_RUNPATH).

       $ORIGIN
              ls.so  comprend  la  chaine  $ORIGIN  (ou de maniere equivalente
              ${ORIGIN}) dans un rpath pour  signifier  le  repertoire  ou  se
              trouve  l'executable  de  l'application.  Une application situee
              dans un repertoire  toto/app  peut  etre  compilee  avec  << gcc
              -Wl,-rpath   '$ORIGIN/../lib' >>   ;  elle  trouvera  alors  les
              bibliotheques partagees associees dans toto/lib  quel  que  soit
              l'emplacement du repertoire toto dans le hierarchie de fichiers.

       $PLATFORM
              La chaine $PLATFORM (ou de maniere equivalente ${PLATFORM}) dans
              un rpath est remplace par le type de processeur  de  la  machine
              actuelle.  Notez que sur certaines architectures, le noyau Linux
              ne fournit pas de chaines a l'editeur de liens.

       $LIB   La chaine $LIB (ou de maniere equivalente ${LIB}) dans un  rpath
              correspond  au  repertoire  des  bibliotheques systemes, qui est
              /lib sur les architectures GNU/Linux compatibles FHS.

CAPACIT'ES MAT'ERIELLES

       Les bibliotheques peuvent etre compilees en utilisant des  instructions
       specifiques   au   materiel   qui   n'existent   pas   pour   tous  les
       microprocesseurs. Ces bibliotheques doivent etre  installees  dans  des
       repertoires   dont   le  nom  definit  une  capacite  materielle  comme
       /usr/lib/sse2/. L'editeur de lien dynamique verifie ces repertoires  en
       fonction  du  materiel  et selectionne la version la mieux adaptee pour
       une bibliotheque donnee. Les repertoires de capacite materielle peuvent
       etre  imbriques  pour combiner les caracteristiques du microprocesseur.
       Les  capacites  materielles  dependent  du  microprocesseur.  Les  noms
       suivants sont reconnus pour le moment.

       Alpha  ev4, ev5, ev56, ev6, ev67.

       MIPS   loongson2e, loongson2f, octeon, octeon2.

       PowerPC
              4xxmac,  altivec,  arch_2_05,  arch_2_06,  booke,  cellbe,  dfp,
              efpdouble, efpsingle, fpu, ic_snoop, mmu,  notb,  pa6t,  power4,
              power5,  power5+,  power6x,  ppc32,  ppc601,  ppc64,  smt,  spe,
              ucache, vsx.

       SPARC  flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2.

       s390   dfp, eimm, esan3, etf3enh,  g5,  highgprs,  hpage,  ldisp,  msa,
              stfle, z900, z990, z9-109, z10, zarch.

       x86 (uniquement 32 bits)
              acpi,  apic,  clflush,  cmov,  cx8,  dts, fxsr, ht, i386,
              i486, i586, i686, mca, mmx,  mtrr,  pat,  pbe,  pge,  pn,
              pse36, sep, ss, sse, sse2, tm.

FICHIERS

       /lib/ld.so          le   chargeur/editeur   de  liens  dynamique
                           a.out.
       /lib/ld-linux.so.*  Le chargeur/editeur de liens dynamique ELF.
       /etc/ld.so.cache    Fichier  contenant  la  liste  compilee  des
                           repertoires     ou     se    trouvent    des
                           bibliotheques, ainsi qu'une  liste  ordonnee
                           de bibliotheques candidates.
       /etc/ld.so.preload  Fichier contenant une liste de bibliotheques
                           ELF, separees par  des  espaces,  a  charger
                           avant de demarrer le programme.
       /etc/ld.so.nohwcap  Quand  ce  fichier est present, l'editeur de
                           liens  dynamique  charge  la   version   non
                           optimisee  de  la  bibliotheque,  meme si le
                           processeur peut gerer la version optimisee.
       lib*.so*            Bibliotheques partagees.

VOIR AUSSI

       ldd(1), ldconfig(8).

BOGUES

       Actuellement, ld.so ne peut pas enlever un  lien  existant  pour
       chercher des bibliotheques compatibles ou plus recentes.

       Les  fonctionnalites  de  ld.so ne sont disponibles que pour des
       programmes compiles avec une libc 4.4.3 ou plus  recente  (NdT :
       les  versions  actuelles ont ete renommees en glibc et le numero
       de version a ete reinitialise).

AUTEURS

       David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu,  Linus
       Torvalds,  Lars  Wirzenius  et Mitch D'Souza (pas necessairement
       dans cet ordre).

TRADUCTION

       Cette page de manuel a ete traduite par Christophe  Blaess  <ccb
       AT  club-internet  DOT  fr>  en  2003.  La version presente dans
       Debian   est   maintenue   par   les   membres   de   la   liste
       <debian-l10n-french  AT  lists  DOT  debian  DOT org>.  Veuillez
       signaler toute erreur de traduction par un rapport de bogue  sur
       le paquet manpages-fr-extra.

                                  26 mai 2007                         LD.SO(8)