8 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 Target Selection.
- --help
-
stripへのオプションの概要を表示し終了します.
- --info
-
すべてのアーキテクチャと利用可能なオブジェクトフォーマットを示すリスト
を表示します.
- -I bfdname
- --input-target=bfdname
-
オリジナルのobjfileを,オブジェクトコードのフォーマット
bfdnameを用いたファイルとして扱います.詳細は,See Target Selection.
- -O bfdname
- --output-target=bfdname
-
objfileを,出力フォーマットbfdnameのファイルで置換します.
詳細は,See Target Selection.
- -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されたバイナリで,二番目のデバッグ情報ファ
イルは,デバッグ能力が要求される場合だけ必要になります.これらのファイ
ルを作成するための推奨手順は以下の通りです.
- 通常の実行形式のリンク.
foo
と仮定します.
- デバッグ情報を含んでいるファイルを作成するために
objcopy
--only-keep-debug foo foo.dbg
の実行.
- stripされた実行形式を作成するために
objcopy --strip-debug foo
の実
行.
- stripされた実行形式にデバッグ情報を追加リンクするために
objcopy
--add-gnu-debuglink=foo.dbg foo
を実行.
注意 - デバッグ情報ファイルに対する拡張として,.dbg
の選択は任意
です.また,--only-keep-debug
の段階はオプションです.代わりに以
下のようにすることも可能です.
- 通常の実行形式のリンク.
foo
をfoo.full
へコピー.
strip --strip-debug foo
の実行.
objcopy --add-gnu-debuglink=foo.full foo
の実行.
つまり,--add-gnu-debuglinkで示されるファイルは,完全な実行形
式です.--only-keep-debugスイッチファイルを生成する必要はあり
ません.
- -V
- --version
-
stripのバージョンナンバーを表示します.
- -v
- --verbose
-
冗長な出力です.編集されたすべてのオブジェクトファイルをリストアップし
ます.アーカイブの場合,`strip -v'はアーカイブのすべてのメンバーを
リストアップします.