Module cfi

Source

StructsΒ§

Augmentation
We support the z-style augmentation defined by .eh_frame.
AugmentationData πŸ”’
Parsed augmentation data for a FrameDescriptEntry.
BaseAddresses
Optional base addresses for the relative DW_EH_PE_* encoded pointers.
CallFrameInstructionIter
A lazy iterator parsing call frame instructions.
CfiEntriesIter
An iterator over CIE and FDE entries in a .debug_frame or .eh_frame section.
CommonInformationEntry
A Common Information Entry holds information that is shared among many Frame Description Entries. There is at least one CIE in every non-empty .debug_frame section.
DebugFrame
DebugFrame contains the .debug_frame section’s frame unwinding information required to unwind to and recover registers from older frames on the stack. For example, this is useful for a debugger that wants to print locals in a backtrace.
EhFrame
EhFrame contains the frame unwinding information needed during exception handling found in the .eh_frame section.
EhFrameHdr
EhFrameHdr contains the information about the .eh_frame_hdr section.
EhHdrTable
The CFI binary search table that is an optional part of the .eh_frame_hdr section.
EhHdrTableIter
An iterator for .eh_frame_hdr section’s binary search table.
FrameDescriptionEntry
A FrameDescriptionEntry is a set of CFA instructions for an address range.
ParsedEhFrameHdr
ParsedEhFrameHdr contains the parsed information from the .eh_frame_hdr section.
PartialFrameDescriptionEntry
A partially parsed FrameDescriptionEntry.
PointerEncodingParameters πŸ”’
RegisterRuleIter
An unordered iterator for register rules.
RegisterRuleMap πŸ”’
SectionBaseAddresses
Optional base addresses for the relative DW_EH_PE_* encoded pointers in a particular section.
UnwindContext
Common context needed when evaluating the call frame unwinding information.
UnwindExpression
The location of a DWARF expression within an unwind section.
UnwindTable
The UnwindTable iteratively evaluates a FrameDescriptionEntry’s CallFrameInstruction program, yielding the each row one at a time.
UnwindTableRow
A row in the virtual unwind table that describes how to find the values of the registers in the previous frame for a range of PC addresses.

EnumsΒ§

CallFrameInstruction
A parsed call frame instruction.
CfaRule
The canonical frame address (CFA) recovery rules.
CieOrFde
Either a CommonInformationEntry (CIE) or a FrameDescriptionEntry (FDE).
Pointer
A decoded pointer.
RegisterRule
An entry in the abstract CFI table that describes how to find the value of a register.

ConstantsΒ§

CFI_INSTRUCTION_HIGH_BITS_MASK πŸ”’
CFI_INSTRUCTION_LOW_BITS_MASK πŸ”’
MAX_RULES πŸ”’
MAX_UNWIND_STACK_DEPTH πŸ”’

TraitsΒ§

UnwindContextStorage
Specification of what storage should be used for UnwindContext.
UnwindOffset
An offset into an UnwindSection.
UnwindSection
A section holding unwind information: either .debug_frame or .eh_frame. See DebugFrame and EhFrame respectively.

FunctionsΒ§

parse_cfi_entry πŸ”’
parse_encoded_pointer πŸ”’
parse_encoded_value πŸ”’