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
オリジナルの objfilebfdname オブジェクトコード形式のファイルとして扱います。
-O bfdname
--output-target=bfdname
objfilebfdname 出力形式のファイルに置き換えます。
-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

jman



Time: 07:06:19 GMT, January 12, 2009