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'