Static Public Member Functions
dwarf4 Class Reference

Static Public Member Functions

static int64_t decode_sleb128 (char **addr)
 
static uint64_t decode_uleb128 (char **addr)
 
static void unwind (const fd_entry &fde, register_state *state=nullptr)
 

Detailed Description

Definition at line 346 of file dwarf4.h.

Member Function Documentation

◆ decode_sleb128()

int64_t dwarf4::decode_sleb128 ( char **  addr)
static

Decode Signed LEB128

Decodes a signed LEB128 compressed number that is stored at addr, and more addr forward by the number of bytes that were used to store the compressed number (which varies).

Parameters
addrthe address of the compressed number
Returns
the resulting decompressed number.

Definition at line 1622 of file dwarf4.cpp.

◆ decode_uleb128()

uint64_t dwarf4::decode_uleb128 ( char **  addr)
static

Decode Unsigned LEB128

Decodes a unsigned LEB128 compressed number that is stored at addr, and more addr forward by the number of bytes that were used to store the compressed number (which varies).

Parameters
addrthe address of the compressed number
Returns
the resulting decompressed number.

Definition at line 1644 of file dwarf4.cpp.

◆ unwind()

void dwarf4::unwind ( const fd_entry fde,
register_state state = nullptr 
)
static

Unwind the Stack

Given information stored in a Frame Description Entry (FDE), and the current state of the register, this function unwinds the stack, storing the resulting instruction pointer, stack pointer, and restored register state, back into the state variable. If this FDE describes the CFA that contains the "catch" block that we care about, this new state can be used to "jump" back.

Parameters
fdethe FDE that describes the CFA pointed to in the state
statethe current state of the registers

Definition at line 1668 of file dwarf4.cpp.


The documentation for this class was generated from the following files: