elfcompress - オブジェクトファイルのデバッグセクションの圧縮/圧縮解除
elfcompress [-fV] [-t type] filename...
elfcompress コマンドは、ELF オブジェクトファイルのデバッグセクションを圧縮または圧縮解除するために使用します。特に指定しないかぎり、すべてのデバッグおよび注釈セクションが操作されます。
入力ファイルがアーカイブである場合 (ar.h(3HEAD) を参照)、アーカイブは一連の個別のファイルとして扱われます。アーカイブメンバーがオブジェクトファイルではない場合は変更されません。
elfcompress はセグメント内に含まれているセクションを変更できません。そのような割り当て可能なセクションには SHF_ALLOC セクションフラグが設定されています。elfcompress は SHT_NOBITS タイプのセクションを変更できません。–t オプションが指定された圧縮操作では、候補セクションに追加の制限が課されることがあります。–t オプションおよび注を参照してください。
–n オプションを使用して 1 つ以上のセクションをプロセスに指定した場合、指定したセクションのみが処理され、ほかのすべてのセクションは変更されません。–n オプションを使用しない場合、elfcompress は –t オプションに指定された圧縮操作と互換性があるすべてのセクションを選択します。
サポートしているオプションは、次のとおりです。
デフォルトでは、elfcompress は圧縮後のサイズが元のデータと同じか小さくなる場合にのみセクションを圧縮します。圧縮後のサイズが元より大きくても圧縮を強制的に実行する場合は、–f を指定します。
処理するセクションの名前を指定します。elfcompress では複数の –n オプションが受け入れられ、複数のセクションを指定できます。–n を使用しない場合、elfcompress は指定された圧縮操作と互換性があるすべてのデバッグセクションを選択します。–t オプションおよび注を参照してください。
実行する圧縮操作を指定します。次の圧縮タイプが認識されます。
圧縮されたセクションが圧縮解除されます。
ZLIB 圧縮でデバッグセクションを圧縮します。候補セクションは、割り当て不可能 (SHF_ALLOC フラグが設定されていない) でセクションタイプが SHT_PROGBITS、SHT_SUNW_DEBUG、SHT_SUNW_DEBUGSTR、または SHT_SUNW_ANNOTATE である必要があります。結果のセクションには、SHF_COMPRESSED セクションフラグが設定され、圧縮が使用されたことが示されます。
GNU セクション圧縮形式を使用して、ZLIB 圧縮でデバッグセクションを圧縮します。候補セクションは、割り当て不可能 (SHF_ALLOC フラグが設定されていない) でタイプ SHT_NOBITS ではなく、名前が .debug で始まる必要があります。結果のセクションは、名前が .zdebug で始まるように変更され、圧縮が使用されたことが示されます。
–t オプションを指定しない場合の結果は、–t zlib を指定した場合と同じです。
メッセージを標準エラー出力に出力し、elfcompress のバージョンについての情報を表示します。
zlib-gnu 圧縮形式は名前が .debug で始まるセクションに制限されますが、デフォルトの zlib 圧縮形式は任意の名前のセクションに適用できます。–t zlib-gnu を指定して –n オプションを指定しない場合、名前が zlib-gnu 形式と互換性がない以前に圧縮されたセクションが圧縮解除されます。
% elfcompress file使用例 2 すべてのデバッグセクションの圧縮解除
% elfcompress -t none file使用例 3 GNU スタイル形式を使用して、.debug_info セクションを圧縮します
% elfcompress -t zlib-gnu -n .debug_info file
一時ファイル
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
ar(1), as(1), ld(1), mcs(1), strip(1), ar.h(3HEAD), elf(3ELF), zlib(3), a.out(4), attributes(5)
Oracle Solaris 11.3 リンカーとライブラリガイド