Les MANs Linux en français...
ld
Section: Outils de Développement GNU (1)Updated:
Index Retour au Menu Principal
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.
Index
Time: 18:56:09 GMT, December 19, 2004