[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

8. strip

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=binutils-ja&node=strip"
"binutils/strip"へのコメント(無し)

 
strip [`-F' bfdname |`--target='bfdname]
      [`-I' bfdname |`--input-target='bfdname]
      [`-O' bfdname |`--output-target='bfdname]
      [`-s'|`--strip-all']
      [`-S'|`-g'|`-d'|`--strip-debug']
      [`-K' symbolname |`--keep-symbol='symbolname]
      [`-N' symbolname |`--strip-symbol='symbolname]
      [`-w'|`--wildcard']
      [`-x'|`--discard-all'] [`-X' |`--discard-locals']
      [`-R' sectionname |`--remove-section='sectionname]
      [`-o' file] [`-p'|`--preserve-dates']
      [`--only-keep-debug']
      [`-v' |`--verbose'] [`-V'|`--version']
      [`--help'] [`--info']
      objfile...

GNU stripは,オブジェクトファイルobjfileからシンボ ルをすべて廃棄します.オブジェクトファイルのリストには,アーカイブを含 めてもかまいません.少なくとも一つのオブジェクトファイルを与える必要が あります.

stripは,別の名前に編集されたものを書き出すのではなく,その引 数で指名されたファイルを変更します.

-F bfdname
--target=bfdname
オリジナルのobjfileを,オブジェクトコードのフォーマット bfdnameを用いたファイルとして扱い,同じフォーマットで再書き込みし ます.詳細は,See 節 15.1 ターゲットの選択.

--help
stripへのオプションの概要を表示し終了します.

--info
すべてのアーキテクチャと利用可能なオブジェクトフォーマットを示すリスト を表示します.

-I bfdname
--input-target=bfdname
オリジナルのobjfileを,オブジェクトコードのフォーマット bfdnameを用いたファイルとして扱います.詳細は,See 節 15.1 ターゲットの選択.

-O bfdname
--output-target=bfdname
objfileを,出力フォーマットbfdnameのファイルで置換します. 詳細は,See 節 15.1 ターゲットの選択.

-R sectionname
--remove-section=sectionname
sectionnameで指名されたすべてのセクションを,出力ファイルから削除 します.このオプションは一回以上与えてもかまいません.このオプションを 使用すると,不適切にも出力ファイルを利用不可能にする可能性があることに 注意してください.

-s
--strip-all
すべてのシンボルを削除します.

-g
-S
-d
--strip-debug
デバッグシンボルのみ削除します.

--strip-unneeded
再配置の処理に不要なすべてのシンボルを削除します.

-K symbolname
--keep-symbol=symbolname
シンボルsymbolnameのみ,ソースファイルに保存します.このオプショ ンは一回以上与えてもかまいません.

-N symbolname
--strip-symbol=symbolname
シンボルsymbolnameをソースファイルから削除します.このオプション は一回以上与えたり,`-K'以外のstripオプションと組み合 わせたりしてもかまいません.

-o file
既存のファイルを置換するのではなく,stripされた出力を fileに書き込みます.この引数が使用されたとき,一つの objfile引数のみ指定することが可能です.

-p
--preserve-dates
ファイルのアクセスと編集の日付を保持します.

-w
--wildcard
他のコマンドラインオプションで使用するため,symbolnameでの正規表 現を許可します.疑問符(?),アスタリスク(*),バックスラッシュ(\),そして 角括弧([])オペレータを,シンボル名の任意の場所に使用することが可能です. シンボル名の最初の文字が感嘆符(!)の場合,シンボルに対するスイッチの意味 を反対にします.例えば,以下を考えます.

 
  -w -W !foo -W fo*

これで,stripは,シンボル"foo"以外の,"fo"で始まるすべて のシンボルを保時します.

-x
--discard-all
グローバルでないシンボルを削除します.

-X
--discard-locals
コンパイラが生成したローカルシンボルを削除します.(これらは通常, `L'または`.'で始まります.)

--only-keep-debug
`--strip-debug'でstripされるセクションをすべて削除し,デバッグセ クションは残しながらファイルをstripします.

このオプションの目的は,二つの部分の実行形式を作成するために `--add-gnu-debuglink'を組み合わせで使用します.一つは,RAMと配布 物にスペースが無い場合のstripされたバイナリで,二番目のデバッグ情報ファ イルは,デバッグ能力が要求される場合だけ必要になります.これらのファイ ルを作成するための推奨手順は以下の通りです.

  1. 通常の実行形式のリンク.fooと仮定します.
  2. デバッグ情報を含んでいるファイルを作成するためにobjcopy --only-keep-debug foo foo.dbgの実行.
  3. stripされた実行形式を作成するためにobjcopy --strip-debug fooの実 行.
  4. stripされた実行形式にデバッグ情報を追加リンクするためにobjcopy --add-gnu-debuglink=foo.dbg fooを実行.

注意 - デバッグ情報ファイルに対する拡張として,.dbgの選択は任意 です.また,--only-keep-debugの段階はオプションです.代わりに以 下のようにすることも可能です.

  1. 通常の実行形式のリンク.
  2. foofoo.fullへコピー.
  3. strip --strip-debug fooの実行.
  4. objcopy --add-gnu-debuglink=foo.full fooの実行.

つまり,`--add-gnu-debuglink'で示されるファイルは,完全な実行形 式です.`--only-keep-debug'スイッチファイルを生成する必要はあり ません.

-V
--version
stripのバージョンナンバーを表示します.

-v
--verbose
冗長な出力です.編集されたすべてのオブジェクトファイルをリストアップし ます.アーカイブの場合,`strip -v'はアーカイブのすべてのメンバーを リストアップします.


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]