The DWARF Exception Header Encoding is used to describe the type of data used
in the .eh_frame_hdr section. The upper 4
bits indicate how the value is to be applied. The lower 4 bits indicate the
format of the data.
Table 9-2. DWARF Exception Header value format
Name | Value | Meaning |
---|
DW_EH_PE_omit | 0xff | No value is present. |
DW_EH_PE_uleb128 | 0x01 | Unsigned value is encoded using the Little Endian Base 128 (LEB128)
as defined by DWARF Debugging Information Format. |
DW_EH_PE_udata2 | 0x02 | A 2 bytes unsigned value. |
DW_EH_PE_udata4 | 0x03 | A 4 bytes unsigned value. |
DW_EH_PE_udata8 | 0x04 | An 8 bytes unsigned value. |
DW_EH_PE_sleb128 | 0x09 | Signed value is encoded using the Little Endian Base 128 (LEB128)
as defined by DWARF Debugging Information Format. |
DW_EH_PE_sdata2 | 0x0A | A 2 bytes signed value. |
DW_EH_PE_sdata4 | 0x0B | A 4 bytes signed value. |
DW_EH_PE_sdata8 | 0x0C | An 8 bytes signed value. |
Table 9-3. DWARF Exception Header application
Name | Value | Meaning |
---|
DW_EH_PE_absptr | 0x00 | Value is used with no modification. |
DW_EH_PE_pcrel | 0x10 | Value is reletive to the current program counter. |
DW_EH_PE_datarel | 0x30 | Value is reletive to the beginning of the .eh_frame_hdr section. |
DW_EH_PE_omit | 0xff | No value is present. |