Provided by:
manpages-fr-extra_20111118_all 
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)