LLDB mainline
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::ArmUnwindInfo Class Reference

#include <ArmUnwindInfo.h>

Classes

struct  ArmExidxEntry
 

Public Member Functions

 ArmUnwindInfo (ObjectFile &objfile, lldb::SectionSP &arm_exidx, lldb::SectionSP &arm_extab)
 
 ~ArmUnwindInfo ()
 
bool GetUnwindPlan (Target &target, const Address &addr, UnwindPlan &unwind_plan)
 

Private Member Functions

const uint8_t * GetExceptionHandlingTableEntry (const Address &addr)
 
uint8_t GetByteAtOffset (const uint32_t *data, uint16_t offset) const
 
uint64_t GetULEB128 (const uint32_t *data, uint16_t &offset, uint16_t max_offset) const
 

Private Attributes

const lldb::ByteOrder m_byte_order
 
lldb::SectionSP m_arm_exidx_sp
 
lldb::SectionSP m_arm_extab_sp
 
DataExtractor m_arm_exidx_data
 
DataExtractor m_arm_extab_data
 
std::vector< ArmExidxEntrym_exidx_entries
 

Detailed Description

Definition at line 30 of file ArmUnwindInfo.h.

Constructor & Destructor Documentation

◆ ArmUnwindInfo()

ArmUnwindInfo::ArmUnwindInfo ( ObjectFile objfile,
lldb::SectionSP arm_exidx,
lldb::SectionSP arm_extab 
)

◆ ~ArmUnwindInfo()

ArmUnwindInfo::~ArmUnwindInfo ( )
default

Member Function Documentation

◆ GetByteAtOffset()

uint8_t ArmUnwindInfo::GetByteAtOffset ( const uint32_t *  data,
uint16_t  offset 
) const
private

Definition at line 77 of file ArmUnwindInfo.cpp.

References lldb_private::endian::InlHostByteOrder(), and m_byte_order.

Referenced by GetULEB128(), and GetUnwindPlan().

◆ GetExceptionHandlingTableEntry()

const uint8_t * ArmUnwindInfo::GetExceptionHandlingTableEntry ( const Address addr)
private

◆ GetULEB128()

uint64_t ArmUnwindInfo::GetULEB128 ( const uint32_t *  data,
uint16_t &  offset,
uint16_t  max_offset 
) const
private

Definition at line 85 of file ArmUnwindInfo.cpp.

References GetByteAtOffset().

Referenced by GetUnwindPlan().

◆ GetUnwindPlan()

bool ArmUnwindInfo::GetUnwindPlan ( Target target,
const Address addr,
UnwindPlan unwind_plan 
)

Member Data Documentation

◆ m_arm_exidx_data

DataExtractor lldb_private::ArmUnwindInfo::m_arm_exidx_data
private

Definition at line 61 of file ArmUnwindInfo.h.

Referenced by ArmUnwindInfo().

◆ m_arm_exidx_sp

lldb::SectionSP lldb_private::ArmUnwindInfo::m_arm_exidx_sp
private

Definition at line 59 of file ArmUnwindInfo.h.

Referenced by ArmUnwindInfo().

◆ m_arm_extab_data

DataExtractor lldb_private::ArmUnwindInfo::m_arm_extab_data
private

Definition at line 62 of file ArmUnwindInfo.h.

Referenced by ArmUnwindInfo(), and GetExceptionHandlingTableEntry().

◆ m_arm_extab_sp

lldb::SectionSP lldb_private::ArmUnwindInfo::m_arm_extab_sp
private

Definition at line 60 of file ArmUnwindInfo.h.

Referenced by GetExceptionHandlingTableEntry().

◆ m_byte_order

const lldb::ByteOrder lldb_private::ArmUnwindInfo::m_byte_order
private

Definition at line 58 of file ArmUnwindInfo.h.

Referenced by GetByteAtOffset().

◆ m_exidx_entries

std::vector<ArmExidxEntry> lldb_private::ArmUnwindInfo::m_exidx_entries
private

Definition at line 63 of file ArmUnwindInfo.h.

Referenced by ArmUnwindInfo(), and GetExceptionHandlingTableEntry().


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