英語フランス語スペイン語

Ad


OnWorksファビコン

i686-linux-gnu-objcopy - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで i686-linux-gnu-objcopy を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの 686 つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド iXNUMX-linux-gnu-objcopy です。

プログラム:

NAME


objcopy-オブジェクトファイルをコピーして翻訳します

SYNOPSIS


オブジェクトコピー [-F 友人名|--target =友人名]
[-I 友人名|--input-target =友人名]
[-O 友人名|--output-target =友人名]
[-B BFDARCH|--binary-architecture =BFDARCH]
[-S|--strip-all]
[-g|--strip-debug]
[-K シンボル名|--keep-symbol =シンボル名]
[-N シンボル名|--strip-symbol =シンボル名]
[--strip-unneeded-symbol =シンボル名]
[-G シンボル名|--keep-global-symbol =シンボル名]
[--localize-hidden]
[-L シンボル名|--localize-symbol =シンボル名]
[--globalize-symbol =シンボル名]
[-W シンボル名|--weaken-symbol =シンボル名]
[-w|-ワイルドカード]
[-x|-破棄-すべて]
[-X|--discard-locals]
[-b バイト|--byte =バイト]
[-i []|- 間を空ける[=]]
[--interleave-width =]
[-j セクションパターン|--only-section =セクションパターン]
[-R セクションパターン|--remove-section =セクションパターン]
[-p|--preserve-dates]
[-D|--enable-deterministic-archives]
[-U|--deterministic-archives を無効にする]
[-デバッグ]
[--gap-fill =ヴァル]
[--pad-to =住所]
[--set-start =ヴァル]
[--adjust-start =増加]
[--change-addresses =増加]
[--変更セクションアドレス セクションパターン{=、+、-}ヴァル]
[--変更セクション-lma セクションパターン{=、+、-}ヴァル]
[--change-セクション-vma セクションパターン{=、+、-}ヴァル]
[-変更-警告] [-変更なし-警告]
[--set-section-flags セクションパターン=フラグ]
[-追加-セクション セクション名=ファイル名]
[--ダンプセクション セクション名=ファイル名]
[--更新セクション セクション名=ファイル名]
[-名前の変更-セクション 古い名前=新しい名前[,フラグ]]
[--長いセクション名 {有効化、無効化、維持}]
[--先頭文字の変更] [--先頭の文字を削除]
[--reverse-bytes =NUM]
[--srec-len =ival] [--srec-forceS3]
[--redefine-sym 古い=新製品]
[--redefine-syms =ファイル名]
[- 弱める]
[--keep-symbols =ファイル名]
[--strip-symbols =ファイル名]
[--strip-unneeded-symbols =ファイル名]
[--keep-global-symbols =ファイル名]
[--localize-symbols =ファイル名]
[--globalize-symbols =ファイル名]
[--weaken-symbols =ファイル名]
[--記号を追加 =[ :][,フラグ]
[--alt-machine-code =index]
[--prefix-symbols =文字列]
[--prefix-sections =文字列]
[--prefix-alloc-sections =文字列]
[--add-gnu-debuglink =ファイルへのパス]
[--keep-file-symbols]
[--デバッグのみを保持する]
[--strip-dwo]
[--extract-dwo]
[--抽出記号]
[-書き込み可能-テキスト]
[-読み取り専用-テキスト]
[- ピュア]
[-不純]
[--file-alignment =NUM]
[--heap =サイズ]
[--image-base =住所]
[--section-alignment =NUM]
[--stack =サイズ]
[-サブシステム=which:主要な.マイナー]
[--compress-debug-sections]
[--decompress-debug-sections]
[--dwarf-depth =n]
[--dwarf-start =n]
[-v|-詳細]
[-V|- バージョン]
[ - 助けて] [- 情報]
ファイル内 [アウトファイル]

DESCRIPTION


GNU オブジェクトコピー ユーティリティはオブジェクト ファイルの内容をにコピーします
別。 オブジェクトコピー GNU BFD ライブラリを使用してオブジェクトの読み取りと書き込みを行います
ファイル。 宛先オブジェクトファイルを異なる形式で書き込むことができます
ソースオブジェクトファイルのものから。 正確な動作 オブジェクトコピー is
コマンドラインオプションによって制御されます。 ご了承ください オブジェクトコピー できるはずです
任意の XNUMX つの形式間で完全にリンクされたファイルをコピーします。 ただし、コピーすると、
XNUMX つの形式間の再配置可能なオブジェクト ファイルは、次のように動作しない可能性があります。
期待した。

オブジェクトコピー 翻訳を行うために一時ファイルを作成し、それらを削除します
その後。 オブジェクトコピー BFD を使用してすべての翻訳作業を実行します。 それは持っています
BFD で説明されているすべての形式にアクセスできるため、
明示的に指示されなくても、ほとんどの形式を認識します。

オブジェクトコピー の出力ターゲットを使用してSレコードを生成するために使用できます
レク (例:使用 -O レク).

オブジェクトコピー 出力を使用して生のバイナリ ファイルを生成するために使用できます。
のターゲット バイナリ (例:使用 -O バイナリ)。 いつ オブジェクトコピー 生のデータを生成します
バイナリ ファイルの場合、基本的に内容のメモリ ダンプが生成されます。
入力オブジェクトファイルの。 すべてのシンボルと再配置情報は、
捨てられる。 メモリ ダンプは、
最下位のセクションが出力ファイルにコピーされます。

S レコードまたは生のバイナリ ファイルを生成する場合、次のことが役立つ場合があります。
つかいます -S デバッグ情報を含むセクションを削除します。 一部では
-R 情報を含むセクションを削除するのに役立ちます
これはバイナリ ファイルには必要ありません。

ノート - -オブジェクトコピー は入力ファイルのエンディアンを変更できません。
入力フォーマットにエンディアンがある場合(エンディアンを持たないフォーマットもあります)、 オブジェクトコピー
入力を同じファイル形式にのみコピーできます。
エンディアンネス、またはエンディアンネスを持たないもの (例: レク)。 (ただし、
--リバースバイト オプション。)

OPTIONS


ファイル内
アウトファイル
それぞれ入力ファイルと出力ファイル。 指定しない場合
アウトファイル, オブジェクトコピー 一時ファイルを作成し、名前を破壊的に変更します
という名前の結果 ファイル内.

-I 友人名
--input-target =友人名
ソースファイルのオブジェクト形式は次のようになります。 友人名よりむしろ
それを推測しようとしています。

-O 友人名
--output-target =友人名
オブジェクト形式を使用して出力ファイルを書き込みます 友人名.

-F 友人名
--target =友人名
  友人名 入力と出力の両方のオブジェクト形式として
ファイル; つまり、何もせずにソースから宛先にデータを転送するだけです。
翻訳。

-B BFDARCH
--binary-architecture =BFDARCH
アーキテクチャのない入力ファイルを
オブジェクトファイル。 この場合、出力アーキテクチャは次のように設定できます。
BFDARCH。 入力ファイルに既知のファイルがある場合、このオプションは無視されます。
BFDARCH。 プログラム内でこのバイナリ データにアクセスするには、次のようにします。
変換によって作成された特殊シンボルを参照する
プロセス。 これらのシンボルは _binary_ と呼ばれますオブジェクトファイル_始める、
_バイナリ_オブジェクトファイル_end と _binary_オブジェクトファイル_サイズ。 たとえば、できます
画像ファイルをオブジェクト ファイルに変換し、次の方法でアクセスします。
これらの記号を使用してコードを作成します。

-j セクションパターン
--only-section =セクションパターン
指定されたセクションのみを入力ファイルから出力にコピーします
ファイル。 このオプションは複数回指定できます。 使用することに注意してください
このオプションを不適切に使用すると、出力ファイルが使用できなくなる可能性があります。
ワイルドカード文字は次のように受け入れられます セクションパターン.

-R セクションパターン
--remove-section =セクションパターン
一致するセクションを削除します セクションパターン 出力ファイルから。
このオプションは複数回指定できます。 これを使用することに注意してください
オプションを不適切に使用すると、出力ファイルが使用できなくなる可能性があります。 ワイルドカード
文字は受け入れられます セクションパターン。 両方を使用して -j &
-R オプションを一緒に使用すると、未定義の動作が発生します。

-S
--strip-all
ソースファイルから再配置およびシンボル情報をコピーしないでください。

-g
--strip-debug
ソースファイルからデバッグシンボルまたはセクションをコピーしないでください。

-ストリップ-不要
再配置処理に必要のないすべてのシンボルを削除します。

-K シンボル名
--keep-symbol =シンボル名
シンボルを取り除くときは、シンボルを保持します シンボル名 たとえそうなったとしても
通常は剥がされます。 このオプションは複数回指定できます。

-N シンボル名
--strip-symbol =シンボル名
シンボルをコピーしないでください シンボル名 ソースファイルから。 このオプション
複数回与えられる場合があります。

--strip-unneeded-symbol =シンボル名
シンボルをコピーしないでください シンボル名 そうでない場合を除き、ソースファイルから
引っ越しで必要になります。 このオプションは複数回指定できます。

-G シンボル名
--keep-global-symbol =シンボル名
シンボルのみを保持 シンボル名 グローバル。 他のすべてのシンボルをローカルにする
ファイルに保存されるため、外部からは見えなくなります。 このオプション
複数回与えられる場合があります。

--localize-hidden
ELF オブジェクト内で、非表示または内部のシンボルを持つすべてのシンボルをマークします。
ローカルとしての可視性。 このオプションは、シンボル固有のオプションに加えて適用されます。
ローカリゼーション オプションなど -L.

-L シンボル名
--localize-symbol =シンボル名
シンボルを作る シンボル名 ファイルに対してローカルであるため、ファイルは表示されません
外部的に。 このオプションは複数回指定できます。

-W シンボル名
--weaken-symbol =シンボル名
シンボルを作る シンボル名 弱い。 このオプションには、以上の値を指定できます。
一度。

--globalize-symbol =シンボル名
シンボルを与える シンボル名 外部から見えるようにするためのグローバル スコープ
それが定義されているファイルの。 このオプションにはさらに多くのオプションが与えられる可能性があります
一度より。

-w
-ワイルドカード
で正規表現を許可する シンボル名他のコマンドで使用される
ラインオプション。 疑問符 (?)、アスタリスク (*)、バックスラッシュ (\)
および角括弧 ([]) 演算子は、
シンボル名。 シンボル名の最初の文字が
感嘆符 (!) の場合、スイッチの意味は逆になります。
そのシンボル。 例えば:

-w -W!foo -W fo *

objcopy が「fo」で始まるすべてのシンボルを弱める原因になります。
ただし、記号「foo」は除きます。

-x
-破棄-すべて
非グローバルシンボルをソースファイルからコピーしないでください。

-X
--discard-locals
コンパイラが生成したローカル シンボルをコピーしないでください。 (通常、これらは開始されます)
  L or ..)

-b バイト
--byte =バイト
インターリーブが有効になっている場合 - 間を空ける オプション
保持するバイト範囲の開始 バイトthバイト。 バイト することができます
0 ~ の範囲で -1、ここで 与えられた値です
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 - 間を空ける オプションを選択します。

-i []
--interleave [=]
すべてから範囲をコピーするだけ バイト。 (ヘッダーデータは
影響を受ける)。 範囲内のどのバイトからコピーを開始するかを選択します。
- バイト オプション。 で範囲の幅を選択します
--インターリーブ幅 オプションを選択します。

このオプションは、ROM をプログラムするファイルを作成する場合に便利です。 それは
通常は「srec」出力ターゲットとともに使用されます。 ご了承ください オブジェクトコピー
指定しないと文句を言います - バイト オプションも。

デフォルトのインターリーブ幅は4なので、 - バイト 0に設定、
オブジェクトコピー から XNUMX バイトごとに最初のバイトをコピーします。
入力から出力へ。

--interleave-width =
と一緒に使用する場合 - 間を空ける オプション、コピー 一度にバイト。
コピーされるバイト範囲の開始は、 - バイト
オプション、範囲の範囲は - 間を空ける
オプションを選択します。

このオプションのデフォルト値は1です。 さらに
  バイト によって設定された値 - バイト オプションは次の値を超えてはなりません
によって設定されるインターリーブ幅 - 間を空ける オプションを選択します。

このオプションは、16 つの XNUMX ビット フラッシュのイメージを作成するために使用できます。
パスによって 32 ビット バスにインターリーブされる -b 0 -i 4
--interleave-width = 2 & -b 2 -i 4 --interleave-width = 2 2へ
オブジェクトコピー コマンド。 入力が「12345678」の場合、出力は
それぞれ「1256」と「3478」になります。

-p
--preserve-dates
出力ファイルのアクセス日と変更日を次のように設定します。
入力ファイルと同じです。

-D
--enable-deterministic-archives
で動作する 決定論的 モード。 アーカイブ メンバーをコピーするとき、
アーカイブ インデックスを書き込む場合は、UID、GID、タイムスタンプ、および
すべてのファイルに一貫したファイル モードを使用します。

If ビンユーティリティ で構成されました --enable-deterministic-archives,
この場合、このモードはデフォルトでオンになっています。 で無効にすることができます -U
以下のオプション。

-U
--deterministic-archives を無効にする
Do で動作 決定論的 モード。 これは、
-D 上のオプション: アーカイブ メンバーをコピーして、
アーカイブ インデックス、実際の UID、GID、タイムスタンプ、およびファイル モードを使用する
値。

これがデフォルトです。 ビンユーティリティ で構成されました
--enable-deterministic-archives.

-デバッグ
可能であれば、デバッグ情報を変換します。 これはそうではありません
特定のデバッグ形式のみがサポートされているため、デフォルトです。
変換プロセスには時間がかかる場合があります。

-ギャップフィル ヴァル
セクション間のギャップを次のように埋めます ヴァル。 この操作は、
負荷 住所 (LMA) セクション。 それは、
下位アドレスのセクションのサイズを指定し、
で作成された余分なスペース ヴァル.

--パッドへ 住所
出力ファイルをロードアドレスまでパディングします 住所。 これで完了です
最後のセクションのサイズを増やすことによって。 余分なスペースは、
で指定された値が入力されます -ギャップフィル (デフォルトはゼロ)。

--セットスタート ヴァル
新しいファイルの開始アドレスをに設定します ヴァル。 すべてのオブジェクト ファイルではありません
形式は開始アドレスの設定をサポートしています。

--変更開始 増加
-調整-開始 増加
追加して開始アドレスを変更します 増加。 すべてのオブジェクト ファイルではありません
形式は開始アドレスの設定をサポートしています。

--アドレス変更 増加
--調整-vma 増加
すべてのセクションの VMA アドレスと LMA アドレスを変更します。
開始アドレスを追加して、 増加。 一部のオブジェクト ファイル形式では、
セクションアドレスを任意に変更することができます。 これに注意してください
セクションを再配置しません。 プログラムがセクションに次のことを期待している場合
特定のアドレスにロードされ、このオプションは変更するために使用されます。
セクションが別のアドレスにロードされるようにする
プログラムが失敗する可能性があります。

--変更セクションアドレス セクションパターン{=、+、-}ヴァル
--調整-セクション-vma セクションパターン{=、+、-}ヴァル
VMA アドレスと LMA アドレスの両方を設定または変更します。
セクションマッチング セクションパターン。 場合 = 使用される場合、セクションアドレス
に設定されています ヴァル。 さもないと、 ヴァル に加算または減算されます。
セクションアドレス。 以下のコメントを参照してください --アドレス変更、上記。
If セクションパターン 入力ファイル内のどのセクションとも一致しません。
場合を除き、警告が発せられます。 -変更なし-警告 使用されている。

--変更セクション-lma セクションパターン{=、+、-}ヴァル
一致するセクションのLMAアドレスを設定または変更する
セクションパターン。 LMA アドレスは、セクションが配置されているアドレスです。
プログラムのロード時にメモリにロードされます。 通常、これは
VMA アドレスと同じです。これは、次のセクションのアドレスです。
ただし、一部のシステム、特に
プログラムはROMに保持されているため、XNUMXつは異なる場合があります。 もしも = 使用されている、
セクションアドレスはに設定されます ヴァル。 さもないと、 ヴァル またはに追加されます
セクションアドレスから減算されます。 以下のコメントを参照してください
--アドレス変更、 その上。 もしも セクションパターン いずれにも一致しません
入力ファイルのセクションでは、警告が発行されます。
-変更なし-警告 使用されている。

--change-セクション-vma セクションパターン{=、+、-}ヴァル
一致するセクションのVMAアドレスを設定または変更する
セクションパターン。 VMA アドレスは、セクションが配置されているアドレスです。
プログラムの実行が開始されると検索されます。 通常は
これは、LMA アドレスと同じです。LMA アドレスは、
セクションはメモリにロードされますが、一部のシステム、特に
プログラムが ROM に保持されている場合、この XNUMX つは異なる場合があります。 もし
= が使用される場合、セクションアドレスはに設定されます ヴァル。 さもないと、 ヴァル is
セクションアドレスに加算または減算されます。 コメントを参照してください
--アドレス変更、 その上。 もしも セクションパターン 一致していません
入力ファイルのセクションがある場合は、警告が発行されます。
-変更なし-警告 使用されている。

-変更-警告
-調整-警告
If --変更セクションアドレス or --変更セクション-lma or
--change-セクション-vma が使用され、セクションパターンは使用されません
任意のセクションに一致すると、警告が発行されます。 これがデフォルトです。

-変更なし-警告
-調整なし-警告
次の場合は警告を発行しないでください --変更セクションアドレス or
--adjust-セクション-lma or --調整-セクション-vma が使用されている場合でも、
セクション パターンがどのセクションにも一致しません。

--set-section-flags セクションパターン=フラグ
一致するセクションのフラグを設定します セクションパターンを選択します。 フラグ
引数は、カンマで区切られたフラグ名の文字列です。 認識された
名前は 割り当てる, 中身, 負荷, 無負荷, 読み取り専用, コード, データ, ROM,
シェア, debug。 あなたは設定することができます 中身 セクションのフラグ
中身はありませんが、クリアしても意味がありません。
中身 コンテンツを含むセクションのフラグ -- 削除するだけです
代わりにセクションを参照してください。 すべてのフラグがすべてのオブジェクトに対して意味があるわけではありません
ファイル形式。

-追加-セクション セクション名=ファイル名
名前の付いた新しいセクションを追加します セクション名 ファイルのコピー中。 の
新しいセクションの内容はファイルから取得されます ファイル名を選択します。
セクションのサイズがファイルのサイズになります。 このオプションのみ
任意のセクションをサポートできるファイル形式で動作します。
名前。 注 - を使用する必要がある場合があります。 --set-section-flags
新しく作成されたセクションの属性を設定するオプション。

--ダンプセクション セクション名=ファイル名
名前の付いたセクションの内容を配置します セクション名 ファイルに
ファイル名、そこにあった可能性のあるコンテンツを上書きします
以前。 このオプションは次の逆です。 -追加-セクション。 この
オプションは次のようなものです -のみ-セクション そうする以外のオプション
フォーマットされたファイルは作成されず、内容が生のままダンプされるだけです
バイナリ データ。再配置は適用されません。 オプションとしては、
複数回指定しました。

--更新セクション セクション名=ファイル名
名前の付いたセクションの既存のコンテンツを置き換えます セクション名  
ファイルの内容 ファイル名。 セクションのサイズは次のようになります。
ファイルのサイズに合わせて調整します。 セクションフラグは、
セクション名 変更されません。 ELF形式のファイルの場合、
セグメントマッピングも変更されないまま残ります。
を使用して可能 --セクションの削除 続い -追加-セクションを選択します。
オプションは複数回指定できます。

注-使用することが可能です -名前の変更-セクション & --更新セクション
XNUMX つのコマンド ラインからセクションの更新と名前変更の両方を行うことができます。 この中で
この場合、元のセクション名をに渡します --更新セクション、 そしてその
元のセクション名と新しいセクション名 -名前の変更-セクション.

--記号を追加 =[ :][,フラグ]
名前の付いた新しいシンボルを追加します ファイルのコピー中。 このオプション
複数回指定できます。 もし 与えられた、
シンボルはそのセクションに関連付けられ、そのセクションに相対します。
それ以外の場合は ABS シンボルになります。 未定義を指定する
セクションを削除すると致命的なエラーが発生します。 のチェックはありません
値が指定されている場合は、指定されたとおりに取得されます。 シンボル フラグは次のとおりです。
指定されているが、すべてのフラグがすべてのオブジェクト ファイルに対して意味を持つわけではありません。
フォーマット。 デフォルトでは、シンボルはグローバルになります。 特別な旗
'前=その他の記号' は、新しい記号を
指定の その他の記号それ以外の場合、シンボルは次の位置に追加されます。
シンボルテーブルの最後を出現順に並べます。

-名前の変更-セクション 古い名前=新しい名前[,フラグ]
セクションの名前を 古い名前 〜へ 新しい名前、オプションで変更します
セクションのフラグを フラグ 過程の中で。 これには利点があります
リンカー スクリプトを使用して名前変更を実行すると、出力が
オブジェクト ファイルのままであり、リンクされた実行可能ファイルにはなりません。

このオプションは、入力形式が次の場合に特に役立ちます。
バイナリ。これにより常に .data というセクションが作成されるためです。 もし
たとえば、代わりに .rodata というセクションを作成したいと考えたとします。
バイナリデータが含まれている場合は、次のコマンドラインを使用できます。
それを達成します:

objcopy-Iバイナリ-O -NS \
-名前の変更-section.data = .rodata、alloc、load、readonly、data、contents \


--長いセクション名 {有効化、無効化、維持}
「COFF」を処理する際の長いセクション名の処理を制御します。
および「PE-COFF」オブジェクト形式。 デフォルトの動作では、 続ける、です
入力ファイルに長いセクション名が存在する場合は、それを保持します。
  enable & disable オプションは使用を強制的に有効または無効にします
出力オブジェクト内の長いセクション名の数。 いつ disable である
その結果、入力オブジェクト内の長いセクション名はすべて
切り捨てられた。 の enable このオプションは、次の場合に長いセクション名のみを出力します。
いずれかが入力に存在します。 これはほとんど同じです 続ける、 だけど
かどうかは未定義のままです。 enable オプションにより強制される可能性があります
出力ファイル内に空の文字列テーブルを作成します。

--先頭文字の変更
一部のオブジェクト ファイル形式では、先頭に特殊文字が使用されます。
シンボル。 このような文字で最も一般的なのはアンダースコアです。
コンパイラは多くの場合、すべてのシンボルの前に追加します。 このオプションは、 オブジェクトコピー
変換時にすべてのシンボルの先頭文字を変更するには
オブジェクト ファイル形式の間で。 オブジェクト ファイル形式が
同じ先頭文字の場合、このオプションは効果がありません。 そうでなければ、それは
キャラクターを追加するか、キャラクターを削除するか、キャラクターを変更します。
適切に。

--先頭の文字を削除
グローバルシンボルの先頭文字が特殊シンボルの場合
オブジェクト ファイル形式で使用される先頭文字を削除するには、
キャラクター。 最も一般的な記号の先頭文字はアンダースコアです。
このオプションは、すべてのグローバルから先頭のアンダースコアを削除します。
シンボル。 これは、オブジェクトをリンクする場合に便利です。
シンボルの規則が異なるさまざまなファイル形式
名前。 これは異なります --先頭文字の変更 なぜなら、
は、必要に応じてシンボル名を常に変更します。
出力ファイルのオブジェクト ファイル形式。

--reverse-bytes =NUM
出力内容を含むセクション内のバイトを反転します。 セクション
長さは、指定された値で均等に割り切れる必要があります。
スワップが行えるようになります。 反転は、
インターリーブが行われます。

このオプションは通常、ROM イメージを生成する際に使用されます。
問題のあるターゲット システム。 たとえば、一部のターゲット ボードでは、
32 ビット ROM からフェッチされた 8 ビット ワードが再アセンブルされます。
CPU のバイトオーダーに関係なく、リトルエンディアンのバイトオーダー。
プログラミング モデルによっては、ROM のエンディアンネスが異なる場合があります。
変更する必要があります。

次のセクションを含む単純なファイルを考えてみましょう。
12345678バイト: XNUMX。

使い方 --reverse-bytes = 2 上の例では、
出力ファイルの順序は 21436587 になります。

使い方 --reverse-bytes = 4 上の例では、
出力ファイルの順序は 43218765 になります。

使用することにより、 --reverse-bytes = 2 上記の例では、その後に
--reverse-bytes = 4 出力ファイルの XNUMX 番目のバイト
出力ファイルの順序は 34127856 になります。

--srec-len =ival
srec 出力に対してのみ意味があります。 の最大長を設定します。
生産されているレコード ival。 この長さは両方のアドレスをカバーします。
データフィールドとCRCフィールド。

--srec-forceS3
srec 出力に対してのみ意味があります。 S1/S2の生成を回避する
レコード、S3 専用のレコード形式を作成します。

--redefine-sym 古い=新製品
シンボルの名前を変更する 古い新製品。 これは、次の場合に役立ちます。
XNUMXつは、あなたが持っていないXNUMXつのものを結び付けようとしています
ソース、名前の衝突があります。

--redefine-syms =ファイル名
申し込む --redefine-sym 各シンボルペアに "古い 新製品」に掲載されている
file ファイル名. ファイル名 XNUMX つのシンボルを含む単なるフラット ファイルです
行ごとにペア。 行コメントはハッシュによって導入される場合があります
キャラクター。 このオプションは複数回指定できます。

- 弱める
ファイル内のすべてのグローバル シンボルを弱いものに変更します。 これは可能です
他のオブジェクトに対してリンクされるオブジェクトを構築するときに便利です
を使用したオブジェクト -R リンカーのオプション。 このオプションはあくまで
弱いサポートをサポートするオブジェクト ファイル形式を使用する場合に効果的
シンボル。

--keep-symbols =ファイル名
申し込む --keep-シンボル ファイルにリストされている各シンボルのオプション
ファイル名. ファイル名 は、XNUMX つにつき XNUMX つのシンボル名を持つ単純なフラット ファイルです。
ライン。 行コメントはハッシュ文字によって導入される場合があります。 これ
オプションは複数回指定できます。

--strip-symbols =ファイル名
申し込む --ストリップシンボル ファイルにリストされている各シンボルのオプション
ファイル名. ファイル名 は、XNUMX つにつき XNUMX つのシンボル名を持つ単純なフラット ファイルです。
ライン。 行コメントはハッシュ文字によって導入される場合があります。 これ
オプションは複数回指定できます。

--strip-unneeded-symbols =ファイル名
申し込む --strip-不要な記号 にリストされている各シンボルのオプション
file ファイル名. ファイル名 XNUMX つのシンボルを含む単なるフラット ファイルです
行ごとの名前。 行コメントはハッシュによって導入される場合があります
キャラクター。 このオプションは複数回指定できます。

--keep-global-symbols =ファイル名
申し込む --keep-グローバルシンボル ファイルにリストされている各シンボルのオプション
ファイル名. ファイル名 は、XNUMX つにつき XNUMX つのシンボル名を持つ単純なフラット ファイルです。
ライン。 行コメントはハッシュ文字によって導入される場合があります。 これ
オプションは複数回指定できます。

--localize-symbols =ファイル名
申し込む --ローカライズ記号 ファイルにリストされている各シンボルのオプション
ファイル名. ファイル名 は、XNUMX つにつき XNUMX つのシンボル名を持つ単純なフラット ファイルです。
ライン。 行コメントはハッシュ文字によって導入される場合があります。 これ
オプションは複数回指定できます。

--globalize-symbols =ファイル名
申し込む -- グローバル化シンボル ファイルにリストされている各シンボルのオプション
ファイル名. ファイル名 は、XNUMX つにつき XNUMX つのシンボル名を持つ単純なフラット ファイルです。
ライン。 行コメントはハッシュ文字によって導入される場合があります。 これ
オプションは複数回指定できます。

--weaken-symbols =ファイル名
申し込む --weaken-シンボル ファイルにリストされている各シンボルのオプション
ファイル名. ファイル名 は、XNUMX つにつき XNUMX つのシンボル名を持つ単純なフラット ファイルです。
ライン。 行コメントはハッシュ文字によって導入される場合があります。 これ
オプションは複数回指定できます。

--alt-machine-code =index
出力アーキテクチャに代替マシンコードがある場合は、
indexデフォルトのコードの代わりに 番目のコードを使用します。 これは、次のような場合に役立ちます。
マシンには公式コードが割り当てられ、ツールチェーンは
新しいコードですが、他のアプリケーションはまだ元のコードに依存しています
使用されています。 ELF ベースのアーキテクチャの場合、 index 代替案
が存在しない場合、値は絶対数として扱われます。
ELF ヘッダーの e_machine フィールドに格納されます。

-書き込み可能-テキスト
出力テキストを書き込み可能としてマークします。 このオプションは次の場合には意味がありません
すべてのオブジェクト ファイル形式。

-読み取り専用-テキスト
出力テキストを書き込み禁止にします。 このオプションは意味がありません
すべてのオブジェクト ファイル形式に対応します。

- ピュア
出力ファイルをデマンドページとしてマークします。 このオプションは意味がありません
すべてのオブジェクト ファイル形式に対応します。

-不純
出力ファイルを不純なものとしてマークします。 このオプションは次の場合には意味がありません
すべてのオブジェクト ファイル形式。

--prefix-symbols =文字列
出力ファイルのすべての記号の前に 文字列.

--prefix-sections =文字列
出力ファイルのすべてのセクション名の前に 文字列.

--prefix-alloc-sections =文字列
出力ファイル内の割り当てられたすべてのセクションのすべての名前にプレフィックスを付けます。
  文字列.

--add-gnu-debuglink =ファイルへのパス
への参照を含む.gnu_debuglinkセクションを作成します
ファイルへのパス そしてそれを出力ファイルに追加します。 注: ファイルは次のとおりです。
ファイルへのパス 存在しなければなりません。 を追加するプロセスの一部
.gnu_debuglink セクションには、
セクションへのデバッグ情報ファイルの内容。

デバッグ情報ファイルが XNUMX つの場所に構築されている場合でも、
後で別の場所にインストールする場合は、インストールしないでください。
インストールされた場所へのパスを使用します。 の --add-gnu-debuglink
インストールされたファイルがまだ存在しないため、このオプションは失敗します。
代わりに、デバッグ情報ファイルを現在のディレクトリに置き、使用します。
  --add-gnu-debuglink ディレクトリコンポーネントを含まないオプション、
このような:

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

デバッグ時に、デバッガは別の
デバッグ情報ファイルは一連の既知の場所にあります。 正確なセットは、
これらの場所は、使用されているディストリビューションによって異なります。
ただし、通常は次のものが含まれます。

"*実行可能ファイルと同じディレクトリ。"
"*実行可能ファイルを含むディレクトリのサブディレクトリ"
.debugと呼ばれる

"* / usr / lib / debugなどのグローバルデバッグディレクトリ。"

デバッグ情報ファイルがこれらのいずれかにインストールされている限り、
デバッガーを実行する前の場所はすべて機能するはずです
正しく

--keep-file-symbols
ファイルをストリッピングするとき、おそらく --strip-debug or
-ストリップ-不要、ソースファイル名を指定するシンボルを保持します。
そうしないと剥がされてしまうでしょう。

--デバッグのみを保持する
ファイルをストリップし、不要なセクションの内容を削除します。
によって剥ぎ取られる --strip-debug デバッグセクションを終了します
無傷。 ELF ファイルでは、これにより、すべてのノートセクションが保存されます。
出力。

注 - 削除されたセクションのセクションヘッダーは保持されます。
サイズも含まれますが、セクションの内容は次のとおりです。
捨てられた。 セクションヘッダーは保存されるため、他のツールでも使用できます。
たとえ、
その実行可能ファイルは別のアドレス空間に再配置されました。

このオプションは、
--add-gnu-debuglink XNUMX つの部分からなる実行可能ファイルを作成します。 XNUMXつ
ストリップされたバイナリにより、RAM および
ディストリビューション、XNUMX 番目はデバッグ情報ファイルです。
デバッグ機能が必要な場合にのみ必要です。 提案された
これらのファイルを作成する手順は次のとおりです。

1。
「foo」そして...

1。
デバッグ情報を含むファイルを作成します。

1。
実行可能ファイルを削除しました。

1。
ストリップされたファイルにデバッグ情報へのリンクを追加します。
実行可能ファイル。

注 --- デバッグ情報ファイルの拡張子として「.dbg」を選択すること
は任意です。 また、「--only-keep-debug」ステップはオプションです。 あなた
代わりにこれを行うこともできます:

1。
1。
1。
1。

つまり、が指すファイル --add-gnu-debuglink することができます
完全な実行可能ファイル。 によって作成されたファイルである必要はありません。
--デバッグのみを保持する スイッチ。

注 --- このスイッチは、完全にリンクされたファイルでの使用のみを目的としています。
オブジェクト ファイルでこれを使用することは意味がありません。
デバッグ情報が不完全である可能性があります。 gnu_debuglink 以外にも
この機能は現在 XNUMX つのファイル名の存在のみをサポートしています
デバッグ情報が含まれており、XNUMX つのファイルに複数のファイル名が含まれているわけではありません。
オブジェクトファイルごとに。

--strip-dwo
すべての DWARF .dwo セクションの内容を削除し、
残りのデバッグ セクションとすべてのシンボルはそのまま残ります。 このオプション
の一部としてコンパイラによって使用されることを目的としています。 -gsplit-ドワーフ
オプション。デバッグ情報を .o ファイルと
別の .dwo ファイル。 コンパイラはすべてのデバッグ情報を生成します
同じファイル内で、 --extract-dwo をコピーするオプション
.dwo セクションを .dwo ファイルに追加してから、 --strip-dwo オプション
これらのセクションを元の .o ファイルから削除します。

--extract-dwo
すべてのDWARF.dwoセクションの内容を抽出します。 を参照してください
--strip-dwo 詳細については、オプションを参照してください。

--ファイル配置 NUM
ファイルのアライメントを指定します。 ファイル内のセクションは常に始まります
この数値の倍数のファイル オフセットで。 これがデフォルトです
[このオプションは PE ターゲットに固有です。]

- ヒープ リザーブ
- ヒープ リザーブ,コミット
予約するメモリのバイト数を指定します (オプションで
commit) をこのプログラムのヒープとして使用します。 [このオプションは
PE ターゲットに特有のもの。]

--画像ベース
  プログラムまたは DLL のベースアドレスとして使用します。 これは
プログラムまたは DLL を実行するときに使用される最小のメモリ位置
ロードされています。 移転の必要性を減らし、パフォーマンスを向上させるため
DLL のそれぞれに固有のベース アドレスが必要です。
他の DLL をオーバーラップします。 実行可能ファイルのデフォルトは 0x400000 です。
DLL の場合は 0x10000000。 [このオプションは PE ターゲットに固有です。]

--セクションの配置 NUM
セクションの配置を設定します。 メモリ内のセクションは常に始まります
この数値の倍数のアドレスにあります。 デフォルトは
0x1000。 [このオプションは PE ターゲットに固有です。]

- スタック リザーブ
- スタック リザーブ,コミット
予約するメモリのバイト数を指定します (オプションで
commit) をこのプログラムのスタックとして使用します。 [このオプションは
PE ターゲットに特有のもの。]

-サブシステム which
-サブシステム which:主要な
-サブシステム which:主要な.マイナー
プログラムが実行されるサブシステムを指定します。 の
の正当な値 which は「ネイティブ」、「ウィンドウ」、「コンソール」、「posix」、
「efi-app」、「efi-bsd」、「efi-rtd」、「sal-rtd」、および「xbox」。 してもいいです
オプションでサブシステムのバージョンも設定します。 数値も
受け入れられました which。 [このオプションはPEターゲットに固有です。]

--抽出記号
ファイルのセクションフラグとシンボルは保持しますが、すべてのセクションを削除します
データ。 具体的には、次のオプションです。

*
*
*

このオプションは、 .sym VxWorks カーネル用のファイル。 それ
サイズを縮小するのにも便利な方法です。 --ジャストシンボル
リンカ入力ファイル。

--compress-debug-sections
SHF_COMPRESSED を指定した zlib を使用して DWARF デバッグ セクションを圧縮します。
エルフのアビ。 注 - 圧縮によって実際にセクションが作成されるかどうか
より大きい、その後は圧縮されません。

--compress-debug-sections = none
--compress-debug-sections = zlib
--compress-debug-sections = zlib-gnu
--compress-debug-sections = zlib-gabi
ELF ファイルの場合、これらのオプションは DWARF デバッグ セクションの内容を制御します。
圧縮されています。 --compress-debug-sections = none に相当します
--decompress-debug-sections. --compress-debug-sections = zlib &
--compress-debug-sections = zlib-gabi と同等です
--compress-debug-sections. --compress-debug-sections = zlib-gnu
zlib を使用して DWARF デバッグ セクションを圧縮します。 デバッグセクションは次のとおりです。
そもそも名前が変更されました .zdebug 。デバッグ。 注 - 場合
圧縮すると実際にはセクションが作成されます より大きい、ではそうではありません
圧縮も名前も変更されません。

--decompress-debug-sections
zlib を使用して DWARF デバッグ セクションを解凍します。 オリジナルセクション
圧縮されたセクションの名前が復元されます。

-V
- バージョン
のバージョン番号を表示する オブジェクトコピー.

-v
-詳細
詳細出力: 変更されたすべてのオブジェクト ファイルをリストします。 の場合
アーカイブ、 オブジェクトコピー -V アーカイブのすべてのメンバーを一覧表示します。

- 助けて
オプションの概要を表示する オブジェクトコピー.

- 情報
すべてのアーキテクチャとオブジェクト形式を示すリストを表示します
にアクセスできるようにしています。

@file
からコマンドラインオプションを読み取る file。 読み取ったオプションが挿入されます
元の@の代わりにfile オプション。 場合 file 存在しない、または
読み取ることができない場合、オプションは文字通りに扱われ、
除去された。

オプションで file 空白で区切られます。 空白
全体を囲むことにより、オプションに文字を含めることができます
一重引用符または二重引用符で囲むオプション。 任意の文字(含む
バックスラッシュ)は、文字の前に付けることで含めることができます
バックスラッシュが含まれています。 NS file それ自体が追加で含まれている可能性があります
@file オプション; このようなオプションはすべて再帰的に処理されます。

onworks.net サービスを使用してオンラインで i686-linux-gnu-objcopy を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad