strip コマンド
目的
バインダーおよびシンボリック・デバッグ・プログラムによって使用される情報を除去することによって、拡張共通オブジェクト・ファイル形式 (XCOFF) のオブジェクト・ファイルのサイズを縮小します。
構文
ストリップ [ V 値] [ - [ - ] | -x (X) [ - ] | T | -H | -e (E) | -E (E) ] [ -X (X) {32|64|32_64}] [ — ] ファイル ...
説明
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 モード | 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 コマンドが入っています。 |