Oracle® Solaris 11.2 リンカーとライブラリガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

GNU 形式のセクション圧縮

Oracle Solaris リンカーは、前述の圧縮形式に加え、GNU ツールチェーンで使用される別の形式を認識します。この形式では、圧縮を示すセクションフラグは使用されません。代わりに、セクション名が .zdebug の接頭辞で始まっていれば、圧縮されたデータを含むセクションであることがわかります。GNU 形式の圧縮セクションは、次の圧縮ヘッダー構造から始まります。

typedef struct {
        uchar_t         gch_magic[4];
        uchar_t         gch_size[8];
} Chdr_GNU;
gch_magic

圧縮アルゴリズムを特定する 4 バイトのマジックナンバー。現時点では、ZLIB 圧縮だけがサポートされています。ZLIB 圧縮の gch_magic の値は、Table 12–11 に示すとおりです。

gch_size

64 ビット ELFDATA2MSB ビッグエンディアン整数値としてエンコードされた、圧縮解除後のデータのサイズ (単位: バイト)。

表 12-11  GNU ZLIB 圧縮、gch_magic
名前
gch_magic[0]
'Z'
gch_magic[1]
'L'
gch_magic[2]
'I'
gch_magic[3]
'B'