AnglaisFrançaisEspagnol

Exécutez les serveurs | Ubuntu > | Fedora > |


Icône de favori OnWorks

h8300-hms-objcopy - En ligne dans le Cloud

Exécutez h8300-hms-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 h8300-hms-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:

PRÉ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-all]
[-g--strip-débogage]
[-K nom du symbole--keep-symbol=nom du symbole]
[-N nom du symbole--strip-symbol=nom du symbole]
[--strip-symbole-inutile=nom du symbole]
[-G nom du symbole--keep-global-symbol=nom du symbole]
[-L nom du symbole--localize-symbol=nom du symbole]
[-W nom du symbole--weaken-symbol=nom du symbole]
[-w--caractère générique]
[-x--discard-all]
[-X--discard-locaux]
[-b octet--octet=octet]
[-i entrelacer--interleave=entrelacer]
[-j Nom de la section--seulement-section=Nom de la section]
[-R Nom de la section--remove-section=Nom de la section]
[-p--preserve-dates]
[--débogage]
[--gap-fill=vague]
[--pad-vers=adresse]
[--set-start=vague]
[--adjust-start=augmenter]
[--change-adresses=augmenter]
[--change-section-address {=,+,-}vague]
[--change-section-lma {=,+,-}vague]
[--change-section-vma {=,+,-}vague]
[--change-warnings] [--no-change-warnings]
[--set-section-flags =drapeaux]
[--add-section Nom de la section=nom de fichier]
[--rename-section ancien nom=nouveau nom[,drapeaux]]
[--change-leader-char] [--remove-leader-char]
[--srec-len=ival] [--srec-forceS3]
[--redefine-sym Seniors=Neuf (ve)]
[--redefine-syms=nom de fichier]
[--affaiblir]
[--keep-symbols=nom de fichier]
[--strip-symbols=nom de fichier]
[--strip-symboles-inutiles=nom de fichier]
[--keep-global-symbols=nom de fichier]
[--localize-symboles=nom de fichier]
[--weaken-symboles=nom de fichier]
[--alt-code-machine=indice]
[--prefix-symbols=un magnifique]
[--prefix-sections=un magnifique]
[--prefix-alloc-sections=un magnifique]
[--add-gnu-debuglink=chemin d'accès au fichier]
[--only-keep-debug]
[--texte-inscriptible]
[--readonly-text]
[--pur]
[--impur]
[-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 Usages
la bibliothèque GNU BFD pour lire et écrire les fichiers objets. Il peut écrire la destination
fichier objet dans un format différent de celui du fichier objet source. Le comportement exact
of copie obj est contrôlé par les options de la ligne de commande. Noter que copie obj devrait pouvoir
copier un fichier entièrement lié entre deux formats quelconques. Cependant, la copie d'un objet déplaçable
fichier entre deux formats peut ne pas fonctionner comme prévu.

copie obj crée des fichiers temporaires pour faire ses traductions et les supprime par la suite.
copie obj utilise BFD pour faire tout son travail de traduction; il a accès à tous les formats
décrit dans BFD et est donc 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 cible de sortie de binaire
(par exemple, utiliser -O binaire). Quand copie obj génère un fichier binaire brut, il sera essentiellement
produire un vidage mémoire du contenu du fichier objet d'entrée. Tous les symboles et
les informations de réinstallation seront supprimées. Le vidage de la mémoire commencera à l'adresse de chargement
de la 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 d'utiliser -S retirer
sections contenant des informations de débogage. Dans certains cas -R sera utile d'enlever
sections qui contiennent des informations dont le fichier binaire n'a pas besoin.

Noter---copie obj n'est pas en mesure de modifier le boutisme de ses fichiers d'entrée. Si l'entrée
le format a un endianisme (certains formats n'en ont pas), copie obj ne peut que copier les entrées dans le fichier
formats qui ont le même boutisme ou qui n'ont pas de boutisme (par exemple, srec).

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 d'essayer 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 le fichier d'entrée et le fichier de sortie ; c'est-à-dire simplement
transférer des 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 binaire brut en un fichier objet. Dans ce cas
l'architecture de sortie peut être définie sur bfdarch. Cette option sera ignorée si le
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 le processus de conversion. Ces
les symboles sont appelés _binaire_fichier obj_start, _binaire_fichier obj_fin et
_binaire_fichier obj_Taille. par exemple, vous pouvez transformer un fichier image en un fichier objet et
puis accédez-y dans votre code à l'aide de ces symboles.

-j Nom de la section
--seulement-section=Nom de la section
Copiez uniquement la section nommée du fichier d'entrée vers le fichier de sortie. Cette option peut
être donné plus d'une fois. Notez qu'une utilisation inappropriée de cette option peut rendre le
fichier de sortie inutilisable.

-R Nom de la section
--remove-section=Nom de la section
Supprimer toute section nommée Nom de la section du fichier de sortie. Cette option peut être donnée
plus d'une fois. Notez qu'une utilisation inappropriée de cette option peut rendre le fichier de sortie
inutilisable.

-S
--strip-all
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-symbol=nom du symbole
Copier uniquement le symbole nom du symbole à partir du fichier source. Cette option peut être donnée plus de
une fois que.

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

--strip-symbole-inutile=nom du symbole
Ne pas copier le symbole nom du symbole à partir du fichier source, sauf si cela est requis par un
déménagement. Cette option peut être donnée plus d'une fois.

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

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

-W nom du symbole
--weaken-symbol=nom du symbole
Faire un symbole nom du symbole faible. Cette option peut être donnée plus d'une fois.

-w
--caractère générique
Autoriser les expressions régulières dans nom du symboles utilisé dans d'autres options de ligne de commande. Les
les opérateurs point d'interrogation (?), astérisque (*), barre oblique inverse (\) et crochets ([]) peuvent
être utilisé 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 du commutateur est inversé pour ce symbole. Pour
Exemple:

-w -W !foo -W fo*

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

-x
--discard-all
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 par L or ..)

-b octet
--octet=octet
Ne gardez que chaque octete octet du fichier d'entrée (les données d'en-tête ne sont pas affectées). octet peut
être compris entre 0 et entrelacer-1, où entrelacer est donné par le -i or
--entrelacement ou la valeur par défaut de 4. Cette option est utile pour créer des fichiers à
ROM du programme. Il est généralement utilisé avec une cible de sortie "srec".

-i entrelacer
--interleave=entrelacer
Copiez seulement un sur chaque entrelacer octets. Sélectionnez l'octet à copier avec le -b or
--octet option. La valeur par défaut est 4. copie obj ignore cette option si vous ne spécifiez pas
non plus -b or --octet.

-p
--preserve-dates
Définissez les dates d'accès et de modification du fichier de sortie pour qu'elles soient les mêmes que celles de
le fichier d'entrée.

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

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

--pad-to adresse
Remplir le fichier de sortie jusqu'à l'adresse de chargement adresse. Cela se fait en augmentant le
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. Tous les formats de fichiers objets ne sont pas pris en charge
réglage de l'adresse de départ.

--change-début augmenter
--ajuster-démarrer augmenter
Modifiez l'adresse de départ en ajoutant augmenter. Tous les formats de fichiers objets ne prennent pas en charge le paramètre
l'adresse de départ.

--change-adresses augmenter
--adjust-vma augmenter
Modifiez les adresses VMA et LMA de toutes les sections, ainsi que l'adresse de départ, en
ajoutant augmenter. Certains formats de fichiers objets ne permettent pas de modifier les adresses de section
arbitrairement. Notez que cela ne déplace pas les sections ; si le programme attend
sections à charger à une certaine adresse, et cette option est utilisée pour changer le
sections de telle sorte qu'elles soient chargées à une adresse différente, le programme peut échouer.

--change-section-address {=,+,-}vague
--adjust-section-vma {=,+,-}vague
Définissez ou modifiez à la fois l'adresse VMA et l'adresse LMA du . Si = is
utilisé, l'adresse de la section est définie sur vague. Autrement, vague est ajouté ou soustrait
à partir de l'adresse de la section. Voir les commentaires sous --change-adresses, dessus. Si
n'existe pas dans le fichier d'entrée, un avertissement sera émis, sauf si
--no-change-warnings est utilisé.

--change-section-lma {=,+,-}vague
Définir ou modifier l'adresse LMA du nom . L'adresse LMA est l'adresse
où la section sera chargée 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 au moment de l'exécution du programme,
mais sur certains systèmes, en particulier ceux où un programme est stocké dans la ROM, les deux peuvent être
différent. 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 n'existe pas dans le fichier d'entrée, un avertissement sera émis, sauf si
--no-change-warnings est utilisé.

--change-section-vma {=,+,-}vague
Définir ou modifier l'adresse VMA du nom . L'adresse VMA est l'adresse
où la section sera située 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ù la section sera
chargé en mémoire, mais sur certains systèmes, en particulier ceux où un programme est
ROM, les deux peuvent être différents. Si = est utilisé, l'adresse de la section est définie sur vague.
Dans le cas contraire, vague est ajouté ou soustrait à l'adresse de la section. Voir les commentaires
sous --change-adresses, dessus. Si n'existe pas dans le fichier d'entrée, un
un avertissement sera émis, à moins que --no-change-warnings est utilisé.

--change-warnings
--ajuster-avertissements
If --change-section-address or --change-section-lma or --change-section-vma est utilisé,
et la section nommée n'existe pas, émettez un avertissement. C'est la valeur par défaut.

--no-change-warnings
--no-adjust-warnings
N'émettez pas d'avertissement si --change-section-address or --adjust-section-lma or
--adjust-section-vma est utilisé, même si la section nommée n'existe pas.

--set-section-flags =drapeaux
Définissez les indicateurs pour la section nommée. Les drapeaux l'argument est une chaîne séparée par des virgules
de noms de drapeaux. Les noms reconnus sont allouer, contenu, charge, aucun chargement, lecture seulement,
code, dimensionnelles, 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 drapeau d'un
section qui a un contenu - supprimez simplement la section à la place. Tous les drapeaux ne sont pas
significatif pour tous les formats de fichier objet.

--add-section Nom de la section=nom de fichier
Ajouter une nouvelle section nommée Nom de la section lors de la copie du fichier. Le contenu du nouveau
section sont extraits du fichier nom de fichier. La taille de la section sera la taille de
le fichier. Cette option ne fonctionne que sur les formats de fichiers qui peuvent prendre en charge les sections avec
noms arbitraires.

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

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

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


--change-leader-char
Certains formats de fichier objet utilisent des caractères spéciaux au début des symboles. Le plus
Un tel caractère commun est le trait de soulignement, que les compilateurs ajoutent souvent avant chaque symbole.
Cette option indique copie obj 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, cette option n'a aucun effet. Sinon, il ajoutera un caractère, ou supprimera un
caractère, ou modifier un caractère, le cas échéant.

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

--srec-len=ival
Significatif uniquement pour la sortie srec. Définissez la longueur maximale des Srecords
produit à ival. Cette longueur couvre à la fois les champs d'adresse, de données et de crc.

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

--redefine-sym Seniors=Neuf (ve)
Changer le nom d'un symbole Seniors, to Neuf (ve). Cela peut être utile lorsque l'on essaie un lien
deux choses ensemble pour lesquelles vous n'avez aucune source, et il y a des collisions de noms.

--redefine-syms=nom de fichier
Appliquer --redefine-sym à chaque paire de symboles "Seniors Neuf (ve)" répertorié dans le fichier nom de fichier.
nom de fichier est simplement un fichier plat, avec une paire de symboles par ligne. Les commentaires de ligne peuvent être
introduit par le caractère de hachage. 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 en utilisant le -R option à l'éditeur de liens.
Cette option n'est efficace que lors de l'utilisation d'un format de fichier objet qui prend en charge
symboles

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

--strip-symbols=nom de fichier
Appliquer --strip-symbol option à chaque symbole répertorié dans le fichier nom de fichier. nom de fichier is
simplement un fichier plat, avec un nom de symbole par ligne. Les commentaires de ligne peuvent être introduits par
le caractère de hachage. Cette 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 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
introduit par le caractère de hachage. Cette option peut être donnée plus d'une fois.

--keep-global-symbols=nom de fichier
Appliquer --keep-global-symbol 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
introduit par le caractère de hachage. Cette 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. Des commentaires de ligne peuvent être introduits
par le caractère de hachage. Cette option peut être donnée plus d'une fois.

--weaken-symboles=nom de fichier
Appliquer --weaken-symbol option à chaque symbole répertorié dans le fichier nom de fichier. nom de fichier is
simplement un fichier plat, avec un nom de symbole par ligne. Les commentaires de ligne peuvent être introduits par
le caractère de hachage. Cette 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 à la place
de celui par défaut. Ceci est utile dans le cas où une machine se voit attribuer un code officiel et
la chaîne d'outils adopte le nouveau code, mais d'autres applications dépendent encore du
code d'origine utilisé.

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

--readonly-text
Protégez le texte de sortie en écriture. Cette option n'a pas de sens pour tous les objets
formats de fichiers.

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

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

--prefix-symbols=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éfixez 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 ajoute
dans le fichier de sortie.

--only-keep-debug
Supprimer un fichier, en supprimant toutes les sections qui seraient supprimées par --strip-débogage et de la
quitter les sections de débogage.

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 binaire dépouillé qui occupera moins d'espace
en RAM et dans une distribution et le second un fichier d'informations de débogage qui n'est
nécessaire si des capacités de débogage sont requises. La procédure suggérée pour créer ces
fichiers est le suivant :

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 l'exécutable supprimé.

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. Vous pouvez plutôt faire ceci :

1.
1.
1.
1.

c'est-à-dire le fichier pointé par le --add-gnu-debuglink peut être l'exécutable complet. Cela fait
ne doit pas nécessairement être un fichier créé par le --only-keep-debug interrupteur.

-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 des archives, copie obj -V
répertorie tous les membres de l'archive.

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

--Info
Affichez une liste de toutes les architectures et formats d'objets disponibles.

Utilisez h8300-hms-objcopy en ligne à l'aide des services onworks.net


Ad


Ad