AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

i686-linux-gnu-objcopy - En ligne dans le cloud

Exécutez i686-linux-gnu-objcopy dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande i686-linux-gnu-objcopy qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


objcopy - copier et traduire les fichiers objets

SYNOPSIS


objcopie [-F nom bfd|--cible=nom bfd]
[-I nom bfd|--input-cible=nom bfd]
[-O nom bfd|--sortie-cible=nom bfd]
[-B bfdarch|--architecture-binaire=bfdarch]
[-S|--strip-tout]
[-g|--strip-débogage]
[-K nom du symbole|--keep-symbole=nom du symbole]
[-N nom du symbole|--strip-symbole=nom du symbole]
[--strip-symbole-inutile=nom du symbole]
[-G nom du symbole|--keep-global-symbole=nom du symbole]
[--localize-caché]
[-L nom du symbole|--localize-symbole=nom du symbole]
[--globalize-symbole=nom du symbole]
[-W nom du symbole|--affaiblir-symbole=nom du symbole]
[-w|--caractère générique]
[-x|--jeter tout]
[-X|--discard-locaux]
[-b octet|--octet=octet]
[-i [largeur]|--entrelacement[=largeur]]
[--interleave-width=largeur]
[-j modèle de section|--seulement-section=modèle de section]
[-R modèle de section|--remove-section=modèle de section]
[-p|--preserve-dates]
[-D|--enable-archives-déterministes]
[-U|--disable-archives-déterministes]
[--débogage]
[--gap-fill=vague]
[--pad-vers=propos]
[--set-start=vague]
[--adjust-start=augmenter]
[--change-adresses=augmenter]
[--change-section-adresse modèle de section{=,+,-}vague]
[--change-section-lma modèle de section{=,+,-}vague]
[--change-section-vma modèle de section{=,+,-}vague]
[--change-avertissements] [--aucun-change-avertissements]
[--set-section-flags modèle de section=drapeaux]
[--ajouter une section Nom de la section=nom de fichier]
[--dump-section Nom de la section=nom de fichier]
[--mise à jour-section Nom de la section=nom de fichier]
[--renommer-section ancien nom=nouveau nom[,drapeaux]]
[--noms-de-section-longue {activer, désactiver, conserver}]
[--change-leader-char] [--remove-leader-char]
[--reverse-octets=num]
[--srec-len=ival] [--srec-forceS3]
[--redéfinir-sym et les sites anciens=neufs]
[--redéfinir-syms=nom de fichier]
[--affaiblir]
[--keep-symboles=nom de fichier]
[--strip-symboles=nom de fichier]
[--strip-symboles-inutiles=nom de fichier]
[--keep-global-symboles=nom de fichier]
[--localize-symboles=nom de fichier]
[--globalize-symboles=nom de fichier]
[--weaken-symboles=nom de fichier]
[--ajouter-un symbole prénom=[ :]Plus-value[,drapeaux]
[--alt-code-machine=indice]
[--prefix-symboles=un magnifique]
[--prefix-sections=un magnifique]
[--prefix-alloc-sections=un magnifique]
[--add-gnu-debuglink=chemin d'accès au fichier]
[--garder-les-symboles-de-fichiers]
[--only-keep-debug]
[--strip-dwo]
[--extrait-dwo]
[--extraire-symbole]
[--texte-inscriptible]
[--texte en lecture seule]
[--pur]
[--impur]
[--file-alignement=num]
[--tas=taille]
[--image-base=propos]
[--section-alignement=num]
[--pile=taille]
[--sous-système=qui:majeur.mineur]
[--compress-debug-sections]
[--decompress-debug-sections]
[--dwarf-profondeur=n]
[--nain-start=n]
[-v|--verbeux]
[-V|--version]
[--Aidez-moi] [--Info]
dans le fichier [fichier de sortie]

DESCRIPTION


Le GNU copie obj l'utilitaire copie le contenu d'un fichier objet dans
un autre. copie obj utilise la bibliothèque GNU BFD pour lire et écrire l'objet
des dossiers. Il peut écrire le fichier objet de destination dans un format différent
de celui du fichier objet source. Le comportement exact de copie obj is
contrôlé par les options de la ligne de commande. Noter que copie obj devrait être capable de
pour copier un fichier entièrement lié entre deux formats quelconques. Cependant, copier un
fichier objet déplaçable entre deux formats peut ne pas fonctionner comme
attendu.

copie obj crée des fichiers temporaires pour faire ses traductions et les supprime
après. copie obj utilise BFD pour faire tout son travail de traduction; il a
accès à tous les formats décrits dans BFD et est ainsi capable de
reconnaître la plupart des formats sans qu'on le lui dise explicitement.

copie obj peut être utilisé pour générer des enregistrements S en utilisant une cible de sortie de
srec (par exemple, utiliser -O srec).

copie obj peut être utilisé pour générer un fichier binaire brut en utilisant une sortie
cible de binaire (par exemple, utiliser -O binaire). Quand copie obj génère un brut
fichier binaire, il produira essentiellement un vidage mémoire du contenu
du fichier objet d'entrée. Tous les symboles et informations de relocalisation seront
être mis au rebut. Le vidage de la mémoire commencera à l'adresse de chargement du
section la plus basse copiée dans le fichier de sortie.

Lors de la génération d'un enregistrement S ou d'un fichier binaire brut, il peut être utile de
utilisé -S pour supprimer les sections contenant des informations de débogage. Dans certaines
cas -R sera utile pour supprimer les sections qui contiennent des informations
ce n'est pas nécessaire par le fichier binaire.

Noter---copie obj n'est pas en mesure de modifier le boutisme de ses fichiers d'entrée.
Si le format d'entrée a un endianité (certains formats n'en ont pas), copie obj
ne peut copier les entrées que dans des formats de fichiers ayant le même
caractère endian ou qui n'ont pas de caractère endian (par exemple, srec). (Cependant, voir le
--reverse-octets option.)

