strip - オブジェクトファイルからのシンボルテーブル、デバッグおよび行番号の情報の除去
strip [-lVx] file...
strip コマンドは、ELF オブジェクトファイルからシンボルテーブル SHT_SYMTAB とそれに関係する文字列テーブル、デバッグ情報、および行番号情報を取り除きます。つまり、シンボルテーブルと関係する文字列テーブルに加え、次のセクションが取り除かれます。
.line .debug* .stab*
この除去プロセスが完了すると、そのファイルに対してシンボリックデバッグアクセスが制限されます。このため、通常このコマンドは、デバッグおよびテスト済みの本稼働モジュールでのみ実行します。
メンバーの処理のほかに、strip が共通アーカイブファイルに対して実行される場合 (ar.h(3HEAD) を参照)、strip によりアーカイブシンボルテーブルが取り除かれます。ld(1) コマンドを使用してアーカイブをリンクする前に、ar(1) コマンドと –s オプションを指定して、アーカイブシンボルテーブルを復元する必要があります。この状況が発生すると、strip は適切な警告メッセージを生成します。
strip は、オブジェクトファイルにより専有されるファイルストレージのオーバーヘッドを減らすために使用します。
ELF オブジェクトファイルから取り除かれる情報量は、次のオプションのいずれかを使用して制御できます。サポートしているオプションは、次のとおりです。
行番号情報のみを取り除きます。シンボルテーブルやデバッグ情報は取り除きません。
strip のバージョン番号を標準エラーに出力します。
シンボルテーブルは取り除きません。デバッグおよび行番号の情報を取り除くことができます。
次のオペランドを指定できます。
実行可能ファイルを参照するパス名。
strip の実行に影響を与える環境変数 LANG、LC_ALL 、LC_CTYPE、LC_MESSAGES、および NLSPATH については、environ(5) を参照してください。
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
一時ファイル
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
ar(1)、as(1)、ld(1)、mcs(1)、elf(3ELF)、tmpnam(3C)、a.out(4)、ar.h(3HEAD)、attributes(5)、environ(5)、standards(5)
シンボルテーブルセクションは、それがセグメント内に含まれる場合や、ファイルが再配置可能オブジェクトである場合には、削除されません。
行番号およびデバッグセクションは、それがセグメント内に含まれる場合、または関連する再配置セクションがセグメント内に含まれる場合は、削除されません。
strip コマンドを使用して、標準の定義済みセクションセットを ELF オブジェクトファイルから削除します。ユーザー指定のセクションを名前で削除する方法については、mcs(1)を参照してください。