STRIP
Section: GNU Development Tools (1)
Updated: 2004-04-09
索引
jman
索引
名称
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 オブジェクトコード形式のファイルとして扱い、
それと同じ形式で上書きします。
- --help
-
strip
のオプションの一覧を表示して終了します。
- --info
-
利用可能なアーキテクチャとオブジェクト形式のすべての一覧を
表示します。
- -I bfdname
-
- --input-target=bfdname
-
オリジナルの objfile を
bfdname オブジェクトコード形式のファイルとして扱います。
- -O bfdname
-
- --output-target=bfdname
-
objfile を bfdname 出力形式のファイルに置き換えます。
- -R sectionname
-
- --remove-section=sectionname
-
出力ファイルから sectionname という名前のセクションを削除します。
このオプションは 1 回以上使うことができます。
このオプションを不適切に使用すると、オブジェクトファイルが
使用できなくなるかもしれないことに注意してください。
- -s
-
- --strip-all
-
すべてのシンボルを削除します。
- -g
-
- -S
-
- -d
-
- --strip-debug
-
デバッギングシンボルだけを削除します。
- --strip-unneeded
-
再配置処理に不必要なシンボルをすべて削除します。
- -K symbolname
-
- --keep-symbol=symbolname
-
元ファイルのシンボル symbolname だけを保持します。
このオプションは 1 回以上使うことができます。
- -N symbolname
-
- --strip-symbol=symbolname
-
元ファイルからシンボル symbolname を削除します。
このオプションは 1 回以上使うことができ、また -K 以外の
strip のオプションと併用することができます。
- -o file
-
存在するファイルを置き換える代わりに、
strip された出力を file に出します。
この引数を使用する時には、objfile 引数は 1 つしか指定できません。
- -p
-
- --preserve-dates
-
ファイルのアクセス時刻と更新時刻を保存します。
- -w
-
- --wildcard
-
他のコマンド行オプションで使用される symbolnames において、
正規表現の使用を許可します。
疑問符 (?)、アスタリスク (*)、バックスラッシュ (\)、
角括弧 ([]) の演算子をシンボル名のどこでも使用できます。
シンボル名の最初の文字が感嘆符 (!) である場合、そのシンボルに
対するスイッチの意味が反転します。
例えば、次の
-w -K !foo -K fo*
では、文字 ``fo'' で始まるシンボルだけを保持し、
シンボル ``foo'' は破棄することになります。
- -x
-
- --discard-all
-
グローバルでないシンボルを削除します。
- -X
-
- --discard-locals
-
コンパイラによって生成されたローカルシンボル (これは通常 L か .
で始まります。) を削除します。
- --only-keep-debug
-
ファイルから削除する際に、--strip-debug により削除されるものは
すべて除去しつつ、デバッグ用セクションは残します。
このオプションの意図は、--add-gnu-debuglink と一緒に使い、
2 パートの実行可能形式を生成することにあります。
第一に、削除済みのバイナリの占める RAM 容量が
より少なくなること。
第二に、デバッグ機能が必要な場合のみ
デバッグ情報ファイルが必要となることです。
これらのファイルを生成するに際し、推奨する手順は次の通りです。
-
- 1.<実行可能形式を普通通りリンクする。この名前を>
-
"foo" とする。
- 1.<objcopy --only-keep-debug foo foo.dbg を実行し>
-
デバッグ情報を含むファイルを生成する。
- 1.<objcopy --strip-debug foo を実行し>
-
ストリップされた実行可能形式を生成する。
- 1.<objcopy --add-gnu-debuglink=foo.dbg fooを実行し>
-
ストリップされた実行可能形式に、デバッグ情報へのリンクを追加する。
-
注意 - デバッグ情報ファイルの拡張子を選ぶ際に ".dbg" を
使うことは任意です。
"--only-keep-debug" のステップも
省略可能です。代わりに次のようにすることができます。
- 1.<通常通り実行可能形式をリンクする>
-
- 1.<foo を foo.fullにコピーする>
-
- 1.<strip --strip-debug fooを実行する>
-
- 1.<objcopy --add-gnu-debuglink=foo.full foo
-
-
ここで、--add-gnu-debuglink により指し示されたファイルは
完全実行可能形式です。
これは、--only-keep-debug スイッチにより生成される
必要はありません。
- -V
-
- --version
-
strip のバージョンを表示して終了します。
- -v
-
- --verbose
-
冗長な出力: 変更されたすべてのオブジェクトファイルを列挙します。
アーカイブの場合、
strip -v
はアーカイブのすべてのメンバを列挙します。
索引
関連項目
Info の binutils エントリ。
索引
COPYRIGHT
Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000,
2001, 2002, 2003 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
索引
Index
- 名称
-
- 書式
-
- 解説
-
- オプション
-
- 関連項目
-
- COPYRIGHT
-
Time: 07:06:19 GMT, January 12, 2009