zion - ld
.de BP .ti -.2i (** ..
Nom
ld - L'éditeur de liens GNU.
Résumé
.hy 0 .na
ld [ -o fich_sortiec ] c fich_objetc ... [ -Ac architecturec ] [ -b c format-entréec
&] [ -Bstatic ] [ -Bgroup ] [ -Bdynamic ] [ -Bsymbolic ] [ -c c fich_commandesc &] [ --cref ] [ -d | -dc | -dpc ] [ -defsym c symbolec & = c expressionc &] [ --demangle ] [ --no-demangle ] [ -e c entréec &] [ -embedded-relocs ] [ -E ] [ -export-dynamic ] [ -f c nomc &] [ --auxiliary c nomc &] [ -F c nomc &] [ --filter c nomc &] [ -format c format-entréec &] [ -g ] [ -G taillec &] [ -h c nomc &] [ -soname c nomc &] [ --help ] [ -i ] [ -lc arc &] [ -Lc rep_recherchec &] [ -M ] [ -Map fich_correspc &] [ -m émulationc &] [ -n | -N ] [ -noinhibit-exec ] [ -no-keep-memory ] [ -no-warn-mismatch ] [ -Oc niveauc &] [ -oformat c format-sortiec &] [ -R c nom_fichierc &] [ -relax ] [ -r | -Ur ] [ -rpath c répertoirec &] [ -rpath-link c répertoirec &] [ -S ] [ -s ] [ -shared ] [ -sort-common ] [ -split-by-reloc c nombrec &] [ -split-by-file ] [ -T c fich_commandesc &] [ --section-start c nom_sectionc &=c orig_sectionc &] [ -Ttext c orig_textec &] [ -Tdata c orig_donnéesc &] [ -Tbss c orig_bssc &] [ -t ] [ -u c symbc &] [ -V ] [ -v ] [ --verbose ] [ --version ] [ -warn-common ] [ -warn-constructors ] [ -warn-multiple-gp ] [ -warn-once ] [ -warn-section-align ] [ --whole-archive ] [ --no-whole-archive ] [ --wrap c symbolec &] [ -X ] [ -x ] .ad b .hy 1 |
Description
c ldc & 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 à c ldc &. c ldc & 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 « c ldc » dans « c infoc », ou le manuel .I 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 c ldc & utilise les librairies BFD génériques pour opérer sur les fichiers objets. Cela permet à c ldc & de lire, combiner et écrire des fichiers objets dans un grand nombre de formats différents(em&par exemple, COFF ou c a.outc &. Différents formats peuvent être liés ensemble pour produire un fichier exécutable de n'importe quel type. Vous pouvez utiliser « c objdump -ic » 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, c ldc & 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 c ldc & 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 c ldc & 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 c hello.oc &, il faut faire : $ ld -o sortie /lib/crt0.o hello.o -lc Ceci indique à c ldc & de produire un fichier dénommé c sortiec & , qui est le résultat de la liaison du fichier c /lib/crt0.oc & avec c hello.oc & et la librairie c libc.ac & , qui provient des répertoires standards de recherche. Les options de ligne de commandes de c ldc & 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(em&qui peuvent être utilisées sensément plus d'une fois(em&sont c -Ac &, c -bc & (ou son synonyme c -formatc &), c -defsymc &, c -Lc &, c -lc &, c -Rc &, et c -uc &. La liste des fichiers objets à lier ensemble, à savoir c fich_objetc &, peut suivre, précéder ou être mélangée aux options de ligne de commandes, sauf qu'un argument c fich_objetc & 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 c -lc &, c -Rc &, et avec le langage de commandes de scripts. Si c aucunc & fichier d'entrée binaire n'est spécifié, l'éditeur des liens ne produit aucune sortie, et émet le message « c No input filesc » (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.
-A architecture
Dans la version actuelle de c ldc &, cette option n'est utile que pour la famille d'architectures Intel 960. Dans cette configuration de c ldc & , l'argument c architecturec & 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 c ldc & incluait aussi bien « c -ACAc » que « c -ltryc », l'éditeur de liens rechercherait (dans ses chemins de recherches intégrés, et dans tous les chemins spécifiés avec c -Lc &) 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 « c -ACAc ». Des versions futures de c ldc & pourraient supporter des fonctionnalités différentes pour d'autres familles d'architectures. Vous pouvez utiliser sensément c -Ac & 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 c -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 c ldc & est configuré pour s'attendre comme format d'entrée par défaut au format le plus utilisé sur chaque machine. c format-entréec & est une chaîne de caractères textuelle correspondant au nom d'un format particulier supporté par les librairies BFD. c -format c format-entréec &c & 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 c -bc & pour changer de format explicitement (quand vous liez des fichiers objets de différents formats), en incluant c -b c format-entréec &c & avant chaque groupe de fichiers objets d'un format spécial. Le format par défaut est trouvé dans la variable d'environnement GNUTARGETc &. Vous pouvez aussi définir le format d'entrée à partir d'un script en utilisant la commande c TARGETc &. |
-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 c DF_1_GROUP c dans l'entrée c DT_FLAGS_1 c 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 à ldc & de lire les commandes de liaison à partir du fichier c fich_commandesc &. Ces commandes surchargeront complètement le format de liaison par défaut de c ldc & (plutôt que de s'y ajouter) ; c fich_commandesc & 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 [/col][/row][/table]
-dc[/col][/row][/table]
-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 c ld réserve de la place aux symboles communs même si un fichier de sortie relogeable est spécifié (c -rc &). La commande de script c FORCE_COMMON_ALLOCATIONc & a le même effet. |
-defsym symbole = expression
Créer un symbole global dans le fichier de sortie, contenant l'adresse absolue fournie par c expressionc &. 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'c expressionc & dans ce contexte : vous pouvez donner une constante hexadécimale ou le nom d'un symbole existant, ou utiliser c +c & et c -c & 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[/col][/row][/table]
--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éec
&Utiliser c entréec & 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 « c ldc » dans « c infoc » 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[/col][/row][/table]
-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[/col][/row][/table]
--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[/col][/row][/table]
--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 c -bc & c format-entréec &. |
-g
Accepté, mais ignoré ; fourni pour la compatibilité avec d'autres outils. |
-G taillec
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[/col][/row][/table]
-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 c -rc &). |
-l arc
&Ajouter un fichier archive c arc & à la liste des fichiers à lier. Cette option peut être utilisée n'importe quel nombre de fois. c ldc & recherchera dans sa liste de chemins des occurrences de c libc arc &.ac & pour chaque fichier archive c ar spécifié. |
-L rep_recherche
Cette commande ajoute le chemin c rep_recherchec & à la liste des chemins où c ldc & 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 c -Lc &) dépend de quel mode d'émulation est utilisé par c ldc & , 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 c 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 c ldc &, et de l'information sur les allocations mémoire globales et communes). |
-Map fich_correspc
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 c ldc &, et de l'information sur les allocations mémoire globales et communes). |
-m émulationc
É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 c text c (texte) & et c data c (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 c OMAGICc &. Quand vous utilisez l'option « c -Nc & » , 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 c NMAGICc & 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_sortiec
& est le nom du programme produit par c ldc & ; si cette option n'est pas spécifiée, le nom « c a.outc » est utilisé par défaut. La commande de script c OUTPUTc & peut également spécifier le nom du fichier de sortie. |
-O niveau
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. c niveauc & 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 c ldc & est configuré pour produire comme format de sortie par défaut le format le plus communément utilisé sur chaque machine. c format-sortiec & 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 c nom_fichierc &, 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é, « c -relaxc & » 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 c ldc &. Cela est souvent appelé une édition des liens c 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 à c OMAGICc &. 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 c ne résoudra pasc & les références aux constructeurs ; c -Urc & constitue une alternative. Cette option fait la même chose que c -ic &. |
[b]-rpath répertoire[/b]
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. |
[b]-rpath-link répertoire[/b]
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. |
[b]-split-by-reloc nombre[/b]
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 c origine_sectionc &. c c origine_sectionc & 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 originec[/col][/row][/table]
-Tdata originec[/col][/row][/table]
-Ttext originec
Utiliser c originec & comme l'adresse de départ pour les segments c bssc &, c datac &, et c textc & respectivement du fichier de sortie. c originec & doit être un entier hexadécimal. |
-T fich_commandes
Équivalent à c -c c fich_commandesc &c & ; supporté pour la compatibilité avec d'autres outils. |
-t
Afficher les noms des fichiers d'entrée quand c ldc & les traite. |
-u symb
Forcer l'introduction de c symbc & 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. c -uc & 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 à c -rc &. Elle génère une sortie relogeable, c.-à-d. un fichier de sortie pouvant servir comme entrée pour c ldc &. Pendant l'édition des liens de programmes C++, c -Ur résoudrac & les références aux constructeurs, au contraire de c -rc &. |
--verbose
Afficher le numéro de version de c 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 c ldc &. L'option -V liste également les émulations supportées. |
--version
Afficher le numéro de version de c 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 « c Lc ». |
-x
Effacer tous les symboles locaux. |
Environnement
c Vous pouvez modifier le comportement de ldc & à l'aide de la variable d'environnement c GNUTARGETc &. c GNUTARGETc & détermine le format du fichier objet d'entrée si vous n'utilisez pas c -bc & (ou son synonyme c -formatc &). 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 c GNUTARGETc & dans l'environnement, c ldc & utilise le format naturel de l'hôte. Si la valeur de c GNUTARGETc & est fixée à c defaultc & , 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 infoc ld: the GNU linkerc , Steve Chamberlain et Roland Pesch ; .I The GNU Binary Utilitiesc , 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/. " .SH GNU Free Documentation License " Version 1.1, March 2000 " Copyright (C) 2000 Free Software Foundation, Inc. " 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA " Everyone is permitted to copy and distribute verbatim " copies of this license document, but changing it is " not allowed. " .PP " 0. PREAMBLE " .PP " The purpose of this License is to make a manual, textbook, or other " written document "free" in the sense of freedom: to assure everyone " the effective freedom to copy and redistribute it, with or without " modifying it, either commercially or noncommercially. Secondarily, " this License preserves for the author and publisher a way to get " credit for their work, while not being considered responsible for " modifications made by others. " .PP " This License is a kind of "copyleft", which means that derivative " works of the document must themselves be free in the same sense. It " complements the GNU General Public License, which is a copyleft " license designed for free software. " .PP " We have designed this License in order to use it for manuals for free " software, because free software needs free documentation: a free " program should come with manuals providing the same freedoms that the " software does. But this License is not limited to software manuals; " it can be used for any textual work, regardless of subject matter or " whether it is published as a printed book. We recommend this License " principally for works whose purpose is instruction or reference. " .PP " 1. APPLICABILITY AND DEFINITIONS " .PP " This License applies to any manual or other work that contains a " notice placed by the copyright holder saying it can be distributed " under the terms of this License. The "Document", below, refers to any " such manual or work. Any member of the public is a licensee, and is " addressed as "you". " .PP " A "Modified Version" of the Document means any work containing the " Document or a portion of it, either copied verbatim, or with " modifications and/or translated into another language. " .PP " A "Secondary Section" is a named appendix or a front-matter section of " the Document that deals exclusively with the relationship of the " publishers or authors of the Document to the Document's overall subject " (or to related matters) and contains nothing that could fall directly " within that overall subject. (For example, if the Document is in part a " textbook of mathematics, a Secondary Section may not explain any " mathematics.) The relationship could be a matter of historical " connection with the subject or with related matters, or of legal, " commercial, philosophical, ethical or political position regarding " them. " .PP " The "Invariant Sections" are certain Secondary Sections whose titles " are designated, as being those of Invariant Sections, in the notice " that says that the Document is released under this License. " .PP " The "Cover Texts" are certain short passages of text that are listed, " as Front-Cover Texts or Back-Cover Texts, in the notice that says that " the Document is released under this License. " .PP " A "Transparent" copy of the Document means a machine-readable copy, " represented in a format whose specification is available to the " general public, whose contents can be viewed and edited directly and " straightforwardly with generic text editors or (for images composed of " pixels) generic paint programs or (for drawings) some widely available " drawing editor, and that is suitable for input to text formatters or " for automatic translation to a variety of formats suitable for input " to text formatters. A copy made in an otherwise Transparent file " format whose markup has been designed to thwart or discourage " subsequent modification by readers is not Transparent. A copy that is " not "Transparent" is called "Opaque". " .PP " Examples of suitable formats for Transparent copies include plain " ASCII without markup, Texinfo input format, LaTeX input format, SGML " or XML using a publicly available DTD, and standard-conforming simple " HTML designed for human modification. Opaque formats include " PostScript, PDF, proprietary formats that can be read and edited only " by proprietary word processors, SGML or XML for which the DTD and/or " processing tools are not generally available, and the " machine-generated HTML produced by some word processors for output " purposes only. " .PP " The "Title Page" means, for a printed book, the title page itself, " plus such following pages as are needed to hold, legibly, the material " this License requires to appear in the title page. For works in " formats which do not have any title page as such, "Title Page" means " the text near the most prominent appearance of the work's title, " preceding the beginning of the body of the text. " .PP " 2. VERBATIM COPYING " .PP " You may copy and distribute the Document in any medium, either " commercially or noncommercially, provided that this License, the " copyright notices, and the license notice saying this License applies " to the Document are reproduced in all copies, and that you add no other " conditions whatsoever to those of this License. You may not use " technical measures to obstruct or control the reading or further " copying of the copies you make or distribute. However, you may accept " compensation in exchange for copies. If you distribute a large enough " number of copies you must also follow the conditions in section 3. " .PP " You may also lend copies, under the same conditions stated above, and " you may publicly display copies. " .PP " 3. COPYING IN QUANTITY " .PP " If you publish printed copies of the Document numbering more than 100, " and the Document's license notice requires Cover Texts, you must enclose " the copies in covers that carry, clearly and legibly, all these Cover " Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on " the back cover. Both covers must also clearly and legibly identify " you as the publisher of these copies. The front cover must present " the full title with all words of the title equally prominent and " visible. You may add other material on the covers in addition. " Copying with changes limited to the covers, as long as they preserve " the title of the Document and satisfy these conditions, can be treated " as verbatim copying in other respects. " .PP " If the required texts for either cover are too voluminous to fit " legibly, you should put the first ones listed (as many as fit " reasonably) on the actual cover, and continue the rest onto adjacent " pages. " .PP " If you publish or distribute Opaque copies of the Document numbering " more than 100, you must either include a machine-readable Transparent " copy along with each Opaque copy, or state in or with each Opaque copy " a publicly-accessible computer-network location containing a complete " Transparent copy of the Document, free of added material, which the " general network-using public has access to download anonymously at no " charge using public-standard network protocols. If you use the latter " option, you must take reasonably prudent steps, when you begin " distribution of Opaque copies in quantity, to ensure that this " Transparent copy will remain thus accessible at the stated location " until at least one year after the last time you distribute an Opaque " copy (directly or through your agents or retailers) of that edition to " the public. " .PP " It is requested, but not required, that you contact the authors of the " Document well before redistributing any large number of copies, to give " them a chance to provide you with an updated version of the Document. " .PP " 4. MODIFICATIONS " .PP " You may copy and distribute a Modified Version of the Document under " the conditions of sections 2 and 3 above, provided that you release " the Modified Version under precisely this License, with the Modified " Version filling the role of the Document, thus licensing distribution " and modification of the Modified Version to whoever possesses a copy " of it. In addition, you must do these things in the Modified Version: " .PP " A. Use in the Title Page (and on the covers, if any) a title distinct " from that of the Document, and from those of previous versions " (which should, if there were any, be listed in the History section " of the Document). You may use the same title as a previous version " if the original publisher of that version gives permission. " .PP " B. List on the Title Page, as authors, one or more persons or entities " responsible for authorship of the modifications in the Modified " Version, together with at least five of the principal authors of the " Document (all of its principal authors, if it has less than five). " .PP " C. State on the Title page the name of the publisher of the " Modified Version, as the publisher. " .PP " D. Preserve all the copyright notices of the Document. " .PP " E. Add an appropriate copyright notice for your modifications " adjacent to the other copyright notices. " .PP " F. Include, immediately after the copyright notices, a license notice " giving the public permission to use the Modified Version under the " terms of this License, in the form shown in the Addendum below. " Preserve in that license notice the full lists of Invariant Sections " and required Cover Texts given in the Document's license notice. " .PP " H. Include an unaltered copy of this License. " .PP " I. Preserve the section entitled "History", and its title, and add to " it an item stating at least the title, year, new authors, and " publisher of the Modified Version as given on the Title Page. If " there is no section entitled "History" in the Document, create one " stating the title, year, authors, and publisher of the Document as " given on its Title Page, then add an item describing the Modified " Version as stated in the previous sentence. " .PP " J. Preserve the network location, if any, given in the Document for " public access to a Transparent copy of the Document, and likewise " the network locations given in the Document for previous versions " it was based on. These may be placed in the "History" section. " You may omit a network location for a work that was published at " least four years before the Document itself, or if the original " publisher of the version it refers to gives permission. " .PP " K. In any section entitled "Acknowledgements" or "Dedications", " preserve the section's title, and preserve in the section all the " substance and tone of each of the contributor acknowledgements " and/or dedications given therein. " .PP " L. Preserve all the Invariant Sections of the Document, " unaltered in their text and in their titles. Section numbers " or the equivalent are not considered part of the section titles. " .PP " M. Delete any section entitled "Endorsements". Such a section " may not be included in the Modified Version. " .PP " N. Do not retitle any existing section as "Endorsements" " or to conflict in title with any Invariant Section. " .PP " If the Modified Version includes new front-matter sections or " appendices that qualify as Secondary Sections and contain no material " copied from the Document, you may at your option designate some or all " of these sections as invariant. To do this, add their titles to the " list of Invariant Sections in the Modified Version's license notice. " These titles must be distinct from any other section titles. " .PP " You may add a section entitled "Endorsements", provided it contains " nothing but endorsements of your Modified Version by various " parties--for example, statements of peer review or that the text has " been approved by an organization as the authoritative definition of a " standard. " .PP " You may add a passage of up to five words as a Front-Cover Text, and a " passage of up to 25 words as a Back-Cover Text, to the end of the list " of Cover Texts in the Modified Version. Only one passage of " Front-Cover Text and one of Back-Cover Text may be added by (or " through arrangements made by) any one entity. If the Document already " includes a cover text for the same cover, previously added by you or " by arrangement made by the same entity you are acting on behalf of, " you may not add another; but you may replace the old one, on explicit " permission from the previous publisher that added the old one. " .PP " The author(s) and publisher(s) of the Document do not by this License " give permission to use their names for publicity for or to assert or " imply endorsement of any Modified Version. " .PP " 5. COMBINING DOCUMENTS " .PP " You may combine the Document with other documents released under this " License, under the terms defined in section 4 above for modified " versions, provided that you include in the combination all of the " Invariant Sections of all of the original documents, unmodified, and " list them all as Invariant Sections of your combined work in its " license notice. " .PP " The combined work need only contain one copy of this License, and " multiple identical Invariant Sections may be replaced with a single " copy. If there are multiple Invariant Sections with the same name but " different contents, make the title of each such section unique by " adding at the end of it, in parentheses, the name of the original " author or publisher of that section if known, or else a unique number. " Make the same adjustment to the section titles in the list of " Invariant Sections in the license notice of the combined work. " .PP " In the combination, you must combine any sections entitled "History" " in the various original documents, forming one section entitled " "History"; likewise combine any sections entitled "Acknowledgements", " and any sections entitled "Dedications". You must delete all sections " entitled "Endorsements." " .PP " 6. COLLECTIONS OF DOCUMENTS " .PP " You may make a collection consisting of the Document and other documents " released under this License, and replace the individual copies of this " License in the various documents with a single copy that is included in " the collection, provided that you follow the rules of this License for " verbatim copying of each of the documents in all other respects. " .PP " You may extract a single document from such a collection, and distribute " it individually under this License, provided you insert a copy of this " License into the extracted document, and follow this License in all " other respects regarding verbatim copying of that document. " .PP " 7. AGGREGATION WITH INDEPENDENT WORKS " .PP " A compilation of the Document or its derivatives with other separate " and independent documents or works, in or on a volume of a storage or " distribution medium, does not as a whole count as a Modified Version " of the Document, provided no compilation copyright is claimed for the " compilation. Such a compilation is called an "aggregate", and this " License does not apply to the other self-contained works thus compiled " with the Document, on account of their being thus compiled, if they " are not themselves derivative works of the Document. " .PP " If the Cover Text requirement of section 3 is applicable to these " copies of the Document, then if the Document is less than one quarter " of the entire aggregate, the Document's Cover Texts may be placed on " covers that surround only the Document within the aggregate. " Otherwise they must appear on covers around the whole aggregate. " .PP " 8. TRANSLATION " .PP " Translation is considered a kind of modification, so you may " distribute translations of the Document under the terms of section 4. " Replacing Invariant Sections with translations requires special " permission from their copyright holders, but you may include " translations of some or all Invariant Sections in addition to the " original versions of these Invariant Sections. You may include a " translation of this License provided that you also include the " original English version of this License. In case of a disagreement " between the translation and the original English version of this " License, the original English version will prevail. " .PP " 9. TERMINATION " .PP " You may not copy, modify, sublicense, or distribute the Document except " as expressly provided for under this License. Any other attempt to " copy, modify, sublicense or distribute the Document is void, and will " automatically terminate your rights under this License. However, " parties who have received copies, or rights, from you under this " License will not have their licenses terminated so long as such " parties remain in full compliance. " .PP " 10. FUTURE REVISIONS OF THIS LICENSE " .PP " The Free Software Foundation may publish new, revised versions " of the GNU Free Documentation License from time to time. Such new " versions will be similar in spirit to the present version, but may " differ in detail to address new problems or concerns. See " http://www.gnu.org/copyleft/. " .PP " Each version of the License is given a distinguishing version number. " If the Document specifies that a particular numbered version of this " License "or any later version" applies to it, you have the option of " following the terms and conditions either of that specified version or " of any later version that has been published (not as a draft) by the " Free Software Foundation. If the Document does not specify a version " number of this License, you may choose any version ever published (not " as a draft) by the Free Software Foundation. " .PP " ADDENDUM: How to use this License for your documents " .PP " To use this License in a document you have written, include a copy of " the License in the document and put the following copyright and " license notices just after the title page: " .PP " Copyright (c) YEAR YOUR NAME. " Permission is granted to copy, distribute and/or " modify this document under the terms of the GNU " Free Documentation License, Version 1.1 or any later " version published by the Free Software Foundation; " with the Invariant Sections being LIST THEIR TITLES, " with the Front-Cover Texts being LIST, and with the " Back-Cover Texts being LIST. A copy of the license " is included in the section entitled "GNU Free " Documentation License". " .PP " If you have no Invariant Sections, write "with no Invariant Sections" " instead of saying which ones are invariant. If you have no " Front-Cover Texts, write "no Front-Cover Texts" instead of " "Front-Cover Texts being LIST"; likewise for Back-Cover Texts. " .PP " If your document contains nontrivial examples of program code, we " recommend releasing these examples in parallel under your choice of " free software license, such as the GNU General Public License, " to permit their use in free software.
Traduction
Frédéric Delanoy, 2001.
Poster un commentaire