EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

i686-linux-gnu-objcopy – Online in der Cloud

Führen Sie i686-linux-gnu-objcopy im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl i686-linux-gnu-objcopy, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


objcopy - Objektdateien kopieren und übersetzen

ZUSAMMENFASSUNG


objkopieren [-F bfdname|--ziel=bfdname]
[-I bfdname|--input-target=bfdname]
[-O bfdname|--output-target=bfdname]
[-B bfdarch|--binary-architecture=bfdarch]
[-S|--strip-all]
[-g|--strip-debug]
[-K Symbolname|--keep-symbol=Symbolname]
[-N Symbolname|--strip-symbol=Symbolname]
[--strip-unnötiges-symbol=Symbolname]
[-G Symbolname|--keep-global-symbol=Symbolname]
[--localize-hidden]
[-L Symbolname|--localize-symbol=Symbolname]
[--globalisieren-symbol=Symbolname]
[-W Symbolname|--schwächen-symbol=Symbolname]
[-w|- Platzhalter]
[-x|--discard-all]
[-X|--discard-locals]
[-b Byte|--Byte=Byte]
[-i [Breite]|--interleave[=Breite]]
[--interleave-width=Breite]
[-j Schnittmuster|--only-section=Schnittmuster]
[-R Schnittmuster|--remove-section=Schnittmuster]
[-p|--preserve-dates]
[-D|--enable-deterministic-archives]
[-U|--disable-deterministic-archives]
[--debuggen]
[--gap-fill=Welle]
[--pad-to=Adresse]
[--set-start=Welle]
[--adjust-start=inkr]
[--change-adresses=inkr]
[--change-section-address Schnittmuster{=,+,-}Welle]
[--change-section-lma Schnittmuster{=,+,-}Welle]
[--change-section-vma Schnittmuster{=,+,-}Welle]
[--Änderungswarnungen] [--no-change-Warnungen]
[--set-section-flags Schnittmuster=Fahnen]
[--Add-Abschnitt Abteilungsname=Dateinamen]
[--Dump-Abschnitt Abteilungsname=Dateinamen]
[--update-Abschnitt Abteilungsname=Dateinamen]
[--rename-section alte Bezeichnung=neuer Name[,Fahnen]]
[--long-section-names {aktivieren, deaktivieren, behalten}]
[--change-leading-char] [--remove-leading-char]
[--reverse-bytes=num]
[--srec-len=ival] [--srec-forceS3]
[--redefine-sym alt=neu]
[--redefine-syms=Dateinamen]
[--schwächen]
[--keep-symbols=Dateinamen]
[--strip-symbols=Dateinamen]
[--strip-unneeded-symbols=Dateinamen]
[--keep-global-symbols=Dateinamen]
[--localize-symbols=Dateinamen]
[--globalize-symbols=Dateinamen]
[--weaken-symbols=Dateinamen]
[--add-symbol Name=[Abschnitt:]Wert[,Fahnen]
[--alt-machine-code=Index]
[--prefix-symbols=Schnur]
[--prefix-sections=Schnur]
[--prefix-alloc-sections=Schnur]
[--add-gnu-debuglink=Pfad-zur-Datei]
[--keep-file-symbols]
[--only-keep-debug]
[--strip-dwo]
[--extract-dwo]
[--extrahieren-symbol]
[--beschreibbarer-text]
[--readonly-text]
[--rein]
[--unrein]
[--file-alignment=num]
[--haufen=Größe]
[--image-base=Adresse]
[--section-alignment=num]
[--stack=Größe]
[--subsystem=welche:Dur.Moll]
[--compress-debug-sections]
[--decompress-debug-sections]
[--zwerg-Tiefe=n]
[--zwerg-start=n]
[-v|- ausführlich]
[-V|--Version]
[--help] [--die Info]
im Ordner [Outfile]

BESCHREIBUNG


Die GNU Objektkopie Das Dienstprogramm kopiert den Inhalt einer Objektdatei nach
eine andere. Objektkopie verwendet die GNU BFD-Bibliothek zum Lesen und Schreiben des Objekts
Dateien. Es kann die Zielobjektdatei in einem anderen Format schreiben
von der der Quellobjektdatei. Das genaue Verhalten von Objektkopie is
gesteuert durch Befehlszeilenoptionen. Beachten Sie, dass Objektkopie sollte fähig sein
um eine vollständig verknüpfte Datei zwischen zwei beliebigen Formaten zu kopieren. Das Kopieren von a
Eine verschiebbare Objektdatei zwischen zwei beliebigen Formaten funktioniert möglicherweise nicht als
erwartet.

Objektkopie erstellt temporäre Dateien für die Übersetzungen und löscht sie
nachher. Objektkopie nutzt BFD für die gesamte Übersetzungsarbeit; es hat
Zugriff auf alle in BFD beschriebenen Formate und ist somit in der Lage
erkennt die meisten Formate, ohne dass es explizit gesagt wird.

Objektkopie kann verwendet werden, um S-Records zu generieren, indem ein Ausgabeziel von . verwendet wird
srec (z. B. verwenden -O srec).

Objektkopie kann verwendet werden, um mithilfe einer Ausgabe eine rohe Binärdatei zu generieren
Ziel von binär (z. B. verwenden -O binär). Wann Objektkopie erzeugt einen Rohdatensatz
Wenn Sie eine Binärdatei erstellen, wird im Wesentlichen ein Speicherauszug des Inhalts erstellt
der Eingabeobjektdatei. Alle Symbole und Umzugsinformationen werden angezeigt
verworfen werden. Der Speicherauszug beginnt an der Ladeadresse des
unterster Abschnitt in die Ausgabedatei kopiert.

Beim Generieren eines S-Records oder einer Rohbinärdatei kann es hilfreich sein, Folgendes zu tun
- -S um Abschnitte zu entfernen, die Debugging-Informationen enthalten. In einigen
Fälle -R wird nützlich sein, um Abschnitte zu entfernen, die Informationen enthalten
das wird von der Binärdatei nicht benötigt.

Notiz---Objektkopie ist nicht in der Lage, die Endianness seiner Eingabedateien zu ändern.
Wenn das Eingabeformat Endianness hat (einige Formate nicht), Objektkopie
kann die Eingaben nur in Dateiformate kopieren, die dasselbe haben
Endianness oder die keine Endianness haben (z. B. srec). (Siehe jedoch die
--reverse-bytes Möglichkeit.)

OPTIONAL


im Ordner
Outfile
Die Eingabe- und Ausgabedateien bzw. Wenn Sie nicht angeben
Outfile, Objektkopie erstellt eine temporäre Datei und benennt diese destruktiv um
das Ergebnis mit dem Namen von im Ordner.

-I bfdname
--input-target=bfdname
Betrachten Sie das Objektformat der Quelldatei als bfdname, Anstatt
versuche es abzuleiten.

-O bfdname
--output-target=bfdname
Schreiben Sie die Ausgabedatei mit dem Objektformat bfdname.

-F bfdname
--ziel=bfdname
Verwenden Sie die bfdname als Objektformat sowohl für die Eingabe als auch für die Ausgabe
Datei; Das heißt, übertragen Sie Daten einfach von der Quelle zum Ziel, ohne dass dies der Fall ist
Übersetzung.

-B bfdarch
--binary-architecture=bfdarch
Nützlich beim Umwandeln einer architekturlosen Eingabedatei in eine
Objektdatei. In diesem Fall kann die Ausgabearchitektur auf eingestellt werden
bfdarch. Diese Option wird ignoriert, wenn die Eingabedatei eine bekannte hat
bfdarch. Sie können auf diese Binärdaten innerhalb eines Programms zugreifen, indem Sie
Verweisen auf die speziellen Symbole, die durch die Konvertierung erstellt werden
Verfahren. Diese Symbole heißen _binär_Objektdatei_Start,
_binär_Objektdatei_end und _binary_Objektdatei_Größe. zB kannst du
Wandeln Sie eine Bilddatei in eine Objektdatei um und greifen Sie dann darauf zu
Fügen Sie Ihren Code mithilfe dieser Symbole hinzu.

-j Schnittmuster
--only-section=Schnittmuster
Kopieren Sie nur die angegebenen Abschnitte aus der Eingabedatei in die Ausgabe
Datei. Diese Option kann mehrfach angegeben werden. Beachten Sie, dass mit
Wenn diese Option ungeeignet ist, kann die Ausgabedatei unbrauchbar werden.
Platzhalterzeichen werden akzeptiert Schnittmuster.

-R Schnittmuster
--remove-section=Schnittmuster
Entfernen Sie alle übereinstimmenden Abschnitte Schnittmuster aus der Ausgabedatei.
Diese Option kann mehrfach angegeben werden. Beachten Sie, dass Sie dies verwenden
Eine unsachgemäße Ausführung der Option kann dazu führen, dass die Ausgabedatei unbrauchbar wird. Platzhalter
Zeichen werden akzeptiert Schnittmuster. Verwenden Sie beide -j und
-R Optionen zusammen führen zu undefiniertem Verhalten.

-S
--strip-all
Kopieren Sie keine Verlagerungs- und Symbolinformationen aus der Quelldatei.

-g
--strip-debug
Kopieren Sie keine Debugging-Symbole oder -Abschnitte aus der Quelldatei.

--strip-unnötig
Entfernen Sie alle Symbole, die für die Umzugsbearbeitung nicht benötigt werden.

-K Symbolname
--keep-symbol=Symbolname
Halten Sie beim Entfernen von Symbolen das Symbol Symbolname selbst wenn es so wäre
normalerweise abgezogen werden. Diese Option kann mehrfach angegeben werden.

-N Symbolname
--strip-symbol=Symbolname
Symbol nicht kopieren Symbolname aus der Quelldatei. Diese Option
kann mehr als einmal gegeben werden.

--strip-unnötiges-symbol=Symbolname
Symbol nicht kopieren Symbolname aus der Quelldatei, sofern dies nicht der Fall ist
durch einen Umzug benötigt. Diese Option kann mehrfach angegeben werden.

-G Symbolname
--keep-global-symbol=Symbolname
Nur Symbol behalten Symbolname global. Machen Sie alle anderen Symbole lokal
in die Datei eingefügt, so dass sie von außen nicht sichtbar sind. Diese Option
kann mehr als einmal gegeben werden.

--localize-hidden
Markieren Sie in einem ELF-Objekt alle Symbole, die ausgeblendet oder intern sind
Sichtbarkeit als lokal. Diese Option gilt zusätzlich zu symbolspezifischen
Lokalisierungsoptionen wie z -L.

-L Symbolname
--localize-symbol=Symbolname
Symbol machen Symbolname lokal in der Datei gespeichert, sodass sie nicht sichtbar ist
äußerlich. Diese Option kann mehrfach angegeben werden.

-W Symbolname
--schwächen-symbol=Symbolname
Symbol machen Symbolname schwach. Diese Option kann mehr als gegeben werden
Einmal.

--globalisieren-symbol=Symbolname
Symbol geben Symbolname globales Scoping, sodass es nach außen hin sichtbar ist
der Datei, in der es definiert ist. Diese Option kann häufiger angegeben werden
als einmal.

-w
- Platzhalter
Reguläre Ausdrücke in zulassen SymbolnameWird in anderen Befehlen verwendet
Linienoptionen. Das Fragezeichen (?), der Stern (*), der Backslash (\)
und eckige Klammern ([])-Operatoren können überall im verwendet werden
Symbolname. Wenn das erste Zeichen des Symbolnamens das ist
Ausrufezeichen (!) wird die Richtung des Schalters umgekehrt
dieses Symbol. Zum Beispiel:

-w -W !foo -W fo*

würde dazu führen, dass objcopy alle Symbole schwächt, die mit „fo“ beginnen
bis auf das Symbol „foo“.

-x
--discard-all
Kopieren Sie keine nicht-globalen Symbole aus der Quelldatei.

-X
--discard-locals
Kopieren Sie keine vom Compiler generierten lokalen Symbole. (Diese beginnen normalerweise
mit L or ..)

-b Byte
--Byte=Byte
Wenn die Verschachtelung über die --interleave Option dann
Beginnen Sie mit dem Bytebereich, der beibehalten werden soll Bytetes Byte. Byte kann sein
im Bereich von 0 bis Breite-1, wobei Breite ist der angegebene Wert
von dem --interleave .

-i [Breite]
--interleave[=Breite]
Nur einen Bereich aus jedem kopieren Breite Bytes. (Kopfdaten nicht
betroffen). Wählen Sie aus, mit welchem ​​Byte im Bereich die Kopie beginnt
--Byte Möglichkeit. Wählen Sie die Breite des Bereichs mit aus
--Interleave-Breite .

Diese Option ist nützlich zum Erstellen von Dateien im Programm-ROM. Es ist
Wird normalerweise mit einem „srec“-Ausgabeziel verwendet. Beachten Sie, dass Objektkopie
wird sich beschweren, wenn Sie das nicht angeben --Byte Option auch.

Die Standard-Interleave-Breite ist 4, also mit --Byte auf 0 setzen,
Objektkopie würde das erste Byte von jeweils vier Bytes aus dem kopieren
Eingang zum Ausgang.

--interleave-width=Breite
Bei Verwendung mit dem --interleave Option, kopieren Breite Bytes gleichzeitig.
Der Anfang des zu kopierenden Bytebereichs wird durch festgelegt --Byte
Option, und der Umfang des Bereichs wird mit eingestellt --interleave
.

Der Standardwert für diese Option ist 1. Der Wert von Breite erfahren
Byte vom eingestellten Wert --Byte Die Option darf die nicht überschreiten
durch die festgelegte Verschachtelungsbreite --interleave .

Mit dieser Option können Bilder für zwei 16-Bit-Flashes erstellt werden
durch Passieren in einem 32-Bit-Bus verschachtelt -b 0 -i 4
--interleave-width=2 und -b 2 -i 4 --interleave-width=2 zwei
Objektkopie Befehle. Wenn die Eingabe „12345678“ war, dann die Ausgaben
wäre „1256“ bzw. „3478“.

-p
--preserve-dates
Legen Sie das Zugriffs- und Änderungsdatum der Ausgabedatei auf das fest
identisch mit denen der Eingabedatei.

-D
--enable-deterministic-archives
Betrieb in deterministisch Modus. Beim Kopieren von Archivmitgliedern und
Beim Schreiben des Archivindex verwenden Sie Null für UIDs, GIDs, Zeitstempel usw
Verwenden Sie einheitliche Dateimodi für alle Dateien.

If binutils wurde konfiguriert mit --enable-deterministic-archives,
dann ist dieser Modus standardmäßig aktiviert. Es kann mit deaktiviert werden -U
Option, unten.

-U
--disable-deterministic-archives
Do nicht arbeiten in deterministisch Modus. Dies ist die Umkehrung von
-D Option oben: beim Kopieren von Archivmitgliedern und beim Schreiben der
Archivindex, verwenden Sie deren tatsächliche UID, GID, Zeitstempel und Dateimodus
Werte.

Dies ist die Standardeinstellung, es sei denn binutils wurde konfiguriert mit
--enable-deterministic-archives.

--debuggen
Konvertieren Sie nach Möglichkeit Debugging-Informationen. Das ist nicht der
Standard, da nur bestimmte Debugformate unterstützt werden, und
Der Konvertierungsprozess kann zeitaufwändig sein.

--Lücken füllen Welle
Füllen Sie Lücken zwischen den Abschnitten mit Welle. Diese Operation gilt für die
Belastung Adresse (LMA) der Abschnitte. Dies geschieht durch Erhöhen der
Größe des Abschnitts mit der unteren Adresse und Ausfüllen der
zusätzlicher Platz geschaffen mit Welle.

--pad-zu Adresse
Füllen Sie die Ausgabedatei bis zur Ladeadresse auf Adresse. Das ist fertig
durch Vergrößerung des letzten Abschnitts. Der zusätzliche Platz ist
wird mit dem von angegebenen Wert ausgefüllt --Lücken füllen (Standard Null).

--set-start Welle
Setzen Sie die Startadresse der neuen Datei auf Welle. Nicht alle Objektdateien
Formate unterstützen das Festlegen der Startadresse.

--change-start inkr
--justieren-starten inkr
Ändern Sie die Startadresse durch Hinzufügen inkr. Nicht alle Objektdateien
Formate unterstützen das Festlegen der Startadresse.

--Adressen ändern inkr
--adjust-vma inkr
Ändern Sie die VMA- und LMA-Adressen aller Abschnitte sowie die
Startadresse, durch Hinzufügen inkr. Bei einigen Objektdateiformaten ist dies nicht der Fall
Abschnittsadressen können beliebig geändert werden. Beachten Sie, dass dies
verschiebt die Abschnitte nicht; wenn das Programm Abschnitte dazu erwartet
an einer bestimmten Adresse geladen werden, und diese Option wird zum Ändern verwendet
die Abschnitte so, dass sie an einer anderen Adresse geladen werden, die
Das Programm schlägt möglicherweise fehl.

--change-section-address Schnittmuster{=,+,-}Welle
--adjust-section-vma Schnittmuster{=,+,-}Welle
Legen Sie sowohl die VMA-Adresse als auch die LMA-Adresse eines beliebigen fest oder ändern Sie sie
Abschnittsübereinstimmung Schnittmuster. Wenn = verwendet wird, die Abschnittsadresse
eingestellt ist Welle. Andernfalls, Welle wird addiert oder subtrahiert
Abschnittsadresse. Siehe die Kommentare unten --Adressen ändern, über.
If Schnittmuster stimmt mit keinem Abschnitt in der Eingabedatei überein, a
Warnung wird ausgegeben, es sei denn --no-change-Warnungen wird eingesetzt.

--change-section-lma Schnittmuster{=,+,-}Welle
Legen Sie die LMA-Adresse aller übereinstimmenden Abschnitte fest oder ändern Sie sie
Schnittmuster. Die LMA-Adresse ist die Adresse, an der sich der Abschnitt befindet
wird beim Laden des Programms in den Speicher geladen. Normalerweise ist das der Fall
Dasselbe wie die VMA-Adresse, die die Adresse des Abschnitts unter ist
Programmlaufzeit, aber auf einigen Systemen, insbesondere solchen, auf denen a
Programm im ROM gehalten wird, können die beiden unterschiedlich sein. Wenn = wird genutzt,
Die Abschnittsadresse ist auf eingestellt Welle. Andernfalls, Welle wird zu oder hinzugefügt
von der Abschnittsadresse abgezogen. Siehe die Kommentare unten
--Adressen ändern, Oben. Wenn Schnittmuster stimmt mit keiner überein
Abschnitten in der Eingabedatei wird eine Warnung ausgegeben, es sei denn
--no-change-Warnungen wird eingesetzt.

--change-section-vma Schnittmuster{=,+,-}Welle
Stellen Sie die VMA-Adresse eines beliebigen Abschnittsabgleichs ein oder ändern Sie ihn
Schnittmuster. Die VMA-Adresse ist die Adresse, an der sich der Abschnitt befindet
wird gefunden, sobald die Ausführung des Programms begonnen hat. Normalerweise
Dies ist dieselbe wie die LMA-Adresse, also die Adresse, an der sich die Adresse befindet
Der Abschnitt wird in den Speicher geladen, insbesondere jedoch auf einigen Systemen
Bei denen, bei denen ein Programm im ROM gespeichert ist, können die beiden unterschiedlich sein. Wenn
= verwendet wird, wird die Abschnittsadresse auf gesetzt Welle. Andernfalls, Welle is
zur Abschnittsadresse hinzugefügt oder davon subtrahiert werden. Siehe die Kommentare
für --Adressen ändern, Oben. Wenn Schnittmuster stimmt nicht überein
alle Abschnitte in der Eingabedatei, wird eine Warnung ausgegeben, es sei denn
--no-change-Warnungen wird eingesetzt.

--Änderungswarnungen
--Anpassen-Warnungen
If --change-section-address or --change-section-lma or
--change-section-vma wird verwendet, das Abschnittsmuster jedoch nicht
Wenn irgendwelche Abschnitte übereinstimmen, wird eine Warnung ausgegeben. Dies ist die Standardeinstellung.

--no-change-Warnungen
--no-adjust-warnings
Geben Sie keine Warnung aus, wenn --change-section-address or
--adjust-section-lma or --adjust-section-vma verwendet wird, auch wenn die
Abschnittsmuster stimmt mit keinem Abschnitt überein.

--set-section-flags Schnittmuster=Fahnen
Setzen Sie die Flags für alle passenden Abschnitte Schnittmusterdem „Vermischten Geschmack“. Seine Fahnen
Argument ist eine durch Kommas getrennte Zeichenfolge von Flag-Namen. Die anerkannten
Namen sind zuweisen, Inhalt, Belastung, keine Belastung, schreibgeschützt, Code, technische Daten, rom,
Teilen und debuggen. Sie können die einstellen Inhalt Flag für einen Abschnitt
die keinen Inhalt hat, aber es ist nicht sinnvoll, sie zu löschen
Inhalt Flag eines Abschnitts, der Inhalte enthält – einfach entfernen
stattdessen den Abschnitt. Nicht alle Flags sind für alle Objekte von Bedeutung
Dateiformate.

--Add-Abschnitt Abteilungsname=Dateinamen
Fügen Sie einen neuen Abschnitt namens . hinzu Abteilungsname beim Kopieren der Datei. Der
Der Inhalt des neuen Abschnitts wird aus der Datei übernommen Dateinamendem „Vermischten Geschmack“. Seine
Die Größe des Abschnitts entspricht der Größe der Datei. Nur diese Option
Funktioniert mit Dateiformaten, die beliebige Abschnitte unterstützen können
Namen. Hinweis: Es kann erforderlich sein, das zu verwenden --set-section-flags
Option zum Festlegen der Attribute des neu erstellten Abschnitts.

--Dump-Abschnitt Abteilungsname=Dateinamen
Platzieren Sie den Inhalt des Abschnitts namens Abteilungsname in die Datei
Dateinamen, wobei eventuell vorhandene Inhalte überschrieben werden
bisher. Diese Option ist das Gegenteil von --Add-Abschnitt. Dies
Die Option ähnelt der --only-Abschnitt Option, außer dass dies der Fall ist
Es wird keine formatierte Datei erstellt, der Inhalt wird lediglich als Rohdatei ausgegeben
Binärdaten, ohne Verschiebungen vorzunehmen. Die Option kann sein
mehr als einmal angegeben.

--update-Abschnitt Abteilungsname=Dateinamen
Ersetzen Sie den vorhandenen Inhalt eines Abschnitts namens Abteilungsname mit
der Inhalt der Datei Dateinamen. Die Größe des Abschnitts wird sein
an die Größe der Datei angepasst. Die Abschnittsflags für
Abteilungsname wird unverändert bleiben. Für Dateien im ELF-Format ist der Abschnitt zu
Auch die Segmentzuordnung bleibt unverändert, was jedoch nicht der Fall ist
mögliche Verwendung --Abschnitt entfernen gefolgt von --Add-Abschnittdem „Vermischten Geschmack“. Seine
Die Option kann mehrmals angegeben werden.

Hinweis - es ist möglich zu verwenden --rename-section und --update-Abschnitt
um einen Abschnitt über eine Befehlszeile sowohl zu aktualisieren als auch umzubenennen. In diesem
In diesem Fall übergeben Sie den ursprünglichen Abschnittsnamen an --update-Abschnittund der
ursprüngliche und neue Abschnittsnamen zu --rename-section.

--add-symbol Name=[Abschnitt:]Wert[,Fahnen]
Fügen Sie ein neues Symbol namens . hinzu Name beim Kopieren der Datei. Diese Option
kann mehrfach angegeben werden. Wenn die Abschnitt gegeben ist, die
Das Symbol wird diesem Abschnitt zugeordnet und relativ zu ihm.
andernfalls handelt es sich um ein ABS-Symbol. Angabe eines Undefinierten
Abschnitt führt zu einem schwerwiegenden Fehler. Es gibt keine Prüfung dafür
Wert, wird er wie angegeben übernommen. Symbolflaggen können sein
angegeben und nicht alle Flags sind für alle Objektdateien von Bedeutung
Formate. Standardmäßig ist das Symbol global. Die besondere Flagge
'vor=anderesym' fügt das neue Symbol vor ein
angegeben anderesym, andernfalls werden die Symbole am hinzugefügt
Ende der Symboltabelle in der Reihenfolge, in der sie erscheinen.

--rename-section alte Bezeichnung=neuer Name[,Fahnen]
Benennen Sie einen Abschnitt um von alte Bezeichnung zu neuer Name, optional ändern
Flags des Abschnitts zu Fahnen dabei. Das hat den Vorteil
über die Verwendung eines Linker-Skripts, um die Umbenennung in der Ausgabe durchzuführen
Bleibt eine Objektdatei und wird nicht zu einer verknüpften ausführbaren Datei.

Diese Option ist besonders hilfreich, wenn das Eingabeformat ist
binär, da dadurch immer ein Abschnitt namens .data erstellt wird. Wenn
Sie wollten beispielsweise stattdessen einen Abschnitt mit dem Namen .rodata erstellen
Wenn Sie Binärdaten enthalten, können Sie die folgende Befehlszeile verwenden
es erreichen:

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


--long-section-names {aktivieren, deaktivieren, behalten}
Steuert die Behandlung langer Abschnittsnamen bei der Verarbeitung von „COFF“
und „PE-COFF“-Objektformate. Das Standardverhalten, halten, ist zu
Behalten Sie lange Abschnittsnamen bei, sofern diese in der Eingabedatei vorhanden sind.
Das ermöglichen und deaktivieren Optionen erzwingen die Aktivierung oder Deaktivierung der Nutzung
von langen Abschnittsnamen im Ausgabeobjekt; Wenn deaktivieren in
Dadurch werden alle langen Abschnittsnamen im Eingabeobjekt gelöscht
gekürzt. Der ermöglichen Die Option gibt nur dann lange Abschnittsnamen aus, wenn
alle sind in den Eingaben vorhanden; das ist größtenteils das Gleiche wie halten, Aber
Es bleibt undefiniert, ob die ermöglichen Option könnte das erzwingen
Erstellung einer leeren String-Tabelle in der Ausgabedatei.

--change-leading-char
Einige Objektdateiformate verwenden am Anfang Sonderzeichen
Symbole. Das häufigste Zeichen dieser Art ist der Unterstrich
Compiler fügen oft vor jedem Symbol hinzu. Diese Option gibt Auskunft Objektkopie
um das führende Zeichen jedes Symbols bei der Konvertierung zu ändern
zwischen Objektdateiformaten. Wenn die Objektdateiformate das verwenden
Bei gleichem Hauptzeichen hat diese Option keine Auswirkung. Ansonsten ist es
fügt ein Zeichen hinzu, entfernt ein Zeichen oder ändert ein Zeichen,
wie angemessen.

--remove-leading-char
Wenn das erste Zeichen eines globalen Symbols ein Sondersymbol ist
Entfernen Sie das führende Zeichen, das vom Objektdateiformat verwendet wird
Charakter. Das häufigste führende Symbolzeichen ist der Unterstrich.
Diese Option entfernt einen führenden Unterstrich aus allen globalen
Symbole. Dies kann nützlich sein, wenn Sie Objekte miteinander verknüpfen möchten
verschiedener Dateiformate mit unterschiedlichen Symbolkonventionen
Namen. Das ist anders als --change-leading-char weil es
Ändert den Symbolnamen immer bei Bedarf, unabhängig davon
Objektdateiformat der Ausgabedatei.

--reverse-bytes=num
Kehren Sie die Bytes in einem Abschnitt mit Ausgabeinhalten um. Ein Abschnitt
Die Länge muss gleichmäßig durch den angegebenen Wert teilbar sein, damit die
Austausch stattfinden zu können. Die Reversierung erfolgt vor dem
Es wird eine Verschachtelung durchgeführt.

Diese Option wird typischerweise beim Generieren von ROM-Images für verwendet
problematische Zielsysteme. Auf einigen Zieltafeln beispielsweise
Die aus 32-Bit-ROMs abgerufenen 8-Bit-Wörter werden wieder zusammengesetzt
Little-Endian-Bytereihenfolge unabhängig von der CPU-Bytereihenfolge.
Abhängig vom Programmiermodell kann die Endianness des ROM variieren
müssen geändert werden.

Stellen Sie sich eine einfache Datei mit einem Abschnitt vor, der Folgendes enthält
acht Bytes: 12345678.

Die richtigen --reverse-bytes=2 Für das obige Beispiel sind die Bytes in der
Die Ausgabedatei hätte die Reihenfolge 21436587.

Die richtigen --reverse-bytes=4 Für das obige Beispiel sind die Bytes in der
Die Ausgabedatei hätte die Reihenfolge 43218765.

Durch die Nutzung --reverse-bytes=2 für das obige Beispiel, gefolgt von
--reverse-bytes=4 in der Ausgabedatei die Bytes in der zweiten
Die Ausgabedatei hätte die Reihenfolge 34127856.

--srec-len=ival
Nur für die srec-Ausgabe von Bedeutung. Legen Sie die maximale Länge fest
Es werden Datensätze erstellt ival. Diese Länge umfasst sowohl Adresse,
Daten- und CRC-Felder.

--srec-forceS3
Nur für die srec-Ausgabe von Bedeutung. Vermeiden Sie die Erzeugung von S1/S2
Datensätze, wodurch ein reines S3-Datensatzformat erstellt wird.

--redefine-sym alt=neu
Ändern Sie den Namen eines Symbols alt leben, neu. Dies kann nützlich sein, wenn
Man versucht, zwei Dinge miteinander zu verbinden, für die man keine Ahnung hat
Quelle, und es gibt Namenskollisionen.

--redefine-syms=Dateinamen
Anwenden --redefine-sym zu jedem Symbolpaar"alt neu" aufgeführt in der
Datei Dateinamen. Dateinamen ist einfach eine flache Datei mit einem Symbol
Paar pro Zeile. Zeilenkommentare können durch den Hash eingeleitet werden
Charakter. Diese Option kann mehrfach angegeben werden.

--schwächen
Ändern Sie alle globalen Symbole in der Datei in schwach. Das kann sein
nützlich beim Erstellen eines Objekts, das mit anderen verknüpft werden soll
Objekte mit dem -R Option zum Linker. Diese Option ist nur
effektiv, wenn ein Objektdateiformat verwendet wird, das schwach unterstützt
Symbole.

--keep-symbols=Dateinamen
Anwenden --keep-Symbol Option für jedes in der Datei aufgeführte Symbol
Dateinamen. Dateinamen ist einfach eine flache Datei mit jeweils einem Symbolnamen
Linie. Zeilenkommentare können durch das Hash-Zeichen eingeleitet werden. Das
Option kann mehrfach angegeben werden.

--strip-symbols=Dateinamen
Anwenden --Streifensymbol Option für jedes in der Datei aufgeführte Symbol
Dateinamen. Dateinamen ist einfach eine flache Datei mit jeweils einem Symbolnamen
Linie. Zeilenkommentare können durch das Hash-Zeichen eingeleitet werden. Das
Option kann mehrfach angegeben werden.

--strip-unneeded-symbols=Dateinamen
Anwenden --strip-unnötig-symbol Option für jedes im aufgeführten Symbol
Datei Dateinamen. Dateinamen ist einfach eine flache Datei mit einem Symbol
Name pro Zeile. Zeilenkommentare können durch den Hash eingeleitet werden
Charakter. Diese Option kann mehrfach angegeben werden.

--keep-global-symbols=Dateinamen
Anwenden --Keep-Global-Symbol Option für jedes in der Datei aufgeführte Symbol
Dateinamen. Dateinamen ist einfach eine flache Datei mit jeweils einem Symbolnamen
Linie. Zeilenkommentare können durch das Hash-Zeichen eingeleitet werden. Das
Option kann mehrfach angegeben werden.

--localize-symbols=Dateinamen
Anwenden --localize-symbol Option für jedes in der Datei aufgeführte Symbol
Dateinamen. Dateinamen ist einfach eine flache Datei mit jeweils einem Symbolnamen
Linie. Zeilenkommentare können durch das Hash-Zeichen eingeleitet werden. Das
Option kann mehrfach angegeben werden.

--globalize-symbols=Dateinamen
Anwenden --globalisieren-symbol Option für jedes in der Datei aufgeführte Symbol
Dateinamen. Dateinamen ist einfach eine flache Datei mit jeweils einem Symbolnamen
Linie. Zeilenkommentare können durch das Hash-Zeichen eingeleitet werden. Das
Option kann mehrfach angegeben werden.

--weaken-symbols=Dateinamen
Anwenden --schwächen-symbol Option für jedes in der Datei aufgeführte Symbol
Dateinamen. Dateinamen ist einfach eine flache Datei mit jeweils einem Symbolnamen
Linie. Zeilenkommentare können durch das Hash-Zeichen eingeleitet werden. Das
Option kann mehrfach angegeben werden.

--alt-machine-code=Index
Wenn die Ausgabearchitektur alternative Maschinencodes hat, verwenden Sie die
IndexCode anstelle des Standardcodes. Dies ist nützlich, wenn a
Der Maschine wird ein offizieller Code zugewiesen und die Tool-Chain übernimmt diesen
neuer Code, andere Anwendungen sind jedoch weiterhin vom Originalcode abhängig
verwendet werden. Für ELF-basierte Architekturen, wenn die Index Alternative
nicht vorhanden ist, wird der Wert als absolute Zahl behandelt
im Feld e_machine des ELF-Headers gespeichert werden.

--beschreibbarer-text
Markieren Sie den Ausgabetext als beschreibbar. Diese Option ist nicht sinnvoll für
alle Objektdateiformate.

--readonly-text
Machen Sie den Ausgabetext schreibgeschützt. Diese Option ist nicht sinnvoll
für alle Objektdateiformate.

--rein
Markieren Sie die Ausgabedatei als bedarfsausgelagert. Diese Option ist nicht sinnvoll
für alle Objektdateiformate.

--unrein
Markieren Sie die Ausgabedatei als unrein. Diese Option ist nicht sinnvoll für
alle Objektdateiformate.

--prefix-symbols=Schnur
Alle Symbole in der Ausgabedatei mit voranstellen Schnur.

--prefix-sections=Schnur
Alle Abschnittsnamen in der Ausgabedatei mit voranstellen Schnur.

--prefix-alloc-sections=Schnur
Stellen Sie allen Namen aller zugewiesenen Abschnitte in der Ausgabedatei ein Präfix voran
mit Schnur.

--add-gnu-debuglink=Pfad-zur-Datei
Erstellt einen .gnu_debuglink-Abschnitt, der einen Verweis auf . enthält
Pfad-zur-Datei und fügt es der Ausgabedatei hinzu. Hinweis: Die Datei unter
Pfad-zur-Datei muss vorhanden sein. Teil des Prozesses des Hinzufügens
Der Abschnitt .gnu_debuglink beinhaltet das Einbetten einer Prüfsumme von
Inhalt der Debug-Info-Datei in den Abschnitt.

Wenn die Debug-Infodatei an einem Ort erstellt wird, dies aber der Fall ist
zu einem späteren Zeitpunkt an einem anderen Ort installiert werden, dann nicht
Verwenden Sie den Pfad zum Installationsort. Der --add-gnu-debuglink
Die Option schlägt fehl, da die installierte Datei noch nicht vorhanden ist.
Legen Sie stattdessen die Debug-Infodatei im aktuellen Verzeichnis ab und verwenden Sie sie
--add-gnu-debuglink Option ohne Verzeichniskomponenten,
so was:

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

Beim Debuggen versucht der Debugger, nach dem Separaten zu suchen
Debug-Infodatei an einer Reihe bekannter Speicherorte. Der genaue Satz von
Diese Speicherorte variieren je nach verwendeter Distribution.
aber es umfasst normalerweise:

"* Das gleiche Verzeichnis wie die ausführbare Datei."
"* Ein Unterverzeichnis des Verzeichnisses, das die ausführbare Datei enthält"
genannt .debug

"* Ein globales Debug-Verzeichnis wie /usr/lib/debug."

Vorausgesetzt, die Debug-Infodatei wurde in einem davon installiert
Speicherorte, bevor der Debugger ausgeführt wird, sollte alles funktionieren
korrekt.

--keep-file-symbols
Beim Strippen einer Datei, vielleicht mit --strip-debug or
--strip-unnötig, alle Symbole beibehalten, die Quelldateinamen angeben,
die sonst abgestreift würden.

--only-keep-debug
Entfernen Sie eine Datei und entfernen Sie den Inhalt aller Abschnitte, die nicht vorhanden wären
ausgezogen von --strip-debug und Verlassen der Debugging-Abschnitte
intakt. In ELF-Dateien bleiben dadurch alle Notenabschnitte im erhalten
Ausgabe.

Hinweis: Die Abschnittsüberschriften der entfernten Abschnitte bleiben erhalten.
einschließlich ihrer Größen, aber der Inhalt des Abschnitts ist
verworfen. Die Abschnittsüberschriften bleiben erhalten, damit andere Tools
kann die Debuginfo-Datei mit der echten ausführbaren Datei abgleichen, auch wenn
Diese ausführbare Datei wurde in einen anderen Adressraum verschoben.

Es ist beabsichtigt, dass diese Option in Verbindung mit
--add-gnu-debuglink um eine zweiteilige ausführbare Datei zu erstellen. Ein a
gestrippte Binärdatei, die weniger Platz im RAM und in einem einnimmt
Distribution und die zweite eine Debugging-Informationsdatei
Wird nur benötigt, wenn Debugging-Fähigkeiten erforderlich sind. Das vorgeschlagene
Verfahren zum Erstellen dieser Dateien ist wie folgt:

1.
"foo" dann...

1.
Erstellen Sie eine Datei mit den Debugging-Informationen.

1.
ausführbare Datei entfernt.

1.
um einen Link zu den Debugging-Informationen in die entfernte Datei einzufügen
ausführbar.

Hinweis: Die Wahl von „.dbg“ als Erweiterung für die Debug-Infodatei
ist willkürlich. Auch der Schritt „--only-keep-debug“ ist optional. Du
könnte stattdessen Folgendes tun:

1.
1.
1.
1.

dh die Datei, auf die das zeigt --add-gnu-debuglink kann das sein
voll ausführbar. Es muss keine vom erstellte Datei sein
--only-keep-debug Schalter.

Hinweis: Dieser Schalter ist nur für die Verwendung bei vollständig verknüpften Dateien vorgesehen.
Es macht keinen Sinn, es auf Objektdateien zu verwenden, bei denen die
Debugging-Informationen sind möglicherweise unvollständig. Neben dem gnu_debuglink
Die Funktion unterstützt derzeit nur das Vorhandensein eines Dateinamens
enthält Debugging-Informationen, nicht mehrere Dateinamen auf einem
Pro-Objekt-Datei-Basis.

--strip-dwo
Entfernen Sie den Inhalt aller DWARF .dwo-Abschnitte und lassen Sie die
verbleibende Debugging-Abschnitte und alle Symbole intakt. Diese Option
ist für die Verwendung durch den Compiler als Teil von vorgesehen -gsplit-Zwerg
Option, die Debug-Informationen zwischen der .o-Datei und einer aufteilt
separate .dwo-Datei. Der Compiler generiert alle Debug-Informationen
in derselben Datei und verwendet dann die --extract-dwo Option zum Kopieren
.dwo-Abschnitte in die .dwo-Datei, dann die --strip-dwo Option zu
Entfernen Sie diese Abschnitte aus der ursprünglichen .o-Datei.

--extract-dwo
Extrahieren Sie den Inhalt aller DWARF .dwo-Abschnitte. Siehe die
--strip-dwo Option für weitere Informationen.

--file-alignment num
Geben Sie die Dateiausrichtung an. Abschnitte in der Datei beginnen immer
bei Dateioffsets, die ein Vielfaches dieser Zahl sind. Dies ist die Standardeinstellung
bis 512. [Diese Option ist spezifisch für PE-Ziele.]

--Haufen sowie das Hotel
--Haufen sowie das Hotel ,verpflichten
Geben Sie die Anzahl der zu reservierenden Speicherbytes an (und optional
commit), der als Heap für dieses Programm verwendet werden soll. [Diese Option ist
spezifisch für PE-Ziele.]

--image-base Wert
Verwenden Sie die Wert als Basisadresse Ihres Programms oder Ihrer DLL. Dies ist das
niedrigster Speicherort, der verwendet wird, wenn Ihr Programm oder Ihre DLL verwendet wird
geladen ist. Um die Notwendigkeit von Standortverlagerungen zu reduzieren und die Leistung zu verbessern
Von Ihren DLLs sollte jede eine eindeutige Basisadresse haben und nicht
überlappen alle anderen DLLs. Der Standardwert ist 0x400000 für ausführbare Dateien.
und 0x10000000 für DLLs. [Diese Option ist spezifisch für PE-Ziele.]

--Abschnittsausrichtung num
Legt die Abschnittsausrichtung fest. Abschnitte im Speicher beginnen immer
an Adressen, die ein Vielfaches dieser Zahl sind. Standardmäßig ist
0x1000. [Diese Option ist spezifisch für PE-Ziele.]

--Stapel sowie das Hotel
--Stapel sowie das Hotel ,verpflichten
Geben Sie die Anzahl der zu reservierenden Speicherbytes an (und optional
commit), der als Stack für dieses Programm verwendet werden soll. [Diese Option ist
spezifisch für PE-Ziele.]

--Teilsystem welche
--Teilsystem welche:Dur
--Teilsystem welche:Dur.Moll
Gibt das Subsystem an, unter dem Ihr Programm ausgeführt wird. Der
gesetzliche Werte für welche sind „native“, „windows“, „console“, „posix“,
„efi-app“, „efi-bsd“, „efi-rtd“, „sal-rtd“ und „xbox“. Sie können
Legen Sie optional auch die Subsystemversion fest. Numerische Werte sind ebenfalls vorhanden
akzeptiert für welche. [Diese Option ist spezifisch für PE-Ziele.]

--extrahieren-symbol
Behalten Sie die Abschnittsmarkierungen und Symbole der Datei bei, entfernen Sie jedoch alle Abschnitte
Daten. Im Einzelnen die Option:

*
*
*

Diese Option wird verwendet, um a .sym Datei für einen VxWorks-Kernel. Es
kann auch eine nützliche Möglichkeit sein, die Größe eines zu reduzieren --nur-Symbole
Linker-Eingabedatei.

--compress-debug-sections
Komprimieren Sie DWARF-Debug-Abschnitte mit zlib mit SHF_COMPRESSED von
das ELF-ABI. Hinweis: Wenn die Komprimierung tatsächlich einen Abschnitt ergeben würde
größer, dann wird es nicht komprimiert.

--compress-debug-sections=keine
--compress-debug-sections=zlib
- Komfort-Debug-Sektionen = Zlib-GNU
--compress-debug-sections=zlib-gabi
Bei ELF-Dateien steuern diese Optionen, wie DWARF-Debug-Abschnitte aussehen
komprimiert. --compress-debug-sections=keine entspricht
--decompress-debug-sections. --compress-debug-sections=zlib und
--compress-debug-sections=zlib-gabi sind äquivalent zu
--compress-debug-sections. - Komfort-Debug-Sektionen = Zlib-GNU
komprimiert DWARF-Debug-Abschnitte mit zlib. Die Debug-Abschnitte sind
zunächst umbenannt .zdebug statt .debuggen. Hinweis – wenn
Komprimierung würde tatsächlich einen Abschnitt ergeben größer, dann ist es nicht
weder komprimiert noch umbenannt.

--decompress-debug-sections
Dekomprimieren Sie DWARF-Debug-Abschnitte mit zlib. Der ursprüngliche Abschnitt
Namen der komprimierten Abschnitte werden wiederhergestellt.

-V
--Version
Zeige die Versionsnummer von Objektkopie.

-v
- ausführlich
Ausführliche Ausgabe: Alle geänderten Objektdateien auflisten. Im Fall von
Archiv, Objektkopie -V listet alle Mitglieder des Archivs auf.

--help
Eine Zusammenfassung der Optionen anzeigen, um Objektkopie.

--die Info
Zeigen Sie eine Liste mit allen Architekturen und Objektformaten an
erhältlich.

@Datei
Lesen Sie die Befehlszeilenoptionen von Datei. Die gelesenen Optionen werden eingefügt
anstelle des ursprünglichen @Datei Möglichkeit. Wenn Datei existiert nicht, oder
nicht gelesen werden kann, wird die Option wörtlich behandelt und nicht
entfernt.

Optionen in Datei werden durch Leerzeichen getrennt. Ein Leerzeichen
Zeichen kann in eine Option eingeschlossen werden, indem das Ganze umschlossen wird
Option in einfachen oder doppelten Anführungszeichen. Jeder Charakter (einschließlich
ein umgekehrter Schrägstrich) kann eingefügt werden, indem dem Zeichen vorangestellt wird
mit Backslash enthalten. Die Datei kann selbst zusätzliche enthalten
@Datei Optionen; solche Optionen werden rekursiv verarbeitet.

Verwenden Sie i686-linux-gnu-objcopy online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad