class CfiParser
Defined at line 21 of file ../../src/lib/unwinder/cfi_parser.h
Parse the call frame instructions to get the locations of CFA and registers.
Public Methods
void Snapshot ()
Helper for DW_CFA_restore. This function should be called after CIE instructions are parsed but
before the FDE instructions are parsed.
Defined at line 33 of file ../../src/lib/unwinder/cfi_parser.h
void CfiParser (Registers::Archarch,Module::AddressSizesize,uint64_tcode_alignment_factor,int64_tdata_alignment_factor)
arch is needed to default initialize register_locations_.
Defined at line 38 of file ../../src/lib/unwinder/cfi_parser.cc
Error ParseInstructions (Memory *elf,uint64_tinstructions_begin,uint64_tinstructions_end,uint64_tpc_limit)
Parse the CFA instructions until the (relative) pc reaches pc_limit.
Defined at line 137 of file ../../src/lib/unwinder/cfi_parser.cc
Error Step (Memory *stack,RegisterIDreturn_address_register,const Registers ¤t,Registers &next,std::optional<uint64_t>maybe_cfa)
Apply the frame info to unwind one frame. |maybe_cfa| can be supplied if |PrepareToStep| has
been called before this function, which is typically the case of the |AsyncStep| function
before fetching necessary memory ahead of calling this synchronous method.
Defined at line 470 of file ../../src/lib/unwinder/cfi_parser.cc
void AsyncStep (AsyncMemory *stack,RegisterIDreturn_address_register,const Registers ¤t,fit::callback<void (Error, Registers)>cb)
Defined at line 560 of file ../../src/lib/unwinder/cfi_parser.cc