LLDB mainline
|
#include <SectionLoadList.h>
Public Member Functions | |
SectionLoadList ()=default | |
SectionLoadList (const SectionLoadList &rhs) | |
~SectionLoadList () | |
void | operator= (const SectionLoadList &rhs) |
bool | IsEmpty () const |
void | Clear () |
lldb::addr_t | GetSectionLoadAddress (const lldb::SectionSP §ion_sp) const |
bool | ResolveLoadAddress (lldb::addr_t load_addr, Address &so_addr, bool allow_section_end=false) const |
bool | SetSectionLoadAddress (const lldb::SectionSP §ion_sp, lldb::addr_t load_addr, bool warn_multiple=false) |
bool | SetSectionUnloaded (const lldb::SectionSP §ion_sp, lldb::addr_t load_addr) |
size_t | SetSectionUnloaded (const lldb::SectionSP §ion_sp) |
void | Dump (Stream &s, Target *target) |
Protected Types | |
typedef std::map< lldb::addr_t, lldb::SectionSP > | addr_to_sect_collection |
typedef llvm::DenseMap< const Section *, lldb::addr_t > | sect_to_addr_collection |
Protected Attributes | |
addr_to_sect_collection | m_addr_to_sect |
sect_to_addr_collection | m_sect_to_addr |
std::recursive_mutex | m_mutex |
Definition at line 22 of file SectionLoadList.h.
|
protected |
Definition at line 64 of file SectionLoadList.h.
|
protected |
Definition at line 65 of file SectionLoadList.h.
|
default |
SectionLoadList::SectionLoadList | ( | const SectionLoadList & | rhs | ) |
Definition at line 23 of file SectionLoadList.cpp.
References m_addr_to_sect, m_mutex, and m_sect_to_addr.
|
inline |
Definition at line 29 of file SectionLoadList.h.
References Clear().
void SectionLoadList::Clear | ( | ) |
Definition at line 43 of file SectionLoadList.cpp.
References m_addr_to_sect, m_mutex, and m_sect_to_addr.
Referenced by DynamicLoaderMacOS::NotifyBreakpointHit(), and ~SectionLoadList().
Definition at line 260 of file SectionLoadList.cpp.
References lldb_private::Stream::AsRawOstream(), lldb_private::Stream::GetIndentLevel(), m_addr_to_sect, m_mutex, and lldb_private::Stream::Printf().
Referenced by CommandObjectTargetDumpSectionLoadList::DoExecute().
addr_t SectionLoadList::GetSectionLoadAddress | ( | const lldb::SectionSP & | section_sp | ) | const |
Definition at line 50 of file SectionLoadList.cpp.
References LLDB_INVALID_ADDRESS, m_mutex, and m_sect_to_addr.
Referenced by lldb_private::minidump::ProcessMinidump::BuildMemoryRegions(), lldb_private::ObjectFile::GetLoadableData(), lldb_private::Section::GetLoadBaseAddress(), lldb_private::SectionLoadHistory::GetSectionLoadAddress(), and DynamicLoaderStatic::LoadAllImagesAtFileAddresses().
bool SectionLoadList::IsEmpty | ( | ) | const |
Definition at line 38 of file SectionLoadList.cpp.
References m_addr_to_sect, and m_mutex.
Referenced by BuildModulesSection(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), CommandObjectSourceList::DoExecute(), lldb_private::SectionList::Dump(), DumpAddressAndContent(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), lldb_private::ArchitectureMips::GetBreakableLoadAddress(), lldb_private::CommandObjectDisassemble::GetContainingAddressRanges(), CommandObjectSourceInfo::GetSymbolContextsForAddress(), lldb_private::Value::GetValueAsData(), LookupAddressInModule(), CommandObjectTargetModulesList::PrintModule(), ReadAddress(), lldb_private::Target::ReadMemory(), lldb_private::Target::ReadPointerFromMemory(), ResolveAddress(), and DisassemblerLLVMC::SymbolLookup().
void SectionLoadList::operator= | ( | const SectionLoadList & | rhs | ) |
Definition at line 30 of file SectionLoadList.cpp.
References m_addr_to_sect, m_mutex, and m_sect_to_addr.
bool SectionLoadList::ResolveLoadAddress | ( | lldb::addr_t | load_addr, |
Address & | so_addr, | ||
bool | allow_section_end = false |
||
) | const |
Definition at line 219 of file SectionLoadList.cpp.
References lldb_private::Address::Clear(), m_addr_to_sect, and m_mutex.
Referenced by lldb_private::Target::CreateBreakpoint(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), CommandObjectSourceList::DoExecute(), CommandObjectTargetModulesShowUnwind::DoExecute(), lldb_private::ProcessTrace::DoReadMemory(), CommandObjectRegisterRead::DumpRegister(), lldb_private::BreakpointLocationList::FindByAddress(), lldb_private::CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(), lldb::SBBreakpoint::FindLocationByAddress(), lldb::SBBreakpoint::FindLocationIDByAddress(), lldb_private::CommandObjectDisassemble::GetContainingAddressRanges(), CommandObjectSourceInfo::GetSymbolContextsForAddress(), lldb_private::Value::GetValueAsData(), lldb_private::ThreadPlanAssemblyTracer::Log(), LookupAddressInModule(), ReadAddress(), lldb_private::Target::ReadMemory(), lldb_private::Target::ReadPointerFromMemory(), ResolveAddress(), lldb_private::SectionLoadHistory::ResolveLoadAddress(), lldb_private::Address::SetLoadAddress(), lldb_private::ThreadPlanStepInRange::ShouldStop(), and DisassemblerLLVMC::SymbolLookup().
bool SectionLoadList::SetSectionLoadAddress | ( | const lldb::SectionSP & | section_sp, |
lldb::addr_t | load_addr, | ||
bool | warn_multiple = false |
||
) |
Definition at line 64 of file SectionLoadList.cpp.
References lldb_private::DynamicLoader, lldb_private::GetLog(), LLDB_LOGF, LLDB_LOGV, m_addr_to_sect, m_mutex, and m_sect_to_addr.
Referenced by CommandObjectTargetModulesLoad::DoExecute(), lldb_private::ObjectFileJIT::SetLoadAddress(), ObjectFileELF::SetLoadAddress(), ObjectFileMachO::SetLoadAddress(), ObjectFilePECOFF::SetLoadAddress(), ObjectFilePlaceholder::SetLoadAddress(), and lldb_private::SectionLoadHistory::SetSectionLoadAddress().
size_t SectionLoadList::SetSectionUnloaded | ( | const lldb::SectionSP & | section_sp | ) |
Definition at line 146 of file SectionLoadList.cpp.
References lldb_private::DynamicLoader, lldb_private::GetLog(), lldb_private::FileSpec::GetPath(), lldb_private::Log::GetVerbose(), LLDB_LOGF, m_addr_to_sect, m_mutex, and m_sect_to_addr.
bool SectionLoadList::SetSectionUnloaded | ( | const lldb::SectionSP & | section_sp, |
lldb::addr_t | load_addr | ||
) |
Definition at line 183 of file SectionLoadList.cpp.
References lldb_private::DynamicLoader, lldb_private::GetLog(), lldb_private::FileSpec::GetPath(), lldb_private::Log::GetVerbose(), LLDB_LOGF, m_addr_to_sect, m_mutex, and m_sect_to_addr.
Referenced by JITLoaderGDB::ReadJITDescriptorImpl(), and lldb_private::SectionLoadHistory::SetSectionUnloaded().
|
protected |
Definition at line 66 of file SectionLoadList.h.
Referenced by Clear(), Dump(), IsEmpty(), operator=(), ResolveLoadAddress(), SectionLoadList(), SetSectionLoadAddress(), and SetSectionUnloaded().
|
mutableprotected |
Definition at line 68 of file SectionLoadList.h.
Referenced by Clear(), Dump(), GetSectionLoadAddress(), IsEmpty(), operator=(), ResolveLoadAddress(), SectionLoadList(), SetSectionLoadAddress(), and SetSectionUnloaded().
|
protected |
Definition at line 67 of file SectionLoadList.h.
Referenced by Clear(), GetSectionLoadAddress(), operator=(), SectionLoadList(), SetSectionLoadAddress(), and SetSectionUnloaded().