除了上述压缩格式,Oracle Solaris 链接编辑器还识别一种由 GNU 工具链使用的备用格式。此格式不采用节标志来表示压缩。而是用以 .zdebug 前缀开头的节名称标识包含压缩数据的节。GNU 样式的压缩节以以下压缩头结构开头:
typedef struct { uchar_t gch_magic[4]; uchar_t gch_size[8]; } Chdr_GNU;
用 4 字节魔数标识压缩算法。目前仅支持 ZLIB 压缩。ZLIB 压缩的 gch_magic 值如 Table 12–11 中所示。
未压缩数据的大小(字节),编码为 64 位 ELFDATA2MSB 大尾数整数值。
|