In addition to the compression format discussed previously, the Oracle Solaris link-editor understands an alternative format used by the GNU tool chain. This format does not employ a section flag to indicate compression. Instead, a section name that starts with the .zdebug prefix identifies a section containing compressed data. GNU-style compressed sections start with the following compression header structure.
typedef struct { uchar_t gch_magic[4]; uchar_t gch_size[8]; } Chdr_GNU;
A 4-byte magic number identifying the compression algorithm. At this time, only ZLIB compression is supported. The values of gch_magic for ZLIB compression is as listed in Table 12–11.
The size in bytes of the uncompressed data, encoded as a 64-bit ELFDATA2MSB big endian integer value.
|