EnglischFranzösischSpanisch

OnWorks-Favicon

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

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

Dies ist der Befehl sh4-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 in eine andere. Objektkopie verwendet
die GNU BFD Library zum Lesen und Schreiben der Objektdateien. Es kann das Ziel schreiben
Objektdatei in einem anderen Format als die Quellobjektdatei. Das genaue Verhalten
of Objektkopie wird durch Befehlszeilenoptionen gesteuert. Beachten Sie, dass Objektkopie sollte in der Lage sein zu
Kopieren Sie eine vollständig verknüpfte Datei zwischen zwei beliebigen Formaten. Kopieren eines verschiebbaren Objekts
Datei zwischen zwei beliebigen Formaten funktioniert möglicherweise nicht wie erwartet.

Objektkopie erstellt temporäre Dateien für die Übersetzungen und löscht sie anschließend.
Objektkopie verwendet BFD, um alle seine Übersetzungsarbeiten zu erledigen; es hat Zugriff auf alle Formate
in BFD beschrieben und kann so die meisten Formate erkennen, 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 eine rohe Binärdatei zu generieren, indem ein Ausgabeziel von verwendet wird binär
(z. B. verwenden -O binär). Wann Objektkopie erzeugt eine rohe Binärdatei, es wird im Wesentlichen
einen Speicherabzug des Inhalts der Eingabeobjektdatei erstellen. Alle Symbole und
Umzugsinformationen werden verworfen. Der Speicherabzug beginnt an der Ladeadresse
des untersten Abschnitts in die Ausgabedatei kopiert.

Beim Generieren eines S-Records oder einer Raw-Binärdatei kann es hilfreich sein, -S zu entfernen
Abschnitte mit Debugging-Informationen. In manchen Fällen -R wird nützlich sein zu entfernen
Abschnitte, die Informationen enthalten, die von der Binärdatei nicht benötigt werden.

Notiz---Objektkopie kann die Endianness seiner Eingabedateien nicht ändern. Wenn die Eingabe
Format hat eine Endianness (einige Formate nicht), Objektkopie kann nur die Eingaben in eine Datei kopieren
Formate mit der gleichen Endianness oder ohne Endianness (z. srec). (Jedoch,
finden Sie in der --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 das Ergebnis destruktiv in den Namen von . um im Ordner.

-I bfdname
--input-target=bfdname
Betrachten Sie das Objektformat der Quelldatei als bfdname, anstatt zu versuchen,
daraus ableiten.

-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 die Ausgabedatei; dh einfach
Übertragen Sie Daten ohne Übersetzung von der Quelle zum Ziel.

-B bfdarch
--binary-architecture=bfdarch
Nützlich, wenn eine Eingabedatei ohne Architektur in eine Objektdatei umgewandelt wird. In diesem
Fall kann die Ausgabearchitektur auf eingestellt werden bfdarch. Diese Option wird ignoriert, wenn
die Eingabedatei hat ein bekanntes bfdarch. Sie können auf diese Binärdaten innerhalb eines Programms zugreifen
indem Sie auf die speziellen Symbole verweisen, die durch den Konvertierungsprozess erstellt werden. Diese
Symbole heißen _binär_Objektdatei_starten, _binär_Objektdatei_Ende und
_binär_Objektdatei_Größe. Sie können zB eine Bilddatei in eine Objektdatei umwandeln und
greifen Sie dann mit diesen Symbolen in Ihrem Code darauf zu.

-j Schnittmuster
--only-section=Schnittmuster
Kopieren Sie nur die angegebenen Abschnitte aus der Eingabedatei in die Ausgabedatei. Diese Option
kann mehr als einmal gegeben werden. Beachten Sie, dass die unangemessene Verwendung dieser Option dazu führen kann, dass die
Ausgabedatei unbrauchbar. Platzhalterzeichen werden akzeptiert in Schnittmuster.

-R Schnittmuster
--remove-section=Schnittmuster
Entfernen Sie alle übereinstimmenden Abschnitte Schnittmuster aus der Ausgabedatei. Diese Option kann sein
mehr als einmal gegeben. Beachten Sie, dass die unangemessene Verwendung dieser Option die Ausgabe verursachen kann
Datei unbrauchbar. Platzhalterzeichen werden akzeptiert in 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 auch wenn es normalerweise gestrippt wird.
Diese Option kann mehrmals angegeben werden.

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

--strip-unnötiges-symbol=Symbolname
Symbol nicht kopieren Symbolname aus der Quelldatei, es sei denn, es wird von a . benötigt
Verlegung. Diese Option kann mehrmals angegeben werden.

-G Symbolname
--keep-global-symbol=Symbolname
Nur Symbol behalten Symbolname global. Machen Sie alle anderen Symbole lokal in der Datei, damit
sie sind von außen nicht sichtbar. Diese Option kann mehrmals angegeben werden.

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

-L Symbolname
--localize-symbol=Symbolname
Symbol machen Symbolname lokal in der Datei, damit sie von außen nicht sichtbar ist. Dies
Option kann mehrfach angegeben werden.

-W Symbolname
--schwächen-symbol=Symbolname
Symbol machen Symbolname schwach. Diese Option kann mehrmals angegeben werden.

--globalisieren-symbol=Symbolname
Symbol geben Symbolname globaler Bereich, damit er außerhalb der Datei in . sichtbar ist
die es definiert ist. Diese Option kann mehrmals angegeben werden.

-w
- Platzhalter
Reguläre Ausdrücke in zulassen Symbolnames in anderen Befehlszeilenoptionen verwendet. Die
Fragezeichen (?), Sternchen (*), Backslash (\) und eckige Klammern ([]) Operatoren können
an beliebiger Stelle im Symbolnamen verwendet werden. Ist das erste Zeichen des Symbolnamens das
Ausrufezeichen (!), dann wird die Bedeutung des Schalters für dieses Symbol umgekehrt. Zum
Beispiel:

-w -W !foo -W fo*

würde dazu führen, dass objcopy alle Symbole schwächt, die mit "fo" beginnen, außer dem 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 starten Sie den Bereich von
Bytes zum Aufbewahren Bytetes Byte. Byte kann im Bereich von 0 bis liegen Breite-1, wobei
Breite ist der Wert von --interleave .

-i [Breite]
--interleave[=Breite]
Nur einen Bereich aus jedem kopieren Breite Bytes. (Kopfdaten sind nicht betroffen). Auswählen
welches Byte im Bereich beginnt die Kopie mit dem --Byte Möglichkeit. Wählen Sie die Breite von
das Sortiment mit dem --Interleave-Breite .

Diese Option ist nützlich zum Erstellen von Dateien zum Programmieren des ROM. Es wird normalerweise mit einem verwendet
Ausgabeziel "srec". 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 kopieren
erstes Byte von vier Bytes vom Eingang zum Ausgang.

--interleave-width=Breite
Bei Verwendung mit dem --interleave Option, kopieren Breite Bytes gleichzeitig. Der Beginn der
Bereich der zu kopierenden Bytes wird durch die --Byte Option und der Umfang der Reichweite
wird mit dem eingestellt --interleave .

Der Standardwert für diese Option ist 1. Der Wert von Breite Plus die Byte Wert eingestellt von
--Byte Option darf die vom eingestellte Verschachtelungsbreite nicht überschreiten --interleave
.

Diese Option kann verwendet werden, um Bilder für zwei 16-Bit-Blitze zu erstellen, die in einem
32-Bit-Bus durch Passieren -b 0 -i 4 --interleave-width=2 und -b 2 -i 4
--interleave-width=2 zwei Objektkopie Befehle. Wenn die Eingabe '12345678' war, dann ist die
Ausgaben wären '1256' bzw. '3478'.

-p
--preserve-dates
Legen Sie die Zugriffs- und Änderungsdaten der Ausgabedatei auf die gleichen fest wie die von
die Eingabedatei.

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

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

-U
--disable-deterministic-archives
Do nicht arbeiten in deterministisch Modus. Dies ist die Umkehrung von -D Möglichkeit, oben:
Verwenden Sie beim Kopieren von Archivmitgliedern und Schreiben des Archivindex deren tatsächliche UID, GID,
Zeitstempel und Dateimoduswerte.

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

--debuggen
Konvertieren Sie die Debugging-Informationen, wenn möglich. Dies ist nicht die Standardeinstellung, weil nur
Bestimmte Debugging-Formate werden unterstützt und der Konvertierungsprozess kann zeitaufwändig sein
verbrauchen.

--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 dem unteren
Adresse, und füllen Sie den zusätzlichen Platz aus, der mit erstellt wurde Welle.

--pad-zu Adresse
Füllen Sie die Ausgabedatei bis zur Ladeadresse auf Adresse. Dies geschieht durch Erhöhen der
Größe des letzten Abschnitts. Das zusätzliche Leerzeichen wird mit dem durch angegebenen Wert ausgefüllt
--Lücken füllen (Standard Null).

--set-start Welle
Setzen Sie die Startadresse der neuen Datei auf Welle. Nicht alle Objektdateiformate werden unterstützt
Einstellen der Startadresse.

--change-start inkr
--justieren-starten inkr
Ändern Sie die Startadresse durch Hinzufügen inkr. Nicht alle Objektdateiformate unterstützen die Einstellung
die Startadresse.

--Adressen ändern inkr
--adjust-vma inkr
Ändern Sie die VMA- und LMA-Adressen aller Sektionen sowie die Startadresse, indem Sie
Hinzufügen inkr. Einige Objektdateiformate erlauben keine Änderung von Abschnittsadressen
willkürlich. Beachten Sie, dass die Abschnitte dadurch nicht verschoben werden; wenn das Programm erwartet
Abschnitte, die an einer bestimmten Adresse geladen werden sollen, und diese Option wird verwendet, um die
Abschnitten, die an einer anderen Adresse geladen werden, kann das Programm fehlschlagen.

--change-section-address Schnittmuster{=,+,-}Welle
--adjust-section-vma Schnittmuster{=,+,-}Welle
Legen oder ändern Sie sowohl die VMA-Adresse als auch die LMA-Adresse einer beliebigen Abschnittsübereinstimmung
Schnittmuster. Wenn = verwendet wird, wird die Abschnittsadresse auf gesetzt Welle. Andernfalls, Welle is
zur Abschnittsadresse hinzugefügt oder davon abgezogen. Siehe die Kommentare unter
--Adressen ändern, Oben. Wenn Schnittmuster stimmt mit keinem Abschnitt in der Eingabe überein
Datei wird eine Warnung 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 der Abschnitt beim Laden des Programms in den Speicher geladen wird
Zeit. Normalerweise ist dies dieselbe wie die VMA-Adresse, die die Adresse des
Abschnitt zur Programmlaufzeit, aber auf einigen Systemen, insbesondere solchen, auf denen sich ein Programm befindet
im ROM gespeichert, können die beiden unterschiedlich sein. Wenn = verwendet wird, wird die Abschnittsadresse auf gesetzt
Welle. Andernfalls, Welle wird zur Abschnittsadresse addiert oder davon abgezogen. Siehe die
Kommentare unter --Adressen ändern, Oben. Wenn Schnittmuster stimmt mit keiner überein
Abschnitten in der Eingabedatei wird eine Warnung ausgegeben, es sei denn --no-change-Warnungen is
benutzt.

--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, sobald das Programm gestartet wurde
ausführen. Normalerweise ist dies die gleiche wie die LMA-Adresse, die die Adresse ist, an der
der Abschnitt wird in den Speicher geladen, aber auf einigen Systemen, insbesondere solchen, bei denen a
Programm im ROM gehalten wird, können die beiden unterschiedlich sein. Wenn = verwendet wird, die Abschnittsadresse
eingestellt ist Welle. Andernfalls, Welle wird zur Abschnittsadresse addiert oder davon abgezogen.
Siehe die Kommentare unter --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 genutzt,
und das Abschnittsmuster mit keinem Abschnitt übereinstimmt, geben Sie eine Warnung aus. Dies ist das
default.

--no-change-Warnungen
--no-adjust-warnings
Geben Sie keine Warnung aus, wenn --change-section-address or --adjust-section-lma or
--adjust-section-vma wird verwendet, auch wenn das Schnittmuster keinem Schnitt entspricht.

--set-section-flags Schnittmuster=Fahnen
Setzen Sie die Flags für alle passenden Abschnitte Schnittmusterdem „Vermischten Geschmack“. Seine Fahnen Argument ist ein Komma
getrennte Zeichenfolge von Flagnamen. Die anerkannten Namen sind zuweisen, Inhalt, Belastung,
keine Belastung, schreibgeschützt, Code, die Datenerfassung, rom, Teilen und debuggen. Sie können die einstellen Inhalt Flagge
für einen Abschnitt, der keinen Inhalt hat, aber es ist nicht sinnvoll, den
Inhalt Flag eines Abschnitts, der Inhalt hat - entfernen Sie stattdessen einfach den Abschnitt.
Nicht alle Flags sind für alle Objektdateiformate sinnvoll.

--Add-Abschnitt Abteilungsname=Dateinamen
Fügen Sie einen neuen Abschnitt namens . hinzu Abteilungsname beim Kopieren der Datei. Der Inhalt des neuen
Abschnitt werden aus der Datei entnommen Dateinamen. Die Größe des Abschnitts wird die Größe von
die Datei. Diese Option funktioniert nur bei Dateiformaten, die Abschnitte mit unterstützen können
willkürliche Namen. Hinweis - es kann erforderlich sein, die --set-section-flags Option zu
Legen Sie die Attribute des neu erstellten Abschnitts fest.

--Dump-Abschnitt Abteilungsname=Dateinamen
Platzieren Sie den Inhalt des Abschnitts namens Abteilungsname in die Datei Dateinamen, überschreiben
alle Inhalte, die zuvor vorhanden gewesen sein können. Diese Option ist die Umkehrung von
--Add-Abschnitt. Diese Option ähnelt der --only-Abschnitt Option außer dass es
erstellt keine formatierte Datei, sondern gibt nur den Inhalt als rohe Binärdaten aus.
ohne irgendwelche Umzüge vorzunehmen. Die Option kann mehrmals angegeben werden.

--update-Abschnitt Abteilungsname=Dateinamen
Ersetzen Sie den vorhandenen Inhalt eines Abschnitts namens Abteilungsname mit dem Inhalt der Datei
Dateinamen. Die Größe des Abschnitts wird an die Größe der Datei angepasst. Die
Abschnittsflaggen für Abteilungsname wird unverändert bleiben. Für Dateien im ELF-Format ist der Abschnitt zu
Auch die Segmentzuordnung bleibt unverändert, was mit nicht möglich ist
--Abschnitt entfernen gefolgt von --Add-Abschnitt. Die Option kann mehr als angegeben werden
Einmal.

Hinweis - es ist möglich zu verwenden --rename-section und --update-Abschnitt sowohl aktualisieren als auch
Benennen Sie einen Abschnitt von einer Befehlszeile aus um. Übergeben Sie in diesem Fall den ursprünglichen Abschnittsnamen
zu --update-Abschnitt, und die ursprünglichen und neuen 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 angegeben werden
mehrmals. Wenn die Abschnitt gegeben ist, wird das Symbol mit und verknüpft
relativ zu diesem Abschnitt, andernfalls wird es ein ABS-Symbol sein. Angabe eines undefinierten
Abschnitt führt zu einem schwerwiegenden Fehler. Es gibt keine Überprüfung für den Wert, er wird
wie angegeben genommen. Symbolflags können angegeben werden und nicht alle Flags werden
sinnvoll für alle Objektdateiformate. Standardmäßig ist das Symbol global. Die
Sonderflagge 'before=anderesym' fügt das neue Symbol vor dem angegebenen ein
anderesym, sonst werden die Symbole am Ende der Symboltabelle im
Reihenfolge sie erscheinen.

--rename-section alte Bezeichnung=neuer Name[,Fahnen]
Benennen Sie einen Abschnitt um von alte Bezeichnung zu neuer Name, optional das Ändern der Flags des Abschnitts zu
Fahnen im Prozess. Dies hat den Vorteil gegenüber der Verwendung eines Linker-Skripts, um die
umbenennen, indem die Ausgabe als Objektdatei erhalten bleibt und nicht verknüpft wird
ausführbar.

Diese Option ist besonders hilfreich, wenn das Eingabeformat binär ist, da dies
Erstellen Sie immer einen Abschnitt namens .data. Wenn Sie beispielsweise stattdessen a . erstellen möchten
Abschnitt namens .rodata, der binäre Daten enthält, können Sie die folgende Befehlszeile verwenden
um es zu erreichen:

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


--long-section-names {aktivieren, deaktivieren, behalten}
Steuert den Umgang mit langen Abschnittsnamen bei der Verarbeitung von "COFF" und "PE-COFF"
Objektformate. Das Standardverhalten, halten, besteht darin, lange Abschnittsnamen beizubehalten, falls vorhanden
sind in der Eingabedatei vorhanden. Die ermöglichen und deaktivieren Optionen zwangsweise aktivieren oder
deaktivieren Sie die Verwendung langer Abschnittsnamen im Ausgabeobjekt; Wenn deaktivieren ist in Kraft,
Alle langen Abschnittsnamen im Eingabeobjekt werden abgeschnitten. Die ermöglichen Option wird
nur lange Abschnittsnamen ausgeben, wenn in den Eingaben welche vorhanden sind; das ist meistens gleich
as halten, aber es bleibt undefiniert, ob die ermöglichen Option könnte die Erstellung erzwingen
einer leeren String-Tabelle in der Ausgabedatei.

--change-leading-char
Einige Objektdateiformate verwenden Sonderzeichen am Anfang von Symbolen. Am meisten
Ein übliches solches Zeichen ist der Unterstrich, den Compiler oft vor jedem Symbol hinzufügen.
Diese Option sagt Objektkopie um das führende Zeichen jedes Symbols zu ändern, wenn es
konvertiert zwischen Objektdateiformaten. Wenn die Objektdateiformate den gleichen Zeilenabstand verwenden
Zeichen hat diese Option keine Auswirkung. Andernfalls wird ein Zeichen hinzugefügt oder ein entfernt
Zeichen, oder ändern Sie ein Zeichen nach Bedarf.

--remove-leading-char
Wenn das erste Zeichen eines globalen Symbols ein Sonderzeichen ist, wird das führende Zeichen verwendet
durch das Objektdateiformat entfernen Sie das Zeichen. Das gebräuchlichste Symbol führt
Charakter ist unterstrichen. Diese Option entfernt einen führenden Unterstrich aus allen globalen
Symbole. Dies kann nützlich sein, wenn Sie Objekte verschiedener Dateien miteinander verknüpfen möchten
Formate mit unterschiedlichen Konventionen für Symbolnamen. Das ist anders als
--change-leading-char weil es bei Bedarf immer den Symbolnamen ändert,
unabhängig vom Objektdateiformat der Ausgabedatei.

--reverse-bytes=num
Kehren Sie die Bytes in einem Abschnitt mit Ausgabeinhalten um. Eine Abschnittslänge muss gleichmäßig sein
durch den angegebenen Wert teilbar, damit der Swap stattfinden kann. Rückwärtsfahren
findet statt, bevor die Verschachtelung durchgeführt wird.

Diese Option wird normalerweise beim Generieren von ROM-Images für problematische Zielsysteme verwendet.
Auf einigen Zielplatinen werden beispielsweise die 32-Bit-Wörter, die aus 8-Bit-ROMs abgerufen werden, neu
unabhängig von der CPU-Bytereihenfolge in Little-Endian-Bytereihenfolge zusammengestellt. Es hängt davon ab
des Programmiermodells muss die Endianness des ROM möglicherweise modifiziert werden.

Betrachten Sie eine einfache Datei mit einem Abschnitt, der die folgenden acht Bytes enthält: 12345678.

Die richtigen --reverse-bytes=2 Für das obige Beispiel wären die Bytes in der Ausgabedatei
21436587 bestellt.

Die richtigen --reverse-bytes=4 Für das obige Beispiel wären die Bytes in der Ausgabedatei
43218765 bestellt.

Durch die Nutzung --reverse-bytes=2 für das obige Beispiel, gefolgt von --reverse-bytes=4 auf die
Ausgabedatei werden die Bytes in der zweiten Ausgabedatei nach 34127856 sortiert.

--srec-len=ival
Nur für srec-Ausgang sinnvoll. Legen Sie die maximale Länge der Srecords fest, die
produziert zu ival. Diese Länge umfasst sowohl Adress-, Daten- und CRC-Felder.

--srec-forceS3
Nur für srec-Ausgang sinnvoll. Vermeiden Sie die Generierung von S1/S2-Datensätzen, indem Sie nur S3-Daten erstellen
Aufnahmeformat auf.

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

--redefine-syms=Dateinamen
Bewerben --redefine-sym zu jedem Symbolpaar"alt neu"in der Datei aufgeführt Dateinamen.
Dateinamen ist einfach eine flache Datei mit einem Symbolpaar pro Zeile. Zeilenkommentare können sein
durch das Rautezeichen eingeleitet. Diese Option kann mehrmals angegeben werden.

--schwächen
Ändern Sie alle globalen Symbole in der Datei auf schwach. Dies kann nützlich sein, wenn Sie ein
Objekt, das mit anderen Objekten verknüpft wird, indem die -R Option zum Linker.
Diese Option ist nur wirksam, wenn ein Objektdateiformat verwendet wird, das schwache . unterstützt
Symbole.

--keep-symbols=Dateinamen
Bewerben --keep-Symbol Option für jedes in der Datei aufgeführte Symbol Dateinamen. Dateinamen is
einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können eingeführt werden von
der Hash-Charakter. Diese Option kann mehrmals angegeben werden.

--strip-symbols=Dateinamen
Bewerben --Streifensymbol Option für jedes in der Datei aufgeführte Symbol Dateinamen. Dateinamen is
einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können eingeführt werden von
der Hash-Charakter. Diese Option kann mehrmals angegeben werden.

--strip-unneeded-symbols=Dateinamen
Bewerben --strip-unnötig-symbol Option für jedes in der Datei aufgeführte Symbol Dateinamen.
Dateinamen ist einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können sein
durch das Rautezeichen eingeleitet. Diese Option kann mehrmals angegeben werden.

--keep-global-symbols=Dateinamen
Bewerben --Keep-Global-Symbol Option für jedes in der Datei aufgeführte Symbol Dateinamen.
Dateinamen ist einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können sein
durch das Rautezeichen eingeleitet. Diese Option kann mehrmals angegeben werden.

--localize-symbols=Dateinamen
Bewerben --localize-symbol Option für jedes in der Datei aufgeführte Symbol Dateinamen. Dateinamen
ist einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können eingefügt werden
durch das Hash-Zeichen. Diese Option kann mehrmals angegeben werden.

--globalize-symbols=Dateinamen
Bewerben --globalisieren-symbol Option für jedes in der Datei aufgeführte Symbol Dateinamen. Dateinamen
ist einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können eingefügt werden
durch das Hash-Zeichen. Diese Option kann mehrmals angegeben werden.

--weaken-symbols=Dateinamen
Bewerben --schwächen-symbol Option für jedes in der Datei aufgeführte Symbol Dateinamen. Dateinamen is
einfach eine flache Datei mit einem Symbolnamen pro Zeile. Zeilenkommentare können eingeführt werden von
der Hash-Charakter. Diese Option kann mehrmals angegeben werden.

--alt-machine-code=Index
Wenn die Ausgabearchitektur alternative Maschinencodes hat, verwenden Sie die IndexCode stattdessen
des Standardwertes. Dies ist nützlich, wenn einer Maschine ein offizieller Code zugewiesen wurde und
die Tool-Kette übernimmt den neuen Code, aber andere Anwendungen hängen noch von dem
Originalcode verwendet. Für ELF-basierte Architekturen, wenn die Index Alternative tut
nicht vorhanden ist, wird der Wert als absolute Zahl behandelt und im gespeichert
e_machine-Feld des ELF-Headers.

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

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

--rein
Markieren Sie die Ausgabedatei als nach Bedarf ausgelagert. Diese Option ist nicht für alle Objekte sinnvoll
Dateiformate.

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

--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
Setzen Sie allen Namen aller zugewiesenen Abschnitte in der Ausgabedatei das Präfix Schnur.

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

Wenn die Debug-Infodatei an einem Ort erstellt wird, aber an einem
zu einem späteren Zeitpunkt an einen anderen Ort, dann verwenden Sie nicht den Pfad zum installierten
Lage. Die --add-gnu-debuglink Option schlägt fehl, weil die installierte Datei dies tut
gibt es noch nicht. Legen Sie stattdessen die Debug-Info-Datei in das aktuelle Verzeichnis und verwenden Sie die
--add-gnu-debuglink Option ohne Verzeichniskomponenten, wie folgt:

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

Zur Debug-Zeit versucht der Debugger, nach der separaten Debug-Info-Datei in a . zu suchen
Reihe bekannter Orte. Der genaue Satz dieser Orte variiert je nach
Distribution verwendet wird, aber es umfasst in der Regel:

"* 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."

Solange die Debug-Info-Datei zuvor an einem dieser Orte installiert wurde
der Debugger ausgeführt wird, sollte alles korrekt funktionieren.

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

--only-keep-debug
Entfernen Sie eine Datei und entfernen Sie den Inhalt aller Abschnitte, die nicht entfernt werden würden
--strip-debug und Belassen der Debugging-Abschnitte intakt. In ELF-Dateien bleibt dies erhalten
alle Notenabschnitte in der Ausgabe.

Hinweis - die Abschnittsüberschriften der abisolierten Abschnitte bleiben erhalten, einschließlich ihrer
Größen, aber der Inhalt des Abschnitts wird verworfen. Die Abschnittsüberschriften sind
beibehalten, damit andere Tools die Debuginfo-Datei mit der echten abgleichen können
ausführbare Datei, auch wenn diese ausführbare Datei in einen anderen Adressraum verschoben wurde.

Es ist beabsichtigt, dass diese Option in Verbindung mit --add-gnu-debuglink
um eine zweiteilige ausführbare Datei zu erstellen. Eine ist eine gestrippte Binärdatei, die weniger Platz einnimmt
im RAM und in einer Distribution und die zweite eine Debugging-Informationsdatei, die nur
erforderlich, wenn Debugging-Fähigkeiten erforderlich sind. Das vorgeschlagene Verfahren, um diese zu erstellen
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 ausführbare Datei hinzuzufügen.

Hinweis---die Wahl von ".dbg" als Erweiterung für die Debug-Infodatei ist willkürlich.
Auch der Schritt "--only-keep-debug" ist optional. Sie könnten stattdessen Folgendes tun:

1.
1.
1.
1.

dh die Datei, auf die das zeigt --add-gnu-debuglink kann die vollständige ausführbare Datei sein. Es
muss keine Datei sein, die vom . erstellt wurde --only-keep-debug Schalter.

Hinweis---Dieser Schalter ist nur für die Verwendung bei vollständig verknüpften Dateien vorgesehen. Es macht nicht
Es ist sinnvoll, es für Objektdateien zu verwenden, bei denen die Debugging-Informationen möglicherweise unvollständig sind.
Außerdem unterstützt die Funktion gnu_debuglink derzeit nur das Vorhandensein eines Dateinamens
Debugging-Informationen enthalten, nicht mehrere Dateinamen in einer Einzel-pro-Objekt-Datei
Basis.

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

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

--file-alignment num
Geben Sie die Dateiausrichtung an. Abschnitte in der Datei beginnen immer an Datei-Offsets
die ein Vielfaches dieser Zahl sind. Der Standardwert ist 512. [Diese Option ist spezifisch
zu PE-Zielen.]

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

--image-base Wert
Verwenden Sie die Wert als Basisadresse Ihres Programms oder Ihrer DLL. Dies ist der niedrigste Speicher
Speicherort, der verwendet wird, wenn Ihr Programm oder Ihre DLL geladen wird. Um die Notwendigkeit zu reduzieren
Verschieben und verbessern Sie die Leistung Ihrer DLLs, jede sollte eine eindeutige Basisadresse haben
und keine anderen DLLs überlappen. 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 Schnittausrichtung fest. Abschnitte im Speicher beginnen immer an Adressen, die
sind ein Vielfaches dieser Zahl. Standardmäßig 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 (und optional zu übertragenden) Speicherbytes an, die als verwendet werden sollen
Stapel für dieses Programm. [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. Die gesetzlichen Werte für
welche sind "native", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd" und "xbox". Optional können Sie auch die Subsystemversion einstellen. Numerisch
Werte werden auch akzeptiert für welche. [Diese Option ist spezifisch für PE-Ziele.]

--extrahieren-symbol
Behalten Sie die Abschnittsflaggen und -symbole der Datei bei, entfernen Sie jedoch alle Abschnittsdaten. Speziell,
die Option:

*
*
*

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

--compress-debug-sections
Komprimieren Sie DWARF-Debug-Abschnitte mithilfe von zlib mit SHF_COMPRESSED aus der ELF-ABI. Notiz -
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 komprimiert werden.
--compress-debug-sections=keine entspricht --decompress-debug-sections.
--compress-debug-sections=zlib und --compress-debug-sections=zlib-gabi sind gleichwertig
zu --compress-debug-sections. - Komfort-Debug-Sektionen = Zlib-GNU komprimiert ZWERG
Debug-Abschnitte mit zlib. Die Debug-Abschnitte werden zunächst umbenannt .zdebug
statt .debuggen. Hinweis - wenn die Komprimierung tatsächlich einen Abschnitt ergeben würde größer und dann
es wird weder komprimiert noch umbenannt.

--decompress-debug-sections
Dekomprimieren Sie DWARF-Debug-Abschnitte mit zlib. Die ursprünglichen Abschnittsnamen der
komprimierte Abschnitte werden wiederhergestellt.

-V
--Version
Zeige die Versionsnummer von Objektkopie.

-v
- ausführlich
Ausführliche Ausgabe: Listet alle geänderten Objektdateien auf. Bei Archiven bzw. Objektkopie -V
listet alle Mitglieder des Archivs auf.

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

--die Info
Zeigen Sie eine Liste mit allen verfügbaren Architekturen und Objektformaten an.

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

Optionen in Datei werden durch Leerzeichen getrennt. Ein Leerzeichen kann enthalten sein
in einer Option, indem Sie die gesamte Option in einfache oder doppelte Anführungszeichen setzen. Irgendein
Zeichen (einschließlich eines umgekehrten Schrägstrichs) können eingefügt werden, indem dem Zeichen vorangestellt wird
mit Backslash enthalten. Die Datei kann selbst zusätzliches @ enthaltenDatei Optionen; irgendein
solche Optionen werden rekursiv verarbeitet.

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


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad