Go to the source code of this file.
|
| enum | {
SYMS_DwEhPtrEnc_TYPE_MASK = 0x0F
, SYMS_DwEhPtrEnc_PTR = 0x00
, SYMS_DwEhPtrEnc_ULEB128 = 0x01
, SYMS_DwEhPtrEnc_UDATA2 = 0x02
,
SYMS_DwEhPtrEnc_UDATA4 = 0x03
, SYMS_DwEhPtrEnc_UDATA8 = 0x04
, SYMS_DwEhPtrEnc_SIGNED = 0x08
, SYMS_DwEhPtrEnc_SLEB128 = 0x09
,
SYMS_DwEhPtrEnc_SDATA2 = 0x0A
, SYMS_DwEhPtrEnc_SDATA4 = 0x0B
, SYMS_DwEhPtrEnc_SDATA8 = 0x0C
} |
| |
| enum | {
SYMS_DwEhPtrEnc_MODIF_MASK = 0x70
, SYMS_DwEhPtrEnc_PCREL = 0x10
, SYMS_DwEhPtrEnc_TEXTREL = 0x20
, SYMS_DwEhPtrEnc_DATAREL = 0x30
,
SYMS_DwEhPtrEnc_FUNCREL = 0x40
, SYMS_DwEhPtrEnc_ALIGNED = 0x50
} |
| |
| enum | { SYMS_DwEhPtrEnc_INDIRECT = 0x80
, SYMS_DwEhPtrEnc_OMIT = 0xFF
} |
| |
| enum | SYMS_DwCFICFARule { SYMS_DwCFICFARule_REGOFF
, SYMS_DwCFICFARule_EXPR
} |
| |
| enum | SYMS_DwCFIRegisterRule {
SYMS_DwCFIRegisterRule_SAME_VALUE
, SYMS_DwCFIRegisterRule_UNDEFINED
, SYMS_DwCFIRegisterRule_OFFSET
, SYMS_DwCFIRegisterRule_VAL_OFFSET
,
SYMS_DwCFIRegisterRule_REGISTER
, SYMS_DwCFIRegisterRule_EXPRESSION
, SYMS_DwCFIRegisterRule_VAL_EXPRESSION
} |
| |
| enum | { SYMS_DwCFADecode_NOP = 0x0
, SYMS_DwCFADecode_ADDRESS = 0x9
, SYMS_DwCFADecode_ULEB128 = 0xA
, SYMS_DwCFADecode_SLEB128 = 0xB
} |
| |
| enum | {
SYMS_DwCFAControlBits_DEC1_MASK = 0x00F
, SYMS_DwCFAControlBits_DEC2_MASK = 0x0F0
, SYMS_DwCFAControlBits_IS_REG_0 = 0x100
, SYMS_DwCFAControlBits_IS_REG_1 = 0x200
,
SYMS_DwCFAControlBits_IS_REG_2 = 0x400
, SYMS_DwCFAControlBits_NEW_ROW = 0x800
} |
| |
|
| SYMS_API SYMS_UnwindResult | syms_unwind_elf_x64 (SYMS_String8 bin_data, SYMS_ElfBinAccel *bin, SYMS_U64 bin_base, SYMS_MemoryView *memview, SYMS_U64 stack_pointer, SYMS_DwRegsX64 *regs_in_out) |
| |
| SYMS_API SYMS_UnwindResult | syms_unwind_elf_x64__apply_rules (SYMS_String8 bin_data, SYMS_DwCFIRow *row, SYMS_U64 text_base_vaddr, SYMS_MemoryView *memview, SYMS_U64 stack_pointer, SYMS_DwRegsX64 *regs_in_out) |
| |
| SYMS_API void | syms_unwind_elf_x64__init (void) |
| |
| SYMS_API SYMS_U64 | syms_unwind_elf_x64__parse_pointer (void *base, SYMS_U64Range range, SYMS_DwEhPtrCtx *ptr_ctx, SYMS_DwEhPtrEnc ptr_enc, SYMS_U64 off, SYMS_U64 *ptr_out) |
| |
| SYMS_API void | syms_unwind_elf_x64__eh_frame_parse_cie (void *base, SYMS_U64Range range, SYMS_DwEhPtrCtx *ptr_ctx, SYMS_U64 off, SYMS_DwCIEUnpacked *cie_out) |
| |
| SYMS_API void | syms_unwind_elf_x64__eh_frame_parse_fde (void *base, SYMS_U64Range range, SYMS_DwEhPtrCtx *ptr_ctx, SYMS_DwCIEUnpacked *parent_cie, SYMS_U64 off, SYMS_DwFDEUnpacked *fde_out) |
| |
| SYMS_API SYMS_DwCFIRecords | syms_unwind_elf_x64__eh_frame_cfi_from_ip__sloppy (void *base, SYMS_U64Range range, SYMS_DwEhPtrCtx *ptr_ctx, SYMS_U64 ip_voff) |
| |
| SYMS_API SYMS_DwCFIRecords | syms_unwind_elf_x64__eh_frame_hdr_from_ip (void *base, SYMS_U64Range eh_frame_hdr_range, SYMS_U64Range eh_frame_range, SYMS_DwEhPtrCtx *ptr_ctx, SYMS_U64 ip_voff) |
| |
| SYMS_API SYMS_DwCFIMachine | syms_unwind_elf_x64__machine_make (SYMS_U64 cells_per_row, SYMS_DwCIEUnpacked *cie, SYMS_DwEhPtrCtx *ptr_ctx) |
| |
| SYMS_API void | syms_unwind_elf_x64__machine_equip_initial_row (SYMS_DwCFIMachine *machine, SYMS_DwCFIRow *initial_row) |
| |
| SYMS_API void | syms_unwind_elf_x64__machine_equip_fde_ip (SYMS_DwCFIMachine *machine, SYMS_U64 fde_ip) |
| |
| SYMS_API SYMS_DwCFIRow * | syms_unwind_elf_x64__row_alloc (SYMS_Arena *arena, SYMS_U64 cells_per_row) |
| |
| SYMS_API void | syms_unwind_elf_x64__row_zero (SYMS_DwCFIRow *row, SYMS_U64 cells_per_row) |
| |
| SYMS_API void | syms_unwind_elf_x64__row_copy (SYMS_DwCFIRow *dst, SYMS_DwCFIRow *src, SYMS_U64 cells_per_row) |
| |
| SYMS_API SYMS_B32 | syms_unwind_elf_x64__machine_run_to_ip (void *base, SYMS_U64Range range, SYMS_DwCFIMachine *machine, SYMS_U64 target_ip, SYMS_DwCFIRow *row_out) |
| |
◆ SYMS_UNWIND_ELF_X64__REG_SLOT_COUNT
| #define SYMS_UNWIND_ELF_X64__REG_SLOT_COUNT 17 |
◆ SYMS_DwCFAControlBits
◆ SYMS_DwCFADecode
◆ SYMS_DwCFICell
◆ SYMS_DwCFICFACell
◆ SYMS_DwCFICFARule
◆ SYMS_DwCFIMachine
◆ SYMS_DwCFIRecords
◆ SYMS_DwCFIRegisterRule
◆ SYMS_DwCFIRow
◆ SYMS_DwCIEUnpacked
◆ SYMS_DwCIEUnpackedNode
◆ SYMS_DwEhPtrCtx
◆ SYMS_DwEhPtrEnc
◆ SYMS_DwFDEUnpacked
◆ anonymous enum
| Enumerator |
|---|
| SYMS_DwEhPtrEnc_TYPE_MASK | |
| SYMS_DwEhPtrEnc_PTR | |
| SYMS_DwEhPtrEnc_ULEB128 | |
| SYMS_DwEhPtrEnc_UDATA2 | |
| SYMS_DwEhPtrEnc_UDATA4 | |
| SYMS_DwEhPtrEnc_UDATA8 | |
| SYMS_DwEhPtrEnc_SIGNED | |
| SYMS_DwEhPtrEnc_SLEB128 | |
| SYMS_DwEhPtrEnc_SDATA2 | |
| SYMS_DwEhPtrEnc_SDATA4 | |
| SYMS_DwEhPtrEnc_SDATA8 | |
◆ anonymous enum
| Enumerator |
|---|
| SYMS_DwEhPtrEnc_MODIF_MASK | |
| SYMS_DwEhPtrEnc_PCREL | |
| SYMS_DwEhPtrEnc_TEXTREL | |
| SYMS_DwEhPtrEnc_DATAREL | |
| SYMS_DwEhPtrEnc_FUNCREL | |
| SYMS_DwEhPtrEnc_ALIGNED | |
◆ anonymous enum
| Enumerator |
|---|
| SYMS_DwEhPtrEnc_INDIRECT | |
| SYMS_DwEhPtrEnc_OMIT | |
◆ anonymous enum
| Enumerator |
|---|
| SYMS_DwCFADecode_NOP | |
| SYMS_DwCFADecode_ADDRESS | |
| SYMS_DwCFADecode_ULEB128 | |
| SYMS_DwCFADecode_SLEB128 | |
◆ anonymous enum
| Enumerator |
|---|
| SYMS_DwCFAControlBits_DEC1_MASK | |
| SYMS_DwCFAControlBits_DEC2_MASK | |
| SYMS_DwCFAControlBits_IS_REG_0 | |
| SYMS_DwCFAControlBits_IS_REG_1 | |
| SYMS_DwCFAControlBits_IS_REG_2 | |
| SYMS_DwCFAControlBits_NEW_ROW | |
◆ SYMS_DwCFICFARule
| Enumerator |
|---|
| SYMS_DwCFICFARule_REGOFF | |
| SYMS_DwCFICFARule_EXPR | |
◆ SYMS_DwCFIRegisterRule
| Enumerator |
|---|
| SYMS_DwCFIRegisterRule_SAME_VALUE | |
| SYMS_DwCFIRegisterRule_UNDEFINED | |
| SYMS_DwCFIRegisterRule_OFFSET | |
| SYMS_DwCFIRegisterRule_VAL_OFFSET | |
| SYMS_DwCFIRegisterRule_REGISTER | |
| SYMS_DwCFIRegisterRule_EXPRESSION | |
| SYMS_DwCFIRegisterRule_VAL_EXPRESSION | |
◆ syms_unwind_elf_x64()
◆ syms_unwind_elf_x64__apply_rules()
◆ syms_unwind_elf_x64__eh_frame_cfi_from_ip__sloppy()
◆ syms_unwind_elf_x64__eh_frame_hdr_from_ip()
◆ syms_unwind_elf_x64__eh_frame_parse_cie()
◆ syms_unwind_elf_x64__eh_frame_parse_fde()
◆ syms_unwind_elf_x64__init()
◆ syms_unwind_elf_x64__machine_equip_fde_ip()
◆ syms_unwind_elf_x64__machine_equip_initial_row()
◆ syms_unwind_elf_x64__machine_make()
◆ syms_unwind_elf_x64__machine_run_to_ip()
◆ syms_unwind_elf_x64__parse_pointer()
◆ syms_unwind_elf_x64__row_alloc()
◆ syms_unwind_elf_x64__row_copy()
◆ syms_unwind_elf_x64__row_zero()
◆ syms_unwind_elf__cfa_control_bits_kind1
◆ syms_unwind_elf__cfa_control_bits_kind2