objcopy(1) FreeBSD 一般コマンドマニュアル

objcopy

前のページ 上に戻る 次のページ

objcopy




書式

       objcopy
              [-F bfdname | --target=bfdname]
              [-I bfdname | --input-target=bfdname]
              [-O bfdname | --output-target=bfdname]
              [-j sectionname | --only-section=sectionname]
              [-R sectionname | --remove-section=sectionname]
              [-S | --strip-all] [-g | --strip-debug]
              [--strip-unneeded]
              [-K symbolname | --keep-symbol=symbolname]
              [-N symbolname | --strip-symbol=symbolname]
              [-L symbolname | --localize-symbol=symbolname]
              [-W symbolname | --weaken-symbol=symbolname]
              [-x | --discard-all] [-X | --discard-locals]
              [-b byte | --byte=byte]
              [-i interleave | --interleave=interleave]
              [-p | --preserve-dates] [--debugging]
              [--gap-fill=val] [--pad-to=address]
              [--set-start=val] [--change-start=incr]
              [--change-addresses=incr]
              [--change-section-address section{=,+,-}val]
              [--change-section-lma section{=,+,-}val]
              [--change-section-vma section{=,+,-}val]
              [--change-warnings] [--no-change-warnings]
              [--set-section-flags section=flags]
              [--add-section sectionname=filename]
              [--change-leading-char] [--remove-leading-char]
              [--srec-len=val] [--srec-forceS3]
              [--redefine-sym old=new] [--weaken]
              [-v | --verbose] [-V | --version] [--help] infile
              [outfile]


解説

       GNU objcopy ユーティリティはあるオブジェクトファイルの内容
       を他へコピーします。 objcopy はオブジェクトファイルの読み
       書きに GNU BFD ライブラリを使います。元のオブジェクトファ
       イルと異なるフォーマットでコピー先のオブジェクトファイルに
       書き込む事が可能です。 objcopy の厳密な挙動はコマンドライ
       ンの引数で制御します。

       objcopy は変換のために一時ファイルを作成して後でそれらを削
       除します。 objcopy はすべての変換作業で BFD を使います; つ
       まり BFD が知っているフォーマットはすべて知っている事にな
       るので、明示的に指定しなくても大部分のフォーマットを認識す
       る事が出来ます。

       objcopy で出力先に srec を指定する (例えば -O srec を使う)
       ことで  Sレコードを生成できます。

       objcopy で出力先に binary を指定する (例えば -O binary を
       使う) ことで生のバイナリファイルを生成できます。 objcopy
       す。



オプション

       -I bfdname, --input-target=bfdname
              入力ファイルのオブジェクト形式を推測しようとするか
              わりに bfdname であるとして扱います。

       -O bfdname, --output-target=bfdname
              オブジェクト形式として bfdname を使って出力ファイル
              に書き込みます。

       -F bfdname, --target=bfdname
              入出力両方のオブジェクト形式が bfdname であるとしま
              す; つまり、入力から出力へ無変換でデータを単純に転
              送するということです。

       -j sectionname, --only-section=sectionname
              指定したセクションのみ入力ファイルから出力ファイル
              へコピーし、他のすべてのセクションを捨てます。この
              オプションは 2 回以上指定できます。このオプションを
              不適切に使うと出力ファイルが利用できない物になるの
              で注意して下さい。.TP -R sectionname, --remove-
              section=sectionname 指定されたセクションをファイル
              から取り除きます。このオプションは 2 回以上指定でき
              ます。このオプションを不適切に使うと出力ファイルが
              利用できない物になるので注意して下さい。

       -S, --strip-all
              再配置とシンボルの情報を入力ファイルからコピーしま
              せん。

       -g, --strip-debug
              デバッグシンボルを入力ファイルからコピーしません。

       --strip-unneeded
              再配置処理に不要なシンボルをすべて取り除きます。

       -K symbolname, --keep-symbol=symbolname
              入力ファイルからシンボル symbolname だけをコピーし
              ます。このオプションは 2 回以上指定できます。

       -N symbolname, --strip-symbol=symbolname
              入力ファイルからシンボル symbolname をコピーしませ
              ん。このオプションは 2 回以上指定できます。

       -L symbolname, --localize-symbol=symbolname
              シンボル symbolname を、外部から参照できないように
              ファイル内ローカルにします。このオプションは 2 回以
              上指定できます。

       -W symbolname, --weaken-symbol=symbolname
              interleave-1 の範囲の値を指定できます。このオプショ
              ンは ROM に書き込むためのファイルを作成するために有
              用です。典型的には srec の出力指定と共に使います。

       -i interleave, --interleave=interleaveinterleaveバイト毎に 1バイトだけをコピーします。
              どれをコピーするかは -b--byte オプションで選び
              ます。デフォルトは 4です。 interleave は -b--byte のどちらも指定されていない場合は無視されま
              す。

       -p, --preserve-dates
              出力ファイルのアクセス時刻と更新時刻を入力ファイル
              に合わせます。

       --debugging
              可能であればデバッグ情報を変換します。特定のデバッ
              グ情報しかサポートしておらず、変換処理は時間を要す
              る可能性があるので、これはデフォルトではありませ
              ん。

       --gap-fill=val
              セクション間のすきまを val で埋めます。この操作はセ
              クションの load address (LMA) に適用されます。低位
              アドレスのセクションのサイズを増やし、できた余分の
              空間を val で埋める事で実現しています。

       --pad-to=address
              ロードアドレス address まで出力ファイルに詰め物をし
              ます。これは最後のセクションのサイズを増やす事で行
              われます。できた余分の空間は --gap-fill で指定され
              た値 (デフォルトは 0) で埋められます。

       --set-start=val
              新しいファイルの開始アドレスを val に設定します。す
              べてのオブジェクトファイル形式が開始アドレスの設定
              をサポートしているわけではありません。

       --change-start=incr, --adjust-start=incr
              開始アドレスを、incr を加算する事で変更します。すべ
              てのオブジェクトファイル形式が開始アドレスの設定を
              サポートしているわけではありません。

       --adjust-vma=incr
              開始アドレスおよびすべてのセクションのアドレス
              を、incr を加算する事で変更します。いくつかのオブ
              ジェクトファイル形式ではセクションのアドレスを任意
              の値に変更する事は許されていません。これはセクショ
              ンを再配置するのではない事に注意して下さい; もしプ
              ログラムがセクションが特定のアドレスにロードされる
              事を期待しており、そしてこのオプションがセクション
              を異なるアドレスにロードするように使われた場合は、
              指定された section の LMA アドレスを、設定または変
              更します。= が指定された場合は、セクションのアドレ
              スは val に設定されます。そうでなければ val がセク
              ションのアドレスに加算または減算されます。上の
              --adjust-addresses に書かれているコメントも参照して
              下さい。入力ファイルに section が存在しない場合は、
              --no-change-warnings が指定されていなければ警告が出
              力されます。 --change-section-vma section{=,+,-}val
              指定された section の VMA アドレスを、設定または変
              更します。= が指定された場合は、セクションのアドレ
              スは val に設定されます。そうでなければ val がセク
              ションのアドレスに加算または減算されます。上の
              --adjust-addresses に書かれているコメントも参照して
              下さい。入力ファイルに section が存在しない場合は、
              --no-change-warnings が指定されていなければ警告が出
              力されます。

       --change-warnings, --adjust-warnings
              --adjust-section-XXX が指定され、指定されたセクショ
              ンが存在しないと警告が出力されます。これはデフォル
              トです。

       --no-change-warnings, --no-adjust-warnings
              --adjust-section-XXX が指定されて、指定されたセク
              ションが存在しなくても警告を出力しません。

       --set-section-flags section=flags
              指定されたセクションのフラグを設定します。引数
              flags はフラグ名をコンマで区切った文字列です。認識
              するフラグ名は +alloc, contents, load, noload,
              readonly, +code, data, rom, share, debug です。すべ
              てのフラグがすべてのオブジェクトファイル形式で意味
              を持つとは限りません。

       --add-section sectionname=filename
              sectionname で指定された名前の新しいセクションを
              ファイルのコピー中に付け加えます。新しいセクション
              の内容はファイル filename から取り込まれます。セク
              ションのサイズはファイルのサイズになります。このオ
              プションは任意の名前を持つセクションをサポートでき
              るファイル形式でのみ機能します。

       --change-leading-char
              いくつかのオブジェクトファイル形式でシンボルの最初
              に特殊文字が使われています。もっとも一般的なのはア
              ンダスコアで、しばしばコンパイラが各シンボルの前に
              付け加えます。このオプションは objcopy に、オブジェ
              クトファイル形式を変換する時に各シンボルの始まりの
              文字を変更するよう指示します。変換前後のオブジェク
              トファイル形式がシンボルの始まりに同じ文字を使って
              いる場合は、このオプションは何もしません。そうでな
              ければ、このオプションで文字を付け加える、または文
              イル形式とは関係なく常にシンボル名を変更してしまう
              からです。

       --srec-len=val
              srec 出力でのみ意味があります。 S レコードの長さを
              val に設定します。この長さには、アドレス、デー
              タ、CRC フィールドも含まれます。

       --srec-forceS3
              srec 出力でのみ意味があります。 S1/S2 レコードの生
              成を防ぎ、S3 レコードのみの書式にします。

       --redefine-sym old=new
              シンボルの名前を old から new へ変更します。ソース
              が無い 2 つのものリンクしようとしていて、名前の衝突
              があるときに有用でしょう。

       --weaken
              ファイルのすべてのグローバルシンボルを weak に変更
              します。

       -v, --verbose
              出力を冗長にします: 変更されたすべてのオブジェクト
              ファイルをリストします。アーカイブの場合は "objcopy
              -V" でアーカイブのメンバがすべてリストされます。

       -V, --version
              objcopy のバージョン番号を表示して終了します。

       --help objcopy のオプションのサマリを表示して終了します。


関連項目

       info の `binutils' の項; The GNU Binary Utilities, Roland
       H. Pesch (June 1993)



COPYING

       This document is distributed under the terms of the GNU
       Free Documentation License, version 1.1.  That license is
       described in the sources for this manual page, but it is
       not displayed here in order to make this manual more
       consise.  Copies of this license can also be obtained
       from: http://www.gnu.org/copyleft/.






























































































































































































































































































日本語訳

       野首 寛高(hnokubi@yyy.or.jp): FreeBSD 用に翻訳




Free Software Foundation  05 April 2000                objcopy(1)

ABELNET VPSサービス