OPTIONS


dans le fichier
fichier de sortie
Les fichiers d'entrée et de sortie, respectivement. Si vous ne précisez pas
fichier de sortie, copie obj crée un fichier temporaire et renomme de manière destructive
le résultat avec le nom de dans le fichier.

-I nom bfd
--input-cible=nom bfd
Considérez que le format d'objet du fichier source est nom bfd, Plutôt que
tenter de le déduire.

-O nom bfd
--sortie-cible=nom bfd
Écrire le fichier de sortie en utilisant le format objet nom bfd.

-F nom bfd
--cible=nom bfd
Utilisez nom bfd comme format d'objet à la fois pour l'entrée et la sortie
déposer; c'est-à-dire, transférez simplement les données de la source à la destination sans
Traduction.

-B bfdarch
--architecture-binaire=bfdarch
Utile lors de la transformation d'un fichier d'entrée sans architecture en un
fichier objet. Dans ce cas, l'architecture de sortie peut être définie sur
bfdarch. Cette option sera ignorée si le fichier d'entrée a un
bfdarch. Vous pouvez accéder à ces données binaires dans un programme en
faisant référence aux symboles spéciaux créés par la conversion
traiter. Ces symboles sont appelés _binaire_fichier obj_début,
_binaire_fichier obj_fin et _binaire_fichier obj_Taille. par exemple, vous pouvez
transformer un fichier image en un fichier objet puis y accéder dans
votre code à l'aide de ces symboles.

-j modèle de section
--seulement-section=modèle de section
Copiez uniquement les sections indiquées du fichier d'entrée vers la sortie
déposer. Cette option peut être donnée plus d'une fois. Notez qu'en utilisant
cette option peut rendre le fichier de sortie inutilisable de manière inappropriée.
Les caractères génériques sont acceptés dans modèle de section.

-R modèle de section
--remove-section=modèle de section
Supprimer toute correspondance de section modèle de section du fichier de sortie.
Cette option peut être donnée plus d'une fois. Notez qu'en utilisant ce
de manière inappropriée, peut rendre le fichier de sortie inutilisable. Caractère générique
les caractères sont acceptés dans modèle de section. En utilisant à la fois le -j ainsi que
-R les options ensemble entraînent un comportement indéfini.

-S
--strip-tout
Ne copiez pas les informations de relocalisation et de symbole à partir du fichier source.

-g
--strip-débogage
Ne copiez pas les symboles ou les sections de débogage du fichier source.

--strip-inutile
Supprimez tous les symboles qui ne sont pas nécessaires pour le traitement de la relocalisation.

-K nom du symbole
--keep-symbole=nom du symbole
Lors de la suppression des symboles, conservez le symbole nom du symbole même si ce serait
normalement être dépouillé. Cette option peut être donnée plus d'une fois.

-N nom du symbole
--strip-symbole=nom du symbole
Ne pas copier le symbole nom du symbole à partir du fichier source. Cette option
peut être donné plus d'une fois.

--strip-symbole-inutile=nom du symbole
Ne pas copier le symbole nom du symbole du fichier source sauf s'il s'agit
nécessaire à un déménagement. Cette option peut être donnée plus d'une fois.

-G nom du symbole
--keep-global-symbole=nom du symbole
Ne garder que le symbole nom du symbole global. Rendre tous les autres symboles locaux
au fichier, afin qu'ils ne soient pas visibles de l'extérieur. Cette option
peut être donné plus d'une fois.

--localize-caché
Dans un objet ELF, marquez tous les symboles qui ont des
visibilité en tant que local. Cette option s'applique en plus des symboles spécifiques
options de localisation telles que -L.

-L nom du symbole
--localize-symbole=nom du symbole
Faire un symbole nom du symbole local au fichier, afin qu'il ne soit pas visible
extérieurement. Cette option peut être donnée plus d'une fois.

-W nom du symbole
--affaiblir-symbole=nom du symbole
Faire un symbole nom du symbole faible. Cette option peut être donnée plus de
une fois que.

--globalize-symbole=nom du symbole
Donner un symbole nom du symbole portée globale afin qu'elle soit visible à l'extérieur
du fichier dans lequel il est défini. Cette option peut être donnée plus
qu'une fois.

-w
--caractère générique
Autoriser les expressions régulières dans nom du symboles utilisé dans une autre commande
options de ligne. Le point d'interrogation (?), l'astérisque (*), la barre oblique inverse (\)
et les opérateurs crochets ([]) peuvent être utilisés n'importe où dans le
nom du symbole. Si le premier caractère du nom du symbole est le
point d'exclamation (!) alors le sens de l'interrupteur est inversé pour
ce symbole. Par exemple:

-w -W !foo -W fo*

objcopy affaiblirait tous les symboles commençant par "fo"
à l'exception du symbole "foo".

-x
--jeter tout
Ne copiez pas les symboles non globaux du fichier source.

-X
--discard-locaux
Ne copiez pas les symboles locaux générés par le compilateur. (Ceux-ci commencent généralement
avec L or ..)

-b octet
--octet=octet
Si l'entrelacement a été activé via le --entrelacement option alors
démarrer la plage d'octets à conserver au octete octet. octet peuvent être
dans la plage de 0 à largeur-1, où largeur est la valeur donnée
par The --entrelacement option.

-i [largeur]
--entrelacement[=largeur]
Ne copiez qu'une plage de chaque largeur octets. (Les données d'en-tête ne sont pas
affecté). Sélectionnez quel octet de la plage commence la copie avec le
--octet option. Sélectionnez la largeur de la plage avec le
--entrelacement-largeur option.

Cette option est utile pour créer des fichiers pour programmer la ROM. Il est
généralement utilisé avec une cible de sortie "srec". Noter que copie obj
se plaindra si vous ne spécifiez pas le --octet option aussi.

La largeur d'entrelacement par défaut est de 4, donc avec --octet mis à 0,
copie obj copierait le premier octet sur quatre octets du
entrée à la sortie.

--interleave-width=largeur
Lorsqu'il est utilisé avec --entrelacement option, copie largeur octets à la fois.
Le début de la plage d'octets à copier est défini par le --octet
et l'étendue de la plage est définie avec l'option --entrelacement
option.

La valeur par défaut de cette option est 1. La valeur de largeur plus
le octet valeur fixée par le --octet l'option ne doit pas dépasser le
largeur d'entrelacement définie par le --entrelacement option.

Cette option peut être utilisée pour créer des images pour deux flashs 16 bits
entrelacé dans un bus 32 bits en passant -b 0 -i 4
--interleave-width=2 ainsi que -b 2 -i 4 --interleave-width=2 à deux
copie obj commandes. Si l'entrée était '12345678' alors les sorties
serait '1256' et '3478' respectivement.

-p
--preserve-dates
Définissez les dates d'accès et de modification du fichier de sortie comme
identiques à ceux du fichier d'entrée.

-D
--enable-archives-déterministes
Fonctionner dans déterministe mode. Lors de la copie des membres de l'archive et
en écrivant l'index d'archive, utilisez zéro pour les UID, les GID, les horodatages et
utiliser des modes de fichiers cohérents pour tous les fichiers.

If binutils a été configuré avec --enable-archives-déterministes,
alors ce mode est activé par défaut. Il peut être désactivé avec le -U
option, ci-dessous.

-U
--disable-archives-déterministes
Do ne sauraient fonctionner dans déterministe mode. C'est l'inverse de la
-D option, ci-dessus : lors de la copie des membres de l'archive et de l'écriture du
index d'archive, utiliser leur UID, GID, horodatage et mode de fichier réels
valeurs.

C'est la valeur par défaut à moins que binutils a été configuré avec
--enable-archives-déterministes.

--débogage
Convertissez les informations de débogage, si possible. Ce n'est pas le
par défaut car seuls certains formats de débogage sont pris en charge, et
le processus de conversion peut prendre du temps.

--gap-fill vague
Comblez les interstices entre les sections avec vague. Cette opération s'applique à la
charge propos (LMA) des sections. Cela se fait en augmentant le
taille de la section avec l'adresse inférieure, et en remplissant le
espace supplémentaire créé avec vague.

--pad-à propos
Remplir le fichier de sortie jusqu'à l'adresse de chargement propos. C'est fait
en augmentant la taille de la dernière section. L'espace supplémentaire est
rempli avec la valeur spécifiée par --gap-fill (zéro par défaut).

--set start vague
Définissez l'adresse de début du nouveau fichier sur vague. Pas tous les fichiers d'objets
les formats prennent en charge la définition de l'adresse de début.

--change-début augmenter
--ajuster-démarrer augmenter
Modifiez l'adresse de départ en ajoutant augmenter. Pas tous les fichiers d'objets
les formats prennent en charge la définition de l'adresse de début.

--change-adresses augmenter
--ajuster-vma augmenter
Modifiez les adresses VMA et LMA de toutes les sections, ainsi que les
adresse de départ, en ajoutant augmenter. Certains formats de fichier objet ne
permettre de modifier arbitrairement les adresses des sections. Notez que ce
ne déplace pas les sections; si le programme s'attend à ce que les sections
être chargé à une certaine adresse, et cette option est utilisée pour changer
les sections de telle sorte qu'elles soient chargées à une adresse différente, le
programme peut échouer.

--change-section-adresse modèle de section{=,+,-}vague
--ajuster-section-vma modèle de section{=,+,-}vague
Définissez ou modifiez à la fois l'adresse VMA et l'adresse LMA de n'importe quel
correspondance de section modèle de section. Si = est utilisé, l'adresse de la section
est fixé à vague. Autrement, vague est ajouté ou soustrait du
adresse de la rubrique. Voir les commentaires sous --change-adresses, au dessus.
If modèle de section ne correspond à aucune section du fichier d'entrée, un
un avertissement sera émis, à moins que --aucun-change-avertissements est utilisé.

--change-section-lma modèle de section{=,+,-}vague
Définir ou modifier l'adresse LMA de toutes les sections correspondant
modèle de section. L'adresse LMA est l'adresse où la section
sera chargé en mémoire au moment du chargement du programme. Normalement c'est
la même que l'adresse VMA, qui est l'adresse de la section à
le temps d'exécution du programme, mais sur certains systèmes, en particulier ceux où un
programme est conservé dans la ROM, les deux peuvent être différents. Si = est utilisé,
l'adresse de la section est définie sur vague. Autrement, vague est ajouté ou
soustrait de l'adresse de la section. Voir les commentaires sous
--change-adresses, dessus. Si modèle de section ne correspond à aucun
sections dans le fichier d'entrée, un avertissement sera émis, à moins que
--aucun-change-avertissements est utilisé.

--change-section-vma modèle de section{=,+,-}vague
Définir ou modifier l'adresse VMA de toute correspondance de section
modèle de section. L'adresse VMA est l'adresse où la section
sera localisé une fois que le programme a commencé à s'exécuter. Normalement
c'est la même que l'adresse LMA, qui est l'adresse où le
section sera chargée en mémoire, mais sur certains systèmes, en particulier
ceux où un programme est conservé en ROM, les deux peuvent être différents. Si
= est utilisé, l'adresse de la section est définie sur vague. Autrement, vague is
ajouté ou soustrait de l'adresse de la section. Voir les commentaires
sous --change-adresses, dessus. Si modèle de section ne correspond pas
des sections du fichier d'entrée, un avertissement sera émis, à moins que
--aucun-change-avertissements est utilisé.

--change-avertissements
--ajuster-avertissements
If --change-section-adresse or --change-section-lma or
--change-section-vma est utilisé, et le modèle de section ne
correspondre à toutes les sections, émettre un avertissement. C'est la valeur par défaut.

--aucun-change-avertissements
--aucun-ajustement-avertissements
N'émettez pas d'avertissement si --change-section-adresse or
--ajuster-section-lma or --ajuster-section-vma est utilisé, même si le
le modèle de section ne correspond à aucune section.

--set-section-flags modèle de section=drapeaux
Définir les drapeaux pour toutes les sections correspondant modèle de sectionL’ drapeaux
L'argument est une chaîne de noms d'indicateurs séparés par des virgules. Le reconnu
les noms sont allouer, contenu, charge, aucun chargement, lecture seulement, code, données, rom,
Partageret déboguer. Vous pouvez définir le contenu drapeau pour une section
qui n'a pas de contenu, mais cela n'a pas de sens d'effacer le
contenu indicateur d'une section qui a un contenu - il suffit de supprimer
la section à la place. Tous les indicateurs ne sont pas significatifs pour tous les objets
formats de fichiers.

--ajouter une section Nom de la section=nom de fichier
Ajouter une nouvelle section nommée Nom de la section lors de la copie du fichier. Les
le contenu de la nouvelle section est extrait du fichier nom de fichierL’
la taille de la section sera la taille du fichier. Cette option seulement
fonctionne sur des formats de fichiers qui peuvent prendre en charge des sections avec arbitraire
noms. Remarque - il peut être nécessaire d'utiliser le --set-section-flags
option pour définir les attributs de la section nouvellement créée.

--dump-section Nom de la section=nom de fichier
Placez le contenu de la section nommée Nom de la section dans le fichier
nom de fichier, en écrasant tout contenu qui aurait pu s'y trouver
précédemment. Cette option est l'inverse de --ajouter une section. Ce
l'option est similaire à la --seulement-section option sauf que c'est le cas
ne crée pas de fichier formaté, il vide simplement le contenu en tant que brut
données binaires, sans appliquer aucune relocalisation. L'option peut être
spécifié plus d'une fois.

--mise à jour-section Nom de la section=nom de fichier
Remplacer le contenu existant d'une section nommée Nom de la section avec
le contenu du fichier nom de fichier. La taille de la section sera
ajusté à la taille du fichier. Les drapeaux de section pour
Nom de la section sera inchangé. Pour les fichiers au format ELF, la section à
la cartographie des segments restera également inchangée, ce qui n'est pas
possible en utilisant --remove-section suivie par --ajouter une sectionL’
L'option peut être spécifiée plusieurs fois.

Remarque - il est possible d'utiliser --renommer-section ainsi que --mise à jour-section
à la fois pour mettre à jour et renommer une section à partir d'une ligne de commande. Dans ce
cas, transmettez le nom de la section d'origine à --mise à jour-section, et le
noms de section originaux et nouveaux à --renommer-section.

--ajouter-un symbole prénom=[ :]Plus-value[,drapeaux]
Ajouter un nouveau symbole nommé prénom lors de la copie du fichier. Cette option
peut être spécifié plusieurs fois. Si la est donné, le
le symbole sera associé et relatif à cette section,
sinon ce sera un symbole ABS. Spécification d'un indéfini
section entraînera une erreur fatale. Il n'y a pas de contrôle pour
valeur, elle sera prise comme spécifiée. Les drapeaux de symboles peuvent être
spécifié et tous les indicateurs ne seront pas significatifs pour tous les fichiers objets
formatage. Par défaut, le symbole sera global. Le drapeau spécial
'avant=autresym' insèrera le nouveau symbole devant le
spécifié autresym, sinon le ou les symboles seront ajoutés à la
fin de la table des mnémoniques dans leur ordre d'apparition.

--renommer-section ancien nom=nouveau nom[,drapeaux]
Renommer une section de ancien nom à nouveau nom, en modifiant éventuellement le
les drapeaux de la section à drapeaux Dans le processus. Cela a l'avantage
en utilisant un script d'éditeur de liens pour effectuer le renommage en ce sens que la sortie
reste comme un fichier objet et ne devient pas un exécutable lié.

Cette option est particulièrement utile lorsque le format d'entrée est
binaire, car cela créera toujours une section appelée .data. Si
par exemple, vous vouliez plutôt créer une section appelée .rodata
contenant des données binaires, vous pouvez utiliser la ligne de commande suivante pour
parvenir:

objcopy -I binaire -O -B \
--rename-section .data=.rodata,alloc,load,readonly,data,contents \


--noms-de-section-longue {activer, désactiver, conserver}
Contrôle la gestion des noms de sections longs lors du traitement de "COFF"
et les formats d'objet "PE-COFF". Le comportement par défaut, garder, est de
conserver les noms de section longs s'il y en a dans le fichier d'entrée.
La permettre ainsi que désactiver les options activent ou désactivent de force l'utilisation
de longs noms de section dans l'objet de sortie ; lorsque désactiver est en
effet, tout nom de section long dans l'objet d'entrée sera
tronqué. Les permettre L'option n'émettra que des noms de section longs si
tous sont présents dans les entrées ; c'est presque la même chose que garder, mais
il n'est pas défini si le permettre option pourrait forcer le
création d'une table de chaînes vide dans le fichier de sortie.

--change-leader-char
Certains formats de fichier objet utilisent des caractères spéciaux au début de
symboles. Le caractère le plus courant de ce type est le trait de soulignement, qui
les compilateurs ajoutent souvent avant chaque symbole. Cette option indique copie obj
pour changer le caractère principal de chaque symbole lorsqu'il convertit
entre les formats de fichier objet. Si les formats de fichier objet utilisent le
même caractère principal, cette option n'a aucun effet. Sinon, il
va ajouter un caractère, ou supprimer un caractère, ou changer un caractère,
selon le cas.

--remove-leader-char
Si le premier caractère d'un symbole global est un symbole spécial
caractère de début utilisé par le format de fichier objet, supprimez le
personnage. Le caractère principal du symbole le plus courant est le trait de soulignement.
Cette option supprimera un trait de soulignement de premier plan de tous les
symboles. Cela peut être utile si vous souhaitez lier des objets entre eux
de différents formats de fichiers avec différentes conventions pour le symbole
noms. Ceci est différent de --change-leader-char parce qu'il
change toujours le nom du symbole lorsque cela est approprié, quel que soit le
format de fichier objet du fichier de sortie.

--reverse-octets=num
Inversez les octets dans une section avec le contenu de sortie. Un volet
longueur doit être également divisible par la valeur donnée pour que le
échanger pour pouvoir avoir lieu. L'inversion a lieu avant le
l'entrelacement est effectué.

Cette option est généralement utilisée pour générer des images ROM pour
systèmes cibles problématiques. Par exemple, sur certains tableaux cibles,
les mots de 32 bits extraits des ROM de 8 bits sont réassemblés dans
ordre des octets petit-boutiste quel que soit l'ordre des octets du processeur.
Selon le modèle de programmation, le boutisme de la ROM peut
besoin d'être modifié.

Considérons un fichier simple avec une section contenant les éléments suivants
huit octets : 12345678.

En utilisant --reverse-octets=2 pour l'exemple ci-dessus, les octets dans le
le fichier de sortie serait commandé 21436587.

En utilisant --reverse-octets=4 pour l'exemple ci-dessus, les octets dans le
le fichier de sortie serait commandé 43218765.

En utilisant --reverse-octets=2 pour l'exemple ci-dessus, suivi de
--reverse-octets=4 sur le fichier de sortie, les octets du second
le fichier de sortie serait commandé 34127856.

--srec-len=ival
Significatif uniquement pour la sortie srec. Réglez la longueur maximale du
Enregistrements produits pour ival. Cette longueur couvre à la fois l'adresse,
champs de données et crc.

--srec-forceS3
Significatif uniquement pour la sortie srec. Éviter la génération de S1/S2
enregistrements, créant un format d'enregistrement uniquement S3.

--redéfinir-sym et les sites anciens=neufs
Changer le nom d'un symbole et les sites anciens, to neufs. Cela peut être utile lorsque
on essaie de lier deux choses ensemble pour lesquelles vous n'avez pas
source, et il y a des collisions de noms.

--redéfinir-syms=nom de fichier
Appliquer --redéfinir-sym à chaque paire de symboles "et les sites anciens neufs" répertorié dans le
filet nom de fichier. nom de fichier est simplement un fichier plat, avec un symbole
paire par ligne. Les commentaires de ligne peuvent être introduits par le hachage
personnage. Cette option peut être donnée plus d'une fois.

--affaiblir
Modifiez tous les symboles globaux du fichier pour qu'ils soient faibles. Cela peut être
utile lors de la construction d'un objet qui sera lié à d'autres
objets utilisant le -R option à l'éditeur de liens. Cette option est uniquement
efficace lors de l'utilisation d'un format de fichier objet qui prend en charge
symboles

--keep-symboles=nom de fichier
Appliquer --garder-symbole option à chaque symbole répertorié dans le fichier
nom de fichier. nom de fichier est simplement un fichier plat, avec un nom de symbole par
ligne. Les commentaires de ligne peuvent être introduits par le caractère dièse. Cette
l'option peut être donnée plus d'une fois.

--strip-symboles=nom de fichier
Appliquer --symbole-strip option à chaque symbole répertorié dans le fichier
nom de fichier. nom de fichier est simplement un fichier plat, avec un nom de symbole par
ligne. Les commentaires de ligne peuvent être introduits par le caractère dièse. Cette
l'option peut être donnée plus d'une fois.

--strip-symboles-inutiles=nom de fichier
Appliquer --strip-symbole-inutile option à chaque symbole répertorié dans le
filet nom de fichier. nom de fichier est simplement un fichier plat, avec un symbole
nom par ligne. Les commentaires de ligne peuvent être introduits par le hachage
personnage. Cette option peut être donnée plus d'une fois.

--keep-global-symboles=nom de fichier
Appliquer --garder-le-symbole-global option à chaque symbole répertorié dans le fichier
nom de fichier. nom de fichier est simplement un fichier plat, avec un nom de symbole par
ligne. Les commentaires de ligne peuvent être introduits par le caractère dièse. Cette
l'option peut être donnée plus d'une fois.

--localize-symboles=nom de fichier
Appliquer --localize-symbole option à chaque symbole répertorié dans le fichier
nom de fichier. nom de fichier est simplement un fichier plat, avec un nom de symbole par
ligne. Les commentaires de ligne peuvent être introduits par le caractère dièse. Cette
l'option peut être donnée plus d'une fois.

--globalize-symboles=nom de fichier
Appliquer --globalize-symbole option à chaque symbole répertorié dans le fichier
nom de fichier. nom de fichier est simplement un fichier plat, avec un nom de symbole par
ligne. Les commentaires de ligne peuvent être introduits par le caractère dièse. Cette
l'option peut être donnée plus d'une fois.

--weaken-symboles=nom de fichier
Appliquer --affaiblir-symbole option à chaque symbole répertorié dans le fichier
nom de fichier. nom de fichier est simplement un fichier plat, avec un nom de symbole par
ligne. Les commentaires de ligne peuvent être introduits par le caractère dièse. Cette
l'option peut être donnée plus d'une fois.

--alt-code-machine=indice
Si l'architecture de sortie a des codes machine alternatifs, utilisez le
indicee code au lieu de celui par défaut. Ceci est utile dans le cas où un
la machine se voit attribuer un code officiel et la chaîne d'outils adopte le
nouveau code, mais d'autres applications dépendent toujours du code d'origine
utilisé. Pour les architectures basées sur ELF si le indice alternative
n'existe pas, la valeur est traitée comme un nombre absolu pour
être stocké dans le champ e_machine de l'en-tête ELF.

--texte-inscriptible
Marquez le texte de sortie comme inscriptible. Cette option n'a pas de sens pour
tous les formats de fichier objet.

--texte en lecture seule
Protégez le texte de sortie en écriture. Cette option n'a pas de sens
pour tous les formats de fichier objet.

--pur
Marquez le fichier de sortie comme paginé à la demande. Cette option n'a pas de sens
pour tous les formats de fichier objet.

--impur
Marquez le fichier de sortie comme impur. Cette option n'a pas de sens pour
tous les formats de fichier objet.

--prefix-symboles=un magnifique
Préfixez tous les symboles dans le fichier de sortie avec un magnifique.

--prefix-sections=un magnifique
Préfixez tous les noms de section dans le fichier de sortie avec un magnifique.

--prefix-alloc-sections=un magnifique
Préfixe tous les noms de toutes les sections allouées dans le fichier de sortie
avec un magnifique.

--add-gnu-debuglink=chemin d'accès au fichier
Crée une section .gnu_debuglink qui contient une référence à
chemin d'accès au fichier et l'ajoute au fichier de sortie. Remarque : le fichier à
chemin d'accès au fichier doit exister. Une partie du processus d'ajout du
La section .gnu_debuglink implique l'intégration d'une somme de contrôle du
contenu du fichier d'informations de débogage dans la section.

Si le fichier d'informations de débogage est créé à un emplacement mais qu'il va
être installé ultérieurement dans un autre emplacement, ne
utilisez le chemin d'accès à l'emplacement d'installation. Les --add-gnu-debuglink
L'option échouera car le fichier installé n'existe pas encore.
Au lieu de cela, placez le fichier d'informations de débogage dans le répertoire actuel et utilisez
le --add-gnu-debuglink option sans aucun composant de répertoire,
comme ça:

objcopy --add-gnu-debuglink=foo.debug

Au moment du débogage, le débogueur tentera de rechercher le
fichier d'informations de débogage dans un ensemble d'emplacements connus. L'ensemble exact de
ces emplacements varient en fonction de la distribution utilisée,
mais il comprend généralement :

"* Le même répertoire que l'exécutable."
"* Un sous-répertoire du répertoire contenant l'exécutable"
appelé .debug

"* Un répertoire de débogage global tel que /usr/lib/debug."

Tant que le fichier d'informations de débogage a été installé dans l'un de ces
emplacements avant l'exécution du débogueur, tout devrait fonctionner
correctement.

--garder-les-symboles-de-fichiers
Lors de la suppression d'un fichier, peut-être avec --strip-débogage or
--strip-inutile, conservez tous les symboles spécifiant les noms de fichiers source,
qui autrement serait dépouillé.

--only-keep-debug
Supprimer un fichier, en supprimant le contenu de toutes les sections qui ne seraient pas
dépouillé par --strip-débogage et en laissant les sections de débogage
intact. Dans les fichiers ELF, cela préserve toutes les sections de notes dans le
sortie.

Remarque - les en-têtes de section des sections supprimées sont conservés,
y compris leurs tailles, mais le contenu de la section est
mis au rebut. Les en-têtes de section sont conservés afin que d'autres outils
peut faire correspondre le fichier debuginfo avec le vrai exécutable, même si
cet exécutable a été déplacé vers un espace d'adressage différent.

L'intention est que cette option soit utilisée en conjonction avec
--add-gnu-debuglink pour créer un exécutable en deux parties. un un
binaire dépouillé qui occupera moins d'espace en RAM et dans un
distribution et le second un fichier d'informations de débogage qui est
nécessaire uniquement si des capacités de débogage sont requises. Le suggéré
la procédure pour créer ces fichiers est la suivante :

1.
"foo" alors...

1.
créer un fichier contenant les informations de débogage.

1.
exécutable dépouillé.

1.
pour ajouter un lien vers les informations de débogage dans le dépouillé
exécutable

Remarque --- le choix de ".dbg" comme extension pour le fichier d'informations de débogage
est arbitraire. De plus, l'étape "--only-keep-debug" est facultative. Tu
pourrait à la place faire ceci:

1.
1.
1.
1.

c'est-à-dire le fichier pointé par le --add-gnu-debuglink peut être le
exécutable complet. Il n'est pas nécessaire qu'il s'agisse d'un fichier créé par le
--only-keep-debug interrupteur.

Remarque --- ce commutateur est uniquement destiné à être utilisé sur des fichiers entièrement liés.
Cela n'a pas de sens de l'utiliser sur des fichiers objets où le
les informations de débogage peuvent être incomplètes. Outre le lien gnu_debug
la fonctionnalité ne prend actuellement en charge que la présence d'un seul nom de fichier
contenant des informations de débogage, pas plusieurs noms de fichiers sur un seul
base par fichier objet.

--strip-dwo
Supprimez le contenu de toutes les sections DWARF .dwo, en laissant le
sections de débogage restantes et tous les symboles intacts. Cette option
est destiné à être utilisé par le compilateur dans le cadre du -gsplit-nain
option, qui divise les informations de débogage entre le fichier .o et un
fichier .dwo séparé. Le compilateur génère toutes les informations de débogage
dans le même fichier, puis utilise le --extrait-dwo possibilité de copier le
.dwo dans le fichier .dwo, puis le --strip-dwo Option de
supprimez ces sections du fichier .o d'origine.

--extrait-dwo
Extrayez le contenu de toutes les sections DWARF .dwo. Voir le
--strip-dwo option pour plus d'informations.

--file-alignement num
Spécifiez l'alignement du fichier. Les sections du fichier commenceront toujours
à des décalages de fichiers qui sont des multiples de ce nombre. Cette valeur par défaut
à 512. [Cette option est spécifique aux cibles PE.]

--tas réserve
--tas réserve,commettre
Spécifiez le nombre d'octets de mémoire à réserver (et éventuellement
commit) à utiliser comme tas pour ce programme. [Cette option est
spécifiques aux cibles PE.]

--image-base Plus-value
Utilisez Plus-value comme adresse de base de votre programme ou dll. C'est le
emplacement de mémoire le plus bas qui sera utilisé lorsque votre programme ou dll
est chargé. Pour réduire le besoin de déménager et améliorer les performances
de vos dll, chacune doit avoir une adresse de base unique et non
chevaucher toutes les autres DLL. La valeur par défaut est 0x400000 pour les exécutables,
et 0x10000000 pour les dll. [Cette option est spécifique aux cibles PE.]

--section-alignement num
Définit l'alignement de la section. Les sections en mémoire commenceront toujours
aux adresses qui sont un multiple de ce nombre. Par défaut à
0x1000. [Cette option est spécifique aux cibles PE.]

--empiler réserve
--empiler réserve,commettre
Spécifiez le nombre d'octets de mémoire à réserver (et éventuellement
commit) à utiliser comme pile pour ce programme. [Cette option est
spécifiques aux cibles PE.]

--sous-système qui
--sous-système qui:majeur
--sous-système qui:majeur.mineur
Spécifie le sous-système sous lequel votre programme s'exécutera. Les
valeurs légales pour qui sont "natif", "windows", "console", "posix",
"efi-app", "efi-bsd", "efi-rtd", "sal-rtd" et "xbox". Tu peux
éventuellement définir également la version du sous-système. Les valeurs numériques sont également
accepté pour qui. [Cette option est spécifique aux cibles PE.]

--extraire-symbole
Conservez les indicateurs et les symboles de section du fichier, mais supprimez toutes les sections
Les données. Concrètement, l'option :

*
*
*

Cette option est utilisée pour construire un .sym fichier pour un noyau VxWorks. Ce
peut également être un moyen utile de réduire la taille d'un --just-symboles
fichier d'entrée de l'éditeur de liens.

--compress-debug-sections
Compresser les sections de débogage DWARF à l'aide de zlib avec SHF_COMPRESSED à partir de
l'ELF ABI. Remarque - si la compression ferait réellement une section
plus importantes, alors il n'est pas compressé.

--compress-debug-sections=aucun
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
Pour les fichiers ELF, ces options contrôlent la façon dont les sections de débogage DWARF sont
comprimé. --compress-debug-sections=aucun équivaut à
--decompress-debug-sections. --compress-debug-sections=zlib ainsi que
--compress-debug-sections=zlib-gabi sont équivalents à
--compress-debug-sections. --compress-debug-sections=zlib-gnu
compresse les sections de débogage DWARF à l'aide de zlib. Les sections de débogage sont
renommé pour commencer .zdebug au lieu de .déboguer. Remarque - si
la compression ferait en fait une section plus importantes, alors ce n'est pas
compressé ni renommé.

--decompress-debug-sections
Décompressez les sections de débogage DWARF à l'aide de zlib. La rubrique d'origine
les noms des sections compressées sont restaurés.

-V
--version
Afficher le numéro de version de copie obj.

-v
--verbeux
Sortie détaillée : répertorie tous les fichiers objets modifiés. Dans le cas d
les archives, copie obj -V répertorie tous les membres de l'archive.

--Aidez-moi
Afficher un résumé des options à copie obj.

--Info
Afficher une liste de toutes les architectures et formats d'objets
disponible.

@filet
Lire les options de ligne de commande à partir de filet. Les options lues sont insérées
à la place de l'original @filet option. Si filet n'existe pas, ou
ne peut pas être lu, alors l'option sera traitée littéralement, et non
enlevé.

options dans filet sont séparés par des espaces. Un espace
caractère peut être inclus dans une option en entourant l'ensemble
option entre guillemets simples ou doubles. Tout caractère (y compris
une barre oblique inverse) peut être inclus en préfixant le caractère à
inclus avec une barre oblique inverse. Les filet peut lui-même contenir d'autres
@filet options; ces options seront traitées de manière récursive.

Utilisez i686-linux-gnu-objcopy en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad