ld

Section: Outils de Développement GNU (1)
Updated:
Index


NOM
SYNOPSIS
DESCRIPTION
OPTIONS
ENVIRONNEMENT
VOIR AUSSI
COPYRIGHT
TRADUCTION

NOM

ld - L'éditeur de liens GNU.

SYNOPSIS

ld
[-o fich_sortie] fich_objet...
[-Aarchitecture] [-b format-entrée] [-Bstatic] [-Bgroup] [-Bdynamic] [-Bsymbolic] [-c fich_commandes] [--cref] [-d|-dc|-dp]
[-defsym symbole = expression] [--demangle] [--no-demangle] [-e entrée] [-embedded-relocs] [-E] [-export-dynamic] [-f nom] [--auxiliary nom] [-F nom] [--filter nom] [-format format-entrée] [-g] [-G taille] [-h nom] [-soname nom] [--help] [-i] [-lar] [-Lrep_recherche] [-M] [-Map fich_corresp] [-m émulation] [-n|-N] [-noinhibit-exec] [-no-keep-memory] [-no-warn-mismatch] [-Oniveau] [-oformat format-sortie] [-R nom_fichier] [-relax] [-r|-Ur] [-rpath répertoire] [-rpath-link répertoire] [-S] [-s] [-shared] [-sort-common] [-split-by-reloc nombre] [-split-by-file] [-T fich_commandes] [--section-start nom_section=orig_section] [-Ttext orig_texte] [-Tdata orig_données] [-Tbss orig_bss] [-t] [-u symb] [-V] [-v] [--verbose] [--version] [-warn-common] [-warn-constructors] [-warn-multiple-gp] [-warn-once] [-warn-section-align] [--whole-archive] [--no-whole-archive] [--wrap symbole] [-X] [-x]

DESCRIPTION

ld combine des fichiers objets et archives, reloge leurs données et lie les références aux symboles. Souvent, la dernière action à effectuer dans la construction d'un nouveau programme compilé à exécuter est un appel à ld.
ld accepte des fichiers écrits dans le Langage de Commande de l'Éditeur de Liens pour fournir un contrôle explicite et total sur le processus d'édition des liens. Cette page de manuel ne décrit pas le langage de commandes ; voyez l'entrée « ld » dans « info », ou le manuel ld: the GNU linker , pour des détails complets sur le langage de commandes et d'autres aspects de l'éditeur de liens GNU.
Cette version de ld utilise les librairies BFD génériques pour opérer sur les fichiers objets. Cela permet à ld de lire, combiner et écrire des fichiers objets dans un grand nombre de formats différents---par exemple, COFF ou a.out. Différents formats peuvent être liés ensemble pour produire un fichier exécutable de n'importe quel type. Vous pouvez utiliser « objdump -i » pour obtenir une liste des formats supportés dans différentes architectures ; voyez objdump(1).
En plus de sa flexibilité, l'éditeur de liens GNU est plus utile que tout autre éditeur de liens pour la fourniture d'information de diagnostic. Beaucoup d'éditeurs de liens abandonnent l'exécution immédiatement après avoir rencontré une erreur ; quand c'est possible, ld continue l'exécution, vous permettant d'identifier d'autres erreurs (ou, dans certains cas, d'obtenir un fichier objet malgré l'erreur).
L'éditeur de liens GNU ld est conçu pour recouvrir une large étendue de situations, et pour être aussi compatible que possible avec d'autres éditeurs de liens. Vous disposez donc d'un grand choix d'options pour contrôler son comportement via la ligne de commandes, et à partir des variables d'environnement.

OPTIONS

La pléthore d'options de ligne de commandes peut être rebutante, mais en général peu d'entre elles sont utilisées si ce n'est dans des contextes bien particuliers. Par exemple, une utilisation fréquente de ld est de lier des fichiers objets Unix standard sur un système Unix standard supporté. Sur un tel système, pour éditer les liens d'un fichier hello.o, il faut faire :

$ ld -o sortie /lib/crt0.o hello.o -lc

Ceci indique à ld de produire un fichier dénommé sortie , qui est le résultat de la liaison du fichier /lib/crt0.o avec hello.o et la librairie libc.a , qui provient des répertoires standards de recherche.
Les options de ligne de commandes de ld peuvent être spécifiées dans n'importe quel ordre, et répétées à volonté. Pour la plupart d'entre elles, la répétition d'une option avec des arguments différents n'aura aucun effet, ou surchargera ses occurrences précédentes (celles situées plus à gauche sur la ligne de commandes).
Les exceptions---qui peuvent être utilisées sensément plus d'une fois---sont -A, -b (ou son synonyme -format), -defsym, -L, -l, -R, et -u.
La liste des fichiers objets à lier ensemble, à savoir fich_objet, peut suivre, précéder ou être mélangée aux options de ligne de commandes, sauf qu'un argument fich_objet ne peut être placé entre une option et son argument.
D'habitude, l'éditeur de liens est invoqué avec au moins un fichier objet, mais d'autres formes d'entrées binaires peuvent également être spécifiées avec -l, -R, et avec le langage de commandes de scripts. Si aucun fichier d'entrée binaire n'est spécifié, l'éditeur des liens ne produit aucune sortie, et émet le message « No input files » (Aucun fichier d'entrée).
Les arguments options doivent ou bien suivre directement la lettre d'option sans espace entre les deux, ou bien être donnés en tant qu'arguments séparés suivant immédiatement l'option qui les requiert.
-Aarchitecture
Dans la version actuelle de ld, cette option n'est utile que pour la famille d'architectures Intel 960. Dans cette configuration de ld , l'argument architecture est l'un des noms de deux lettres identifiant les membres de la famille 960 ; l'option spécifie la cible de sortie désirée, et avertit en cas d'instructions incompatibles dans les fichiers d'entrée. Elle modifie également la stratégie de recherche des archives de librairie par l'éditeur de liens, pour supporter l'utilisation de librairies spécifiques à une architecture particulière, en incluant dans la boucle de recherche les noms suffixés par la chaîne de caractères identifiant l'architecture.
Par exemple, si votre ligne de commandes ld incluait aussi bien « -ACA » que « -ltry », l'éditeur de liens rechercherait (dans ses chemins de recherches intégrés, et dans tous les chemins spécifiés avec -L) une librairie de nom

try
libtry.a
tryca
libtryca.a


Les deux premières possibilités seraient envisagées dans tous les cas, les deux dernières sont dues à l'utilisation de « -ACA ».
Des versions futures de ld pourraient supporter des fonctionnalités différentes pour d'autres familles d'architectures.
Vous pouvez utiliser sensément -A plus d'une fois sur la ligne de commandes si une famille d'architectures permet la combinaison d'architectures cibles. Chaque utilisation ajoutera une nouvelle paire de variantes de noms à rechercher quand -l spécifie une librairie.
-b format-entrée
Spécifie le format binaire des fichiers objets en entrée qui suivent cette option sur la ligne de commandes. En général, vous n'avez pas besoin de spécifier cela, car ld est configuré pour s'attendre comme format d'entrée par défaut au format le plus utilisé sur chaque machine. format-entrée est une chaîne de caractères textuelle correspondant au nom d'un format particulier supporté par les librairies BFD. -format format-entrée a le même effet, comme l'a aussi la commande de script TARGET.
Vous pouvez utiliser cette option si vous liez des fichiers utilisant un format binaire inhabituel. Vous pouvez également utiliser -b pour changer de format explicitement (quand vous liez des fichiers objets de différents formats), en incluant -b format-entrée avant chaque groupe de fichiers objets d'un format spécial.
Le format par défaut est trouvé dans la variable d'environnement GNUTARGET. Vous pouvez aussi définir le format d'entrée à partir d'un script en utilisant la commande TARGET.
-Bstatic
Ne pas lier avec des librairies partagées. Ceci n'a de sens que sur les plates-formes où l'utilisation de librairies partagées est supportée.
-Bdynamic
Lier avec des librairies dynamiques. Ceci n'a de sens que sur les plates-formes où l'utilisation de librairies partagées est supportée. Cette option est en général le défaut sur de telles plates-formes.
-Bgroup
Définir le drapeau DF_1_GROUP dans l'entrée DT_FLAGS_1 de la section dynamique. Cela fait traiter par l'éditeur des liens à l'exécution les recherches dans cet objet, et ses dépendances uniquement à l'intérieur du groupe. Aucun symbole non défini n'est permis. Cette option n'a de sens que sur les plates-formes ELF qui supportent les librairies partagées.
-Bsymbolic
Pendant la création d'une librairie partagée, lier les références à des symboles globaux avec les définitions à l'intérieur de la librairie partagée (s'il y en a). Normalement, un programme lié avec une librairie partagée peut surcharger la définition située à l'intérieur de la librairie partagée. Cette option n'a de sens que sur les plates-formes ELF qui supportent les librairies partagées.
-c fich_commandes
Indiquer à ld de lire les commandes de liaison à partir du fichier fich_commandes. Ces commandes surchargeront complètement le format de liaison par défaut de ld (plutôt que de s'y ajouter) ; fich_commandes doit spécifier tout ce qui est nécessaire pour décrire le format cible.
Vous pouvez également inclure un script de commandes de liaisons directement dans la ligne de commandes en l'encadrant par des accolades.
--cref
Émettre une table des références croisées. Si un fichier de correspondances d'un éditeur de liens est généré, la table des références croisées est imprimée dans le fichier de correspondances. Sinon, elle est affichée sur la sortie standard.
-d
-dc
-dp
Ces trois options sont équivalentes ; des formes multiples sont supportées pour assurer la compatibilité avec d'autres éditeurs de liens. Utilisez n'importe laquelle d'entre elles pour que ld réserve de la place aux symboles communs même si un fichier de sortie relogeable est spécifié (-r). La commande de script FORCE_COMMON_ALLOCATION a le même effet.
-defsym symbole = expression
Créer un symbole global dans le fichier de sortie, contenant l'adresse absolue fournie par expression. Vous pouvez utiliser cette option autant de fois que nécessaire pour définir de multiples symboles sur la ligne de commandes. Une forme d'arithmétique limitée est supportée pour l'expression dans ce contexte : vous pouvez donner une constante hexadécimale ou le nom d'un symbole existant, ou utiliser + et - pour ajouter ou soustraire des constantes hexadécimales ou des symboles. Si vous avez besoin d'expressions plus élaborées, vous devriez utiliser le langage de commandes de l'éditeur de liens à partir d'un script.
--demangle
--no-demangle
Ces options contrôlent s'il faut décoder ou non les noms de symboles dans les messages d'erreur et dans d'autres sorties. Quand l'éditeur de liens est informé qu'il doit décoder, il essaie de présenter les noms de symboles d'une manière lisible pour un humain : il supprime les _ de tête s'ils sont utilisés par le format du fichier objet, et convertit les noms de symboles C++ codés en noms lisibles par l'utilisateur. L'éditeur de liens décodera par défaut à moins que la variable d'environnement COLLECT_NO_DEMANGLE ne soit définie. Ces options peuvent être utilisées pour surcharger le comportement par défaut.
-e entrée
Utiliser entrée comme un symbole explicite pour le commencement de l'exécution de votre programme, plutôt que le point d'entrée par défaut. Voyez l'entrée « ld » dans « info » pour une discussion sur les comportements par défaut et les autres façons de spécifier le point d'entrée.
-embedded-relocs
Cette option n'a de sens que pendant l'édition des liens de code MIPS indépendant de la position généré par l'option -membedded-pic du compilateur et de l'assembleur GNU. Elle oblige l'éditeur de liens à créer une table pouvant être utilisée durant l'exécution pour reloger des données qui ont été statiquement initialisées à des valeurs de type pointeur. Voyez le code dans testsuite/ld-empic pour les détails.
-E
-export-dynamic
Pendant la création d'un fichier ELF, ajouter tous les symboles à la table des symboles dynamiques. Normalement, la table des symboles dynamiques ne contient que les symboles qui sont utilisés par un objet dynamique. Cette option est nécessaire pour certaines utilisations de dlopen.
-f nom
--auxiliary nom
Pendant la création d'un objet ELF partagé, affecter la valeur nom au champ interne DT_AUXILIARY. Ceci indique à l'éditeur de liens dynamiques que la table des symboles de l'objet partagé devrait être utilisée en tant que filtre auxiliaire sur la table des symboles de l'objet partagé nom.
-F nom
--filter nom
Pendant la création d'un objet ELF partagé, affecter la valeur nom au champ interne DT_FILTER. Ceci dit à l'éditeur de liens dynamiques que la table des symboles de l'objet partagé devrait être utilisée en tant que filtre sur la table des symboles de l'objet partagé nom.
-format format-entrée
Synonyme de -b format-entrée.
-g
Accepté, mais ignoré ; fourni pour la compatibilité avec d'autres outils.
-G taille
Fixer à taille la taille maximale des objets pouvant être optimisés en utilisant le registre GP sous MIPS ECOFF. Ignoré pour les autres formats de fichiers objets.
-h nom
-soname nom
Pendant la création d'un objet ELF partagé, affecter la valeur nom au champ interne DT_SONAME. Quand un exécutable est lié avec un objet partagé qui comporte un champ DT_SONAME, alors lorsque l'exécutable est lancé, l'éditeur de liens essaiera de charger l'objet partagé spécifié par le champ DT_SONAME au lieu d'utiliser le nom de fichier donné à l'éditeur de liens.
--help
Afficher un résumé des options de ligne de commande sur la sortie standard et se terminer normalement. Cette option et --version commencent avec deux tirets au lieu d'un seul pour assurer la compatibilité avec les autres programmes GNU. Les autres options débutent par un seul tiret pour la compatibilité avec d'autres éditeurs de liens.
-i
Effectuer une édition de liens incrémentale (comme pour l'option -r).
-lar
Ajouter un fichier archive ar à la liste des fichiers à lier. Cette option peut être utilisée n'importe quel nombre de fois. ld recherchera dans sa liste de chemins des occurrences de libar.a pour chaque fichier archive ar spécifié.
-Lrep_recherche
Cette commande ajoute le chemin rep_recherche à la liste des chemins où ld recherche les archives de librairies. Vous pouvez utiliser cette option n'importe quel nombre de fois.
L'ensemble de chemins de recherche par défaut (c.-à-d. sans être spécifiés par -L) dépend de quel mode d'émulation est utilisé par ld , et dans certains cas de la façon dont il a été configuré. Les chemins peuvent également être spécifiés dans un script avec la commande SEARCH_DIR.
-M
Afficher (sur la sortie standard) une correspondance de liens (de l'information de diagnostic sur l'endroit où les symboles sont mis en correspondance par ld, et de l'information sur les allocations mémoire globales et communes).
-Map fich_corresp
Afficher dans le fichier fich_corresp une correspondance de liens (de l'information de diagnostic sur l'endroit où les symboles sont mis en correspondance par ld, et de l'information sur les allocations mémoire globales et communes).
-m émulation
Émuler l'éditeur de liens émulation. Vous pouvez lister les émulations disponibles avec les options --verbose ou -V. Cette option surcharge le comportement par défaut fourni à la compilation, qui est le système pour lequel vous avez configuré ld.
-N
spécifie des sections text (texte) et data (données) accessibles en lecture et en écriture. Si le format de sortie supporte les nombres magiques de style Unix, la sortie est marquée OMAGIC.
Quand vous utilisez l'option « -N » , l'éditeur de liens n'aligne pas le segment de données sur une limite de page.
-n
rend le segment de texte accessible en lecture seule, et NMAGIC est écrit si c'est possible.
-noinhibit-exec
Normalement, l'éditeur de liens ne produira pas de fichier en sortie s'il rencontre des erreurs durant le processus d'édition des liens. Avec cette option, vous pouvez spécifier que vous désirez un fichier en sortie même après des erreurs non fatales.
-no-keep-memory
Normalement, l'éditeur de liens optimise la vitesse d'exécution plutôt que la consommation mémoire en mettant les tables des symboles des fichiers d'entrée en mémoire cache. À l'opposé, cette option permet d'indiquer à l'éditeur de liens d'optimiser l'utilisation mémoire, en relisant les tables de symboles si nécessaire. Ceci peut être requis si l'éditeur de liens tombe à court d'espace mémoire pendant l'édition des liens d'un exécutable de grande taille.
-no-warn-mismatch
Normalement, l'éditeur de liens émettra un message d'erreur si vous essayez de lier ensemble des fichiers d'entrée qui sont incompatibles pour quelque raison que ce soit, peut-être parce qu'ils ont été compilés pour des processeurs différents ou pour différents boutismes. Cette option indique à l'éditeur de liens qu'il devrait ignorer silencieusement de telles erreurs. Cette option devrait être utilisée avec précaution, dans les cas où vous avez entrepris des actions spéciales pour vous assurer que les erreurs de l'éditeur de liens sont inappropriées.
-o fich_sortie
fich_sortie est le nom du programme produit par ld ; si cette option n'est pas spécifiée, le nom « a.out » est utilisé par défaut. La commande de script OUTPUT peut également spécifier le nom du fichier de sortie.
-Oniveau
Générer des fichiers de sorties optimisés, cela pouvant prendre beaucoup plus de temps, et ne devant dès lors probablement être utilisé que pour le binaire final. niveau est supposé être une valeur numérique. Toute valeur supérieure à 0 active les optimisations.
-oformat format-sortie
Spécifier le format binaire du fichier objet en sortie. Vous ne devez en général pas spécifier cette option, puisque ld est configuré pour produire comme format de sortie par défaut le format le plus communément utilisé sur chaque machine. format-sortie est une chaîne de caractères textuelle, le nom d'un format particulier supporté par les librairies BFD. La commande de script OUTPUT_FORMAT peut également spécifier le format de sortie, mais cette option la surcharge.
-R nom_fichier
Lire les noms de symboles et leurs adresses à partir de nom_fichier, mais ne pas les reloger ou les inclure dans la sortie. Ceci permet à votre fichier de sortie de référencer symboliquement des adresses mémoires absolues définies dans d'autres programmes.
-relax
Une option dont les effets dépendent de la machine. Actuellement, cette option n'est supportée que sur le H8/300.
Sur certaines plates-formes, utilisez cette option pour effectuer des optimisations globales qui deviennent possibles quand l'éditeur de liens résout l'adressage de votre programme, comme les modes d'adressage relaxés et la synthèse de nouvelles instructions dans le fichier objet de sortie.
Sur les plates-formes où cela n'est pas supporté, « -relax » est accepté, mais n'a aucun effet.
-r
Générer un fichier de sortie relogeable, c.-à-d. un fichier qui peut à son tour servir comme entrée pour ld. Cela est souvent appelé une édition des liens partielle. Comme effet de bord, dans les environnements qui supportent les nombres magiques UNIX standards, cette option fixe également le nombre magique du fichier de sortie à OMAGIC. Si cette option n'est pas spécifiée, un fichier absolu est produit. Lors de l'édition des liens de programmes C++, cette option ne résoudra pas les références aux constructeurs ; -Ur constitue une alternative.
Cette option fait la même chose que -i.
-rpath répertoire
Ajouter un répertoire au chemin de recherche des librairies à l'exécution. Ceci est utilisé pendant l'édition des liens d'un exécutable ELF avec des objets partagés. Tous les arguments -rpath sont concaténés et passés à l'éditeur de liens à l'exécution, qui les utilise pour localiser les objets partagés au moment de l'exécution. L'option -rpath est également utilisée pendant la localisation d'objets partagés qui sont requis par des objets partagés inclus explicitement au moment de l'édition des liens ; voyez la description de l'option -rpath-link. Si -rpath n'est pas utilisé pendant l'édition des liens d'un exécutable ELF, le contenu de la variable d'environnement LD_RUN_PATH sera utilisé (si cette variable est définie).
L'option -rpath peut aussi être utilisée sur SunOS. Par défaut, sur SunOS, l'éditeur de liens construira un chemin de recherche à l'exécution à partir de l'ensemble des options -L qu'il reçoit. Si une option -rpath est utilisée, le chemin de recherche à l'exécution sera construit exclusivement en utilisant les options -rpath options, et en ignorant les options -L. Ceci peut être utile pour l'utilisation avec gcc, qui ajoute beaucoup d'options -L qui peuvent être situées sur des systèmes de fichiers montés via NFS.
-rpath-link répertoire
Pendant l'utilisation de ELF ou de SunOS, une librairie partagée peut en requérir une autre. Ceci se produit quand une édition de liens ld -shared inclut une librairie partagée parmi les fichiers d'entrée.
Quand l'éditeur de liens rencontre une telle dépendance lorsqu'il effectue une édition de liens non partagée et non relogeable, il essaie de localiser automatiquement les librairies partagées requises, et de les inclure durant l'édition de liens, si elles ne sont pas incluses explicitement. Dans un tel cas, l'option -rpath-link spécifie le premier jeu de répertoires où chercher. L'option -rpath-link peut spécifier une séquence de noms de répertoires soit en spécifiant une liste de noms séparés par des virgules, soit en apparaissant plusieurs fois.
Si la librairie partagée n'est pas trouvée, l'éditeur de liens émettra un avertissement et continuera son travail.
-S
Omettre les informations sur les symboles de déboggage (mais pas sur tous les symboles) dans le fichier de sortie.
-s
Omettre toute information de symbole dans le fichier de sortie.
-shared
Créer une librairie partagée. Cela n'est supporté actuellement sur les plates-formes ELF et SunOS (sur SunOS, ce n'est pas requis car l'éditeur de liens crée automatiquement une librairie partagée quand il y a des symboles non définis et que l'option -e n'est pas utilisée).
-sort-common
Normalement, quand ld place les symboles globaux communs dans les sections appropriées du fichier de sortie, il les trie par taille. En premier lieu viennent les symboles d'un octet, ensuite ceux de deux, quatre (etc.) , ceci afin d'éviter des trous entre les symboles dus aux contraintes d'alignement. Cette option désactive ce tri.
-split-by-reloc nombre
Essayer de créer des sections supplémentaires dans le fichier de sortie de sorte qu'aucune section dans le fichier de sortie ne comporte plus de nombre relogements. C'est utile pendant la génération de programmes hautement relogeables à télécharger dans certains noyaux temps réel utilisant le format COFF de fichier objet, puisque COFF ne peut représenter plus de 65535 relogements dans une section. Notez que cela ne fonctionne pas pour des formats de fichiers objets qui ne supportent pas les sections arbitraires. L'éditeur de liens ne découpera pas de sections d'entrée pour la redistribution ; ainsi, si une section d'entrée comporte plus de nombre relogements, une section de sortie en contiendra autant.
-split-by-file
Similaire à -split-by-reloc mais crée une nouvelle section en sortie pour chaque fichier d'entrée.
--section-start nom_section=origine_section
Placer une section dans le fichier de sortie à l'adresse absolue donnée par origine_section. origine_section doit être un nombre hexadécimal. Vous pouvez utiliser cette option autant de fois que nécessaire pour placer de multiples sections sur la ligne de commandes. Si vous avez besoin d'expressions plus élaborées, vous devriez utiliser le langage de commandes de l'éditeur de liens à partir d'un script.
-Tbss origine
-Tdata origine
-Ttext origine
Utiliser origine comme l'adresse de départ pour les segments bss, data, et text respectivement du fichier de sortie. origine doit être un entier hexadécimal.
-T fich_commandes
Équivalent à -c fich_commandes ; supporté pour la compatibilité avec d'autres outils.
-t
Afficher les noms des fichiers d'entrée quand ld les traite.
-u symb
Forcer l'introduction de symb dans le fichier de sortie en tant que symbole indéfini. Cela peut, par exemple, déclencher l'édition des liens de modules additionnels provenant des librairies standards. -u peut être répété avec différents arguments options pour introduire des symboles indéfinis supplémentaires.
-Ur
Pour tous les programmes non C++, cette option est équivalente à -r. Elle génère une sortie relogeable, c.-à-d. un fichier de sortie pouvant servir comme entrée pour ld. Pendant l'édition des liens de programmes C++, -Ur résoudra les références aux constructeurs, au contraire de -r.
--verbose
Afficher le numéro de version de ld et les émulations supportées. Afficher quels fichiers d'entrée peuvent (ne peuvent pas) être ouverts.
-v, -V
Afficher le numéro de version de ld. L'option -V liste également les émulations supportées.
--version
Afficher le numéro de version de ld et se terminer normalement.
-warn-common
Avertir quand un symbole commun est combiné avec un autre symbole commun ou avec une définition de symbole. Les éditeurs de liens Unix permettent cette pratique particulière, mais les éditeurs de liens d'autres systèmes d'exploitation ne la permettent pas. Cette option vous donne la possibilité de découvrir des problèmes potentiels dus à la combinaison de symboles globaux.
-warn-constructors
Avertir si des constructeurs globaux sont utilisés. Cela n'est utile que pour quelques formats de fichiers objets. Pour les formats comme COFF ou ELF, l'éditeur de liens ne peut pas détecter l'utilisation de constructeurs globaux.
-warn-multiple-gp
Avertir si le fichier de sortie requiert de multiples valeurs de pointeurs globaux. Cette option n'a de sens que sur certains processeurs, comme l'Alpha.
-warn-once
N'avertir qu'une fois pour chaque symbole indéfini, plutôt qu'une fois par module qui le référence.
-warn-section-align
Avertir si l'adresse d'une section en sortie est modifiée à cause d'un alignement. Typiquement, l'alignement sera effectué par une section d'entrée. L'adresse ne sera changée que si elle n'est pas explicitement spécifiée, c.-à-d. si la commande SECTIONS ne spécifie pas d'adresse de départ pour la section.
--whole-archive
Pour chaque archive mentionnée sur la ligne de commandes après l'option --whole-archive , inclure chaque fichier objet contenu dans l'archive plutôt que de parcourir l'archive pour trouver les fichiers objets requis. C'est normalement utilisé pour convertir un fichier archive en une librairie partagée, en forçant chaque fichier objet à être inclus dans la librairie partagée résultante.
--no-whole-archive
Désactiver l'effet de l'option --whole-archive pour des archives apparaissant plus loin sur la ligne de commandes.
--wrap symbole
Utiliser une fonction enveloppe pour symbole. Toutes les références non définies à symbole seront résolues en __wrap_symbol. Toutes les références non définies à __real_symbol seront résolues en symbole.
-X
Effacer tous les symboles locaux temporaires. Pour la plupart des cibles, ce sont tous les symboles locaux dont le nom commence par « L ».
-x
Effacer tous les symboles locaux.


ENVIRONNEMENT

Vous pouvez modifier le comportement de ld à l'aide de la variable d'environnement GNUTARGET.
GNUTARGET détermine le format du fichier objet d'entrée si vous n'utilisez pas -b (ou son synonyme -format). Sa valeur devrait être un des noms BFD utilisés pour dénommer un format d'entrée. S'il n'y a pas de GNUTARGET dans l'environnement, ld utilise le format naturel de l'hôte. Si la valeur de GNUTARGET est fixée à default , alors BFD essaie de déterminer le format d'entrée en examinant les fichiers binaires fournis en entrée. Cette méthode fonctionne souvent, mais il y a quelques ambiguïtés potentielles car il n'existe pas de méthode pour s'assurer que le nombre magique utilisé pour marquer les formats de fichiers objets est unique. Néanmoins, la procédure de configuration pour BFD sur chaque système place le format conventionnel pour chaque système en premier lieu dans la liste de recherche, et donc les ambiguïtés éventuelles sont résolues en faveur de la convention.


VOIR AUSSI


objdump(1)

les entrées « ld » et « binutils » dans info
ld: the GNU linker, Steve Chamberlain et Roland Pesch ; The GNU Binary Utilities, Roland H. Pesch.

COPYRIGHT

Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 1998, 2000 Free Software Foundation, Inc.
Ce document est distribué sous les termes de la GNU Free Documentation License, version 1.1. Cette licence est décrite dans les sources de cette page de manuel (NdT : en anglais), mais n'est pas affichée ici afin de rendre ce manuel plus concis. Des copies de cette licence peuvent également être obtenues sur http://www.gnu.org/copyleft/.


     







TRADUCTION

Frédéric Delanoy, 2001.