strip コマンド
目的
バインダーおよびシンボリック・デバッグ・プログラムによって使用される情報を除去することによって、拡張共通オブジェクト・ファイル形式 (XCOFF) のオブジェクト・ファイルのサイズを縮小します。
構文
strip [ -V] [ -r [ -l ] | -x [ -l ] | -t | -H | -e | -E ] [ -X {32|64|32_64}] [ — ] File ...
説明
strip コマンドは、XCOFF オブジェクト・ファイルのサイズを縮小します。 strip コマンドは、行番号情報、再配置情報、デバッグ・セクション、typchk セクション、ファイル・ヘッダー、およびシンボル・テーブルの一部または全部を、XCOFF オブジェクト・ファイルから任意に除去します。 一度このコマンドを使用すると、ファイルのシンボリック・デバッグは困難になります。 したがって、通常は strip コマンドは、デバッグ済みおよび検査済みのプロダクション・モジュールにのみ使用してください。 strip コマンドを使用すると、オブジェクト・ファイルに必要なストレージのオーバーヘッドが減少します。
個々のオブジェクト・モジュールに対して、strip コマンドは、与えられたオプションで指定されたとおりに情報を除去します。 個々のアーカイブ・ファイルに対して、strip コマンドは、グローバル・シンボル・テーブルをアーカイブから除去します。
ar -s コマンドを使用することにより、削除されたシンボル・テーブルをアーカイブまたはライブラリー・ファイルに復元することができます。
オプションを指定しないで strip コマンドを実行すると、行番号情報、再配置情報、シンボル・テーブル、デバッグ・セクション、typchk セクションが除去されます。
フラグ
項目 | 説明 |
---|---|
-e | オブジェクト・ファイルのオプション・ヘッダー内に F_LOADONLY フラグをセットします。 オブジェクト・ファイルがアーカイブに入っている場合、このフラグはアーカイブとのリンク時にオブジェクト・ファイル内のシンボルを無視することをバインダー (ld コマンド) に示します。 |
-E | オブジェクト・ファイルのオプション・ヘッダー内の F_LOADONLY ビットをリセット (オフに) します。 (-e フラグを参照してください。) |
-H | オブジェクト・ファイル・ヘッダー、オプション・ヘッダー、およびすべてのセクション・ヘッダーを除去します。
注: シンボル・テーブル情報は除去されません。 |
-l | (小文字の L) オブジェクト・ファイルから行番号情報を削除します。 |
項目 | 説明 |
---|---|
-r | 外部シンボルおよび静的シンボルのエントリー以外のすべてのシンボル・テーブル情報を除去します。 再配置情報は除去しません。 また、デバッグ・セクションおよび typchk セクションは除去します。 このオプションを使用すると、リンケージ・エディター (ld コマンド) への入力として引き続き使用可能なオブジェクト・ファイルが作成されます。 |
-t | シンボル・テーブル情報は除去しますが、関数シンボルまたは行番号情報は除去しません。 |
-V | strip コマンドのバージョン番号を表示します。 |
-x | シンボル・テーブル情報は除去しますが、静的シンボル情報または外部シンボル情報は除去しません。 -x フラグは再配置情報も除去するので、ファイルへのリンクはできません。 |
-X mode | strip が検査すべきオブジェクト・ファイルのタイプを指定します。
mode は、以下のいずれかの値でなければなりません。
デフォルトでは、32 ビットのオブジェクト・ファイルを処理 (64 ビットのオブジェクトは無視) します。 また、mode は OBJECT_MODE 環境変数とともに設定することができます。 例えば、OBJECT_MODE=64 によって、strip はすべての 64 ビットのオブジェクトを処理し、32 ビットのオブジェクトを無視するようになります。 -X フラグは、OBJECT_MODE 変数をオーバーライドします。 |
— | (二重ハイフン) このフラグの後ろのすべての引数をファイル名として解釈します。 これにより、名前がハイフンで始まるファイルを取り除くことができます。 |
終了状況
このコマンドは、以下の終了値を戻します。
項目 | 説明 |
---|---|
0 | 正常終了。 |
>0 | エラーが発生しました。 |
例
- a.out ファイルからシンボル・テーブルおよび行番号情報を除去するには、以下のように入力します。
strip a.out
- a.out ファイルからオブジェクト・ファイル・ヘッダーを除去するには、以下のように入力します。
strip -H a.out
- lib.a から 32 ビットおよび 64 ビットの両方のシンボル・テーブルを除去するには、以下のように入力します。
strip -X 32_64 lib.a
ファイル
項目 | 説明 |
---|---|
/usr/ccs/bin/strip | strip コマンドが入っています。 |