LLDB mainline
|
#include <DynamicLoaderDarwin.h>
Classes | |
struct | ImageInfo |
class | Segment |
Public Member Functions | |
DynamicLoaderDarwin (lldb_private::Process *process) | |
~DynamicLoaderDarwin () override | |
void | DidAttach () override |
Called after attaching a process. | |
void | DidLaunch () override |
Called after attaching a process. | |
lldb::ThreadPlanSP | GetStepThroughTrampolinePlan (lldb_private::Thread &thread, bool stop_others) override |
Provides a plan to step through the dynamic loader trampoline for the current state of thread. | |
void | FindEquivalentSymbols (lldb_private::Symbol *original_symbol, lldb_private::ModuleList &module_list, lldb_private::SymbolContextList &equivalent_symbols) override |
Some dynamic loaders provide features where there are a group of symbols "equivalent to" a given symbol one of which will be chosen when the symbol is bound. | |
lldb::addr_t | GetThreadLocalData (const lldb::ModuleSP module, const lldb::ThreadSP thread, lldb::addr_t tls_file_addr) override |
Retrieves the per-module TLS block for a given thread. | |
bool | AlwaysRelyOnEHUnwindInfo (lldb_private::SymbolContext &sym_ctx) override |
Ask if the eh_frame information for the given SymbolContext should be relied on even when it's the first frame in a stack unwind. | |
virtual void | DoInitialImageFetch ()=0 |
virtual bool | NeedToDoInitialImageFetch ()=0 |
std::optional< lldb_private::Address > | GetStartAddress () override |
Return the start address in the dynamic loader module. | |
Public Member Functions inherited from lldb_private::DynamicLoader | |
DynamicLoader (Process *process) | |
Construct with a process. | |
virtual void | DidAttach ()=0 |
Called after attaching a process. | |
virtual void | DidLaunch ()=0 |
Called after launching a process. | |
virtual bool | ProcessDidExec () |
Helper function that can be used to detect when a process has called exec and is now a new and different process. | |
bool | GetStopWhenImagesChange () const |
Get whether the process should stop when images change. | |
void | SetStopWhenImagesChange (bool stop) |
Set whether the process should stop when images change. | |
virtual lldb::ThreadPlanSP | GetStepThroughTrampolinePlan (Thread &thread, bool stop_others)=0 |
Provides a plan to step through the dynamic loader trampoline for the current state of thread. | |
virtual void | FindEquivalentSymbols (Symbol *original_symbol, ModuleList &module_list, SymbolContextList &equivalent_symbols) |
Some dynamic loaders provide features where there are a group of symbols "equivalent to" a given symbol one of which will be chosen when the symbol is bound. | |
virtual Status | CanLoadImage ()=0 |
Ask if it is ok to try and load or unload an shared library (image). | |
virtual bool | AlwaysRelyOnEHUnwindInfo (SymbolContext &sym_ctx) |
Ask if the eh_frame information for the given SymbolContext should be relied on even when it's the first frame in a stack unwind. | |
virtual lldb::addr_t | GetThreadLocalData (const lldb::ModuleSP module, const lldb::ThreadSP thread, lldb::addr_t tls_file_addr) |
Retrieves the per-module TLS block for a given thread. | |
virtual lldb::ModuleSP | LoadModuleAtAddress (const lldb_private::FileSpec &file, lldb::addr_t link_map_addr, lldb::addr_t base_addr, bool base_addr_is_offset) |
Locates or creates a module given by file and updates/loads the resulting module at the virtual base address base_addr . | |
virtual bool | GetSharedCacheInformation (lldb::addr_t &base_address, UUID &uuid, LazyBool &using_shared_cache, LazyBool &private_shared_cache) |
Get information about the shared cache for a process, if possible. | |
virtual bool | IsFullyInitialized () |
Return whether the dynamic loader is fully initialized and it's safe to call its APIs. | |
virtual std::optional< lldb_private::Address > | GetStartAddress () |
Return the start address in the dynamic loader module. | |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Protected Types | |
typedef std::map< uint64_t, lldb::addr_t > | PthreadKeyToTLSMap |
typedef std::map< lldb::user_id_t, PthreadKeyToTLSMap > | ThreadIDToTLSMap |
Static Protected Member Functions | |
static bool | UseDYLDSPI (lldb_private::Process *process) |
Protected Attributes | |
lldb::ModuleWP | m_dyld_module_wp |
lldb::ModuleWP | m_libpthread_module_wp |
lldb_private::Address | m_pthread_getspecific_addr |
ThreadIDToTLSMap | m_tid_to_tls_map |
ImageInfo::collection | m_dyld_image_infos |
uint32_t | m_dyld_image_infos_stop_id |
ImageInfo | m_dyld |
std::recursive_mutex | m_mutex |
Protected Attributes inherited from lldb_private::DynamicLoader | |
Process * | m_process |
The process that this dynamic loader plug-in is tracking. | |
Private Member Functions | |
DynamicLoaderDarwin (const DynamicLoaderDarwin &)=delete | |
const DynamicLoaderDarwin & | operator= (const DynamicLoaderDarwin &)=delete |
Additional Inherited Members | |
Static Public Member Functions inherited from lldb_private::DynamicLoader | |
static DynamicLoader * | FindPlugin (Process *process, llvm::StringRef plugin_name) |
Find a dynamic loader plugin for a given process. | |
static lldb::ModuleSP | LoadBinaryWithUUIDAndAddress (Process *process, llvm::StringRef name, UUID uuid, lldb::addr_t value, bool value_is_offset, bool force_symbol_search, bool notify, bool set_address_in_target, bool allow_memory_image_last_resort) |
Find/load a binary into lldb given a UUID and the address where it is loaded in memory, or a slide to be applied to the file address. | |
Definition at line 27 of file DynamicLoaderDarwin.h.
|
protected |
Definition at line 191 of file DynamicLoaderDarwin.h.
|
protected |
Definition at line 192 of file DynamicLoaderDarwin.h.
DynamicLoaderDarwin::DynamicLoaderDarwin | ( | lldb_private::Process * | process | ) |
Definition at line 52 of file DynamicLoaderDarwin.cpp.
|
overridedefault |
|
privatedelete |
|
protected |
|
protected |
Definition at line 643 of file DynamicLoaderDarwin.cpp.
References lldb_private::ModuleList::Append(), lldb_private::ModuleList::AppendIfNeeded(), lldb_private::DynamicLoader, lldb_private::ModuleList::FindFirstModule(), lldb_private::SectionList::FindSectionByName(), FindTargetModuleForImageInfo(), lldb_private::ObjectFile::GetByteSize(), lldb_private::Section::GetFileOffset(), lldb_private::ObjectFile::GetFileOffset(), lldb_private::ObjectFile::GetFileSpec(), lldb_private::Target::GetImages(), lldb_private::GetLog(), lldb_private::ModuleSpec::GetObjectName(), lldb_private::Target::GetOrCreateModule(), lldb_private::ObjectFile::GetSectionList(), lldb_private::ModuleList::GetSize(), lldb_private::Process::GetStopID(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), LLDB_LOGF, lldb_private::ModuleList::LogUUIDAndPaths(), m_dyld_image_infos, m_mutex, lldb_private::DynamicLoader::m_process, lldb_private::Target::ModulesDidLoad(), lldb_private::Process::ReadModuleFromMemory(), lldb_private::ModuleSpec::SetObjectOffset(), lldb_private::ModuleSpec::SetObjectSize(), and UpdateImageLoadAddress().
Referenced by DynamicLoaderMacOS::AddBinaries(), DynamicLoaderMacOSXDYLD::AddModulesUsingImageInfosAddress(), and DynamicLoaderMacOS::DoInitialImageFetch().
|
overridevirtual |
Ask if the eh_frame information for the given SymbolContext should be relied on even when it's the first frame in a stack unwind.
The CFI instructions from the eh_frame section are normally only valid at call sites – places where a program could throw an exception and need to unwind out. But some Modules may be known to the system as having reliable eh_frame information at all call sites. This would be the case if the Module's contents are largely hand-written assembly with hand-written eh_frame information. Normally when unwinding from a function at the beginning of a stack unwind lldb will examine the assembly instructions to understand how the stack frame is set up and where saved registers are stored. But with hand-written assembly this is not reliable enough – we need to consult those function's hand-written eh_frame information.
Reimplemented from lldb_private::DynamicLoader.
Definition at line 750 of file DynamicLoaderDarwin.cpp.
References lldb_private::SymbolContext::function, lldb_private::ObjCLanguageRuntime::Get(), lldb_private::Function::GetAddressRange(), lldb_private::Symbol::GetAddressRef(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::Address::GetModule(), lldb_private::ObjCLanguageRuntime::IsModuleObjCLibrary(), lldb_private::DynamicLoader::m_process, and lldb_private::SymbolContext::symbol.
|
protected |
Definition at line 81 of file DynamicLoaderDarwin.cpp.
References lldb_private::DynamicLoaderDarwin::ImageInfo::Clear(), m_dyld, m_dyld_image_infos, m_dyld_image_infos_stop_id, m_mutex, lldb_private::DynamicLoader::m_process, and UINT32_MAX.
Referenced by PrivateInitialize(), and PrivateProcessStateChanged().
|
protected |
Definition at line 641 of file DynamicLoaderDarwin.cpp.
References m_dyld_module_wp.
Referenced by DynamicLoaderMacOS::NotifyBreakpointHit().
|
protectedpure virtual |
Implemented in DynamicLoaderMacOS, and DynamicLoaderMacOSXDYLD.
|
overridevirtual |
Called after attaching a process.
Allow DynamicLoader plug-ins to execute some code after attaching to a process.
Implements lldb_private::DynamicLoader.
Definition at line 64 of file DynamicLoaderDarwin.cpp.
References DoInitialImageFetch(), lldb_private::DynamicLoader::m_process, PrivateInitialize(), and SetNotificationBreakpoint().
|
overridevirtual |
Called after attaching a process.
Allow DynamicLoader plug-ins to execute some code after attaching to a process.
Implements lldb_private::DynamicLoader.
Definition at line 74 of file DynamicLoaderDarwin.cpp.
References DoInitialImageFetch(), lldb_private::DynamicLoader::m_process, PrivateInitialize(), and SetNotificationBreakpoint().
|
protectedpure virtual |
Implemented in DynamicLoaderMacOS, and DynamicLoaderMacOSXDYLD.
Referenced by PrivateProcessStateChanged().
|
protectedpure virtual |
Implemented in DynamicLoaderMacOS, and DynamicLoaderMacOSXDYLD.
|
pure virtual |
Implemented in DynamicLoaderMacOS, and DynamicLoaderMacOSXDYLD.
Referenced by DidAttach(), DidLaunch(), and PrivateProcessStateChanged().
|
overridevirtual |
Some dynamic loaders provide features where there are a group of symbols "equivalent to" a given symbol one of which will be chosen when the symbol is bound.
If you want to set a breakpoint on one of these symbols, you really need to set it on all the equivalent symbols.
[in] | original_symbol | The symbol for which we are finding equivalences. |
[in] | module_list | The set of modules in which to search. |
[out] | equivalent_symbols | The equivalent symbol list - any equivalent symbols found are appended to this list. |
Reimplemented from lldb_private::DynamicLoader.
Definition at line 1007 of file DynamicLoaderDarwin.cpp.
References lldb_private::Mangled::ePreferMangled, lldb::eSymbolTypeCode, lldb_private::ModuleList::FindSymbolsMatchingRegExAndType(), lldb_private::ConstString::GetCString(), lldb_private::Symbol::GetMangled(), and lldb_private::Mangled::GetName().
|
protected |
Definition at line 90 of file DynamicLoaderDarwin.cpp.
References lldb_private::DynamicLoaderDarwin::ImageInfo::address, lldb_private::SharedCacheImageInfo::data_sp, lldb_private::DynamicLoaderDarwin::ImageInfo::file_spec, lldb_private::ModuleList::FindFirstModule(), lldb_private::ModuleSpec::GetArchitecture(), lldb_private::Target::GetArchitecture(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::Target::GetImages(), lldb_private::FileSystem::GetModificationTime(), lldb_private::Target::GetOrCreateModule(), lldb_private::FileSpec::GetPath(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), lldb_private::ModuleSpec::GetUUID(), lldb_private::FileSystem::Instance(), lldb_private::UUID::IsValid(), lldb_private::DynamicLoader::m_process, lldb_private::Process::ReadModuleFromMemory(), lldb_private::SharedCacheImageInfo::uuid, and lldb_private::DynamicLoaderDarwin::ImageInfo::uuid.
Referenced by AddModulesUsingImageInfos(), DynamicLoaderMacOSXDYLD::RemoveModulesUsingImageInfosAddress(), UpdateDYLDImageInfoFromNewImageInfo(), DynamicLoaderMacOSXDYLD::UpdateImageInfosHeaderAndLoadCommands(), and UpdateSpecialBinariesFromNewImageInfos().
|
protected |
Definition at line 636 of file DynamicLoaderDarwin.cpp.
References m_dyld_module_wp.
Referenced by GetStartAddress(), DynamicLoaderMacOSXDYLD::ReadDYLDInfoFromMemoryAndSetNotificationCallback(), DynamicLoaderMacOS::SetNotificationBreakpoint(), DynamicLoaderMacOSXDYLD::SetNotificationBreakpoint(), UnloadAllImages(), and DynamicLoaderMacOSXDYLD::UpdateImageInfosHeaderAndLoadCommands().
|
inlineprotected |
Definition at line 194 of file DynamicLoaderDarwin.h.
References m_mutex.
Referenced by DynamicLoaderMacOSXDYLD::AddModulesUsingImageInfosAddress(), DynamicLoaderMacOSXDYLD::AddrByteSize(), DynamicLoaderMacOSXDYLD::InitializeFromAllImageInfos(), DynamicLoaderMacOS::ProcessDidExec(), DynamicLoaderMacOSXDYLD::ProcessDidExec(), DynamicLoaderMacOSXDYLD::PutToLog(), DynamicLoaderMacOSXDYLD::ReadDYLDInfoFromMemoryAndSetNotificationCallback(), DynamicLoaderMacOSXDYLD::ReadImageInfos(), DynamicLoaderMacOSXDYLD::RemoveModulesUsingImageInfosAddress(), DynamicLoaderMacOSXDYLD::SetNotificationBreakpoint(), and DynamicLoaderMacOSXDYLD::UpdateImageInfosHeaderAndLoadCommands().
|
protected |
Definition at line 1026 of file DynamicLoaderDarwin.cpp.
References lldb_private::ModuleList::FindModules(), lldb_private::ModuleSpec::GetFileSpec(), lldb_private::Target::GetImages(), lldb_private::ModuleList::GetModuleAtIndex(), lldb_private::ModuleList::GetSize(), lldb_private::Process::GetTarget(), lldb_private::ModuleList::IsEmpty(), m_libpthread_module_wp, lldb_private::DynamicLoader::m_process, and lldb_private::FileSpec::SetFilename().
Referenced by GetPthreadSetSpecificAddress().
|
protected |
Definition at line 1045 of file DynamicLoaderDarwin.cpp.
References lldb::eSymbolTypeCode, lldb_private::Symbol::GetAddress(), lldb_private::SymbolContextList::GetContextAtIndex(), GetPThreadLibraryModule(), lldb_private::Address::IsValid(), m_pthread_getspecific_addr, and lldb_private::SymbolContext::symbol.
Referenced by GetThreadLocalData().
|
overridevirtual |
Return the start
address in the dynamic loader module.
This is the address the process will begin executing with process launch --stop-at-entry
.
Reimplemented from lldb_private::DynamicLoader.
Definition at line 612 of file DynamicLoaderDarwin.cpp.
References lldb_private::DynamicLoader, lldb_private::Symbol::GetAddress(), GetDYLDModule(), lldb_private::GetLog(), and LLDB_LOGV.
|
overridevirtual |
Provides a plan to step through the dynamic loader trampoline for the current state of thread.
[in] | stop_others | Whether the plan should be set to stop other threads. |
Implements lldb_private::DynamicLoader.
Definition at line 876 of file DynamicLoaderDarwin.cpp.
References lldb_private::Symbol::CalculateSymbolContextSymbol(), lldb_private::Thread::CalculateTarget(), lldb_private::Mangled::ePreferMangled, error(), lldb::eSymbolTypeCode, lldb::eSymbolTypeReExported, lldb::eSymbolTypeResolver, lldb_private::ModuleList::FindSymbolsWithNameAndType(), lldb_private::Symbol::GetAddress(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::ConstString::GetCString(), lldb_private::Address::GetLoadAddress(), lldb_private::GetLog(), lldb_private::Symbol::GetMangled(), lldb_private::Symbol::GetName(), lldb_private::Mangled::GetName(), lldb_private::Thread::GetProcess(), lldb_private::Thread::GetStackFrameAtIndex(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::Symbol::GetType(), lldb_private::Symbol::IsIndirect(), lldb_private::Symbol::IsTrampoline(), lldb_private::Address::IsValid(), LLDB_LOGF, lldb_private::Symbol::ResolveReExportedSymbol(), lldb_private::Step, and lldb_private::SymbolContext::symbol.
|
overridevirtual |
Retrieves the per-module TLS block for a given thread.
[in] | module | The module to query TLS data for. |
[in] | thread | The specific thread to query TLS data for. |
Reimplemented from lldb_private::DynamicLoader.
Definition at line 1063 of file DynamicLoaderDarwin.cpp.
References lldb::eBasicTypeVoid, lldb::eExpressionCompleted, error(), lldb_private::Process::FixCodeAddress(), lldb_private::DataExtractor::GetAddress(), lldb_private::Process::GetAddressByteSize(), lldb_private::Process::GetByteOrder(), lldb_private::ScratchTypeSystemClang::GetForTarget(), lldb_private::Address::GetLoadAddress(), lldb_private::CompilerType::GetPointerType(), GetPthreadSetSpecificAddress(), lldb_private::Process::GetTarget(), lldb_private::Address::IsValid(), LLDB_INVALID_ADDRESS, m_mutex, lldb_private::DynamicLoader::m_process, m_tid_to_tls_map, lldb_private::Target::ReadMemory(), lldb_private::Target::ResolveLoadAddress(), and lldb_private::Process::RunThreadPlan().
|
protected |
Definition at line 350 of file DynamicLoaderDarwin.cpp.
References lldb_private::DynamicLoaderDarwin::Segment::fileoff, lldb_private::DynamicLoaderDarwin::Segment::filesize, lldb_private::DynamicLoaderDarwin::Segment::flags, lldb_private::StructuredData::Object::GetAsDictionary(), lldb_private::StructuredData::Array::GetItemAtIndex(), lldb_private::StructuredData::Array::GetSize(), lldb_private::StructuredData::Dictionary::GetValueForKey(), lldb_private::StructuredData::Dictionary::HasKey(), lldb_private::DynamicLoaderDarwin::Segment::initprot, lldb_private::DynamicLoaderDarwin::Segment::maxprot, lldb_private::DynamicLoaderDarwin::Segment::name, lldb_private::DynamicLoaderDarwin::Segment::nsects, lldb_private::DynamicLoaderDarwin::Segment::vmaddr, and lldb_private::DynamicLoaderDarwin::Segment::vmsize.
Referenced by DynamicLoaderMacOS::AddBinaries(), DynamicLoaderMacOSXDYLD::AddModulesUsingImageInfosAddress(), and DynamicLoaderMacOS::DoInitialImageFetch().
|
pure virtual |
Implemented in DynamicLoaderMacOS, and DynamicLoaderMacOSXDYLD.
Referenced by PrivateProcessStateChanged().
|
privatedelete |
|
protected |
Definition at line 832 of file DynamicLoaderDarwin.cpp.
References Clear(), lldb_private::Target::ClearAllLoadedSections(), DEBUG_PRINTF, lldb_private::Process::GetState(), lldb_private::Process::GetTarget(), lldb_private::DynamicLoader::m_process, and lldb_private::StateAsCString().
Referenced by DidAttach(), and DidLaunch().
|
protected |
Definition at line 841 of file DynamicLoaderDarwin.cpp.
References Clear(), DEBUG_PRINTF, DidSetNotificationBreakpoint(), DoInitialImageFetch(), lldb::eStateAttaching, lldb::eStateConnected, lldb::eStateCrashed, lldb::eStateDetached, lldb::eStateExited, lldb::eStateInvalid, lldb::eStateLaunching, lldb::eStateRunning, lldb::eStateStepping, lldb::eStateStopped, lldb::eStateSuspended, lldb::eStateUnloaded, lldb_private::Process::IsAlive(), lldb_private::DynamicLoader::m_process, NeedToDoInitialImageFetch(), SetNotificationBreakpoint(), and lldb_private::StateAsCString().
|
protected |
Definition at line 632 of file DynamicLoaderDarwin.cpp.
References m_dyld_module_wp.
Referenced by DynamicLoaderMacOSXDYLD::ReadDYLDInfoFromMemoryAndSetNotificationCallback(), UpdateDYLDImageInfoFromNewImageInfo(), and UpdateSpecialBinariesFromNewImageInfos().
|
protectedpure virtual |
Implemented in DynamicLoaderMacOS, and DynamicLoaderMacOSXDYLD.
Referenced by DidAttach(), DidLaunch(), and PrivateProcessStateChanged().
|
protected |
Definition at line 206 of file DynamicLoaderDarwin.cpp.
References lldb_private::ModuleList::Append(), lldb_private::DynamicLoader, GetDYLDModule(), lldb_private::Target::GetImages(), lldb_private::GetLog(), lldb_private::ModuleList::GetMutex(), lldb_private::ModuleList::GetSize(), lldb_private::Process::GetStopID(), lldb_private::Process::GetTarget(), lldb_private::ModuleList::LogUUIDAndPaths(), m_dyld_image_infos, m_dyld_image_infos_stop_id, lldb_private::DynamicLoader::m_process, lldb_private::ModuleList::Modules(), lldb_private::Log::PutCString(), lldb_private::ModuleList::Remove(), and lldb_private::DynamicLoader::UnloadSections().
Referenced by DynamicLoaderMacOS::DoInitialImageFetch(), and DynamicLoaderMacOS::NotifyBreakpointHit().
|
protected |
Definition at line 158 of file DynamicLoaderDarwin.cpp.
References lldb_private::ModuleList::AppendIfNeeded(), lldb_private::DynamicLoader, lldb_private::Target::GetImages(), lldb_private::GetLog(), lldb_private::Address::GetModule(), lldb_private::Address::GetOffset(), lldb_private::ModuleList::GetSize(), lldb_private::Process::GetStopID(), lldb_private::Process::GetTarget(), LLDB_LOGF, lldb_private::ModuleList::LogUUIDAndPaths(), m_dyld_image_infos, m_dyld_image_infos_stop_id, m_mutex, lldb_private::DynamicLoader::m_process, lldb_private::Log::PutCString(), lldb_private::ModuleList::Remove(), lldb_private::Address::SetLoadAddress(), and lldb_private::DynamicLoader::UnloadSections().
Referenced by DynamicLoaderMacOS::NotifyBreakpointHit().
|
protected |
Definition at line 315 of file DynamicLoaderDarwin.cpp.
References lldb_private::SectionList::FindSectionByName(), lldb_private::ObjectFile::GetFileSpec(), lldb_private::Module::GetObjectFile(), lldb_private::FileSpec::GetPath(), lldb_private::ObjectFile::GetSectionList(), lldb_private::Process::GetTarget(), lldb_private::DynamicLoader::m_process, lldb_private::Debugger::ReportWarning(), lldb_private::DynamicLoaderDarwin::ImageInfo::segments, lldb_private::Target::SetSectionUnloaded(), and lldb_private::DynamicLoaderDarwin::ImageInfo::slide.
Referenced by DynamicLoaderMacOSXDYLD::RemoveModulesUsingImageInfosAddress().
|
protected |
Definition at line 597 of file DynamicLoaderDarwin.cpp.
References lldb_private::ModuleList::AppendIfNeeded(), FindTargetModuleForImageInfo(), lldb_private::Target::GetImages(), lldb_private::Process::GetTarget(), lldb_private::DynamicLoaderDarwin::ImageInfo::header, lldb_private::DynamicLoader::m_process, SetDYLDModule(), and UpdateImageLoadAddress().
Referenced by DynamicLoaderMacOSXDYLD::ReadDYLDInfoFromMemoryAndSetNotificationCallback().
|
protected |
Definition at line 238 of file DynamicLoaderDarwin.cpp.
References lldb_private::Process::AddInvalidMemoryRegion(), lldb_private::SectionList::FindSectionByName(), lldb_private::Module::GetObjectFile(), lldb_private::ObjectFile::GetSectionList(), lldb_private::Process::GetStopID(), lldb_private::Process::GetTarget(), lldb_private::DynamicLoaderDarwin::ImageInfo::load_stop_id, lldb_private::DynamicLoader::m_process, lldb_private::DynamicLoaderDarwin::ImageInfo::segments, lldb_private::Target::SetSectionLoadAddress(), and lldb_private::DynamicLoaderDarwin::ImageInfo::slide.
Referenced by AddModulesUsingImageInfos(), DynamicLoaderMacOSXDYLD::SetNotificationBreakpoint(), UpdateDYLDImageInfoFromNewImageInfo(), DynamicLoaderMacOSXDYLD::UpdateImageInfosHeaderAndLoadCommands(), and UpdateSpecialBinariesFromNewImageInfos().
|
protected |
Definition at line 520 of file DynamicLoaderDarwin.cpp.
References lldb_private::ModuleList::AppendIfNeeded(), lldb_private::DynamicLoader, lldb_private::eLoadDependentsNo, FindTargetModuleForImageInfo(), lldb_private::Target::GetArchitecture(), lldb_private::Target::GetExecutableModule(), lldb_private::Target::GetExecutableModulePointer(), lldb_private::Target::GetImages(), lldb_private::GetLog(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), LLDB_LOGF, lldb_private::DynamicLoader::m_process, lldb_private::Target::SetArchitecture(), SetDYLDModule(), lldb_private::Target::SetExecutableModule(), lldb_private::ArchSpec::SetTriple(), UINT32_MAX, and UpdateImageLoadAddress().
Referenced by DynamicLoaderMacOS::AddBinaries(), DynamicLoaderMacOSXDYLD::AddModulesUsingImageInfosAddress(), and DynamicLoaderMacOS::DoInitialImageFetch().
|
staticprotected |
Definition at line 1173 of file DynamicLoaderDarwin.cpp.
References lldb_private::DynamicLoader, lldb_private::Target::GetArchitecture(), lldb_private::Process::GetHostOSVersion(), lldb_private::GetLog(), lldb_private::Process::GetTarget(), lldb_private::ArchSpec::GetTriple(), and LLDB_LOGF.
Referenced by DynamicLoaderMacOS::CreateInstance().
|
protected |
Definition at line 235 of file DynamicLoaderDarwin.h.
Referenced by DynamicLoaderMacOSXDYLD::AddrByteSize(), Clear(), DynamicLoaderMacOSXDYLD::ProcessDidExec(), DynamicLoaderMacOSXDYLD::ReadDYLDInfoFromMemoryAndSetNotificationCallback(), DynamicLoaderMacOSXDYLD::ReadImageInfos(), DynamicLoaderMacOSXDYLD::SetNotificationBreakpoint(), and DynamicLoaderMacOSXDYLD::UpdateImageInfosHeaderAndLoadCommands().
|
protected |
Definition at line 232 of file DynamicLoaderDarwin.h.
Referenced by AddModulesUsingImageInfos(), Clear(), DynamicLoaderMacOSXDYLD::InitializeFromAllImageInfos(), DynamicLoaderMacOSXDYLD::PutToLog(), DynamicLoaderMacOSXDYLD::RemoveModulesUsingImageInfosAddress(), UnloadAllImages(), and UnloadImages().
|
protected |
Definition at line 233 of file DynamicLoaderDarwin.h.
Referenced by DynamicLoaderMacOS::AddBinaries(), DynamicLoaderMacOSXDYLD::AddModulesUsingImageInfosAddress(), Clear(), DynamicLoaderMacOS::DoInitialImageFetch(), DynamicLoaderMacOSXDYLD::InitializeFromAllImageInfos(), DynamicLoaderMacOSXDYLD::RemoveModulesUsingImageInfosAddress(), UnloadAllImages(), and UnloadImages().
|
protected |
Definition at line 226 of file DynamicLoaderDarwin.h.
Referenced by ClearDYLDModule(), GetDYLDModule(), and SetDYLDModule().
|
protected |
Definition at line 228 of file DynamicLoaderDarwin.h.
Referenced by GetPThreadLibraryModule(), DynamicLoaderMacOS::ProcessDidExec(), and DynamicLoaderMacOSXDYLD::ProcessDidExec().
|
mutableprotected |
Definition at line 236 of file DynamicLoaderDarwin.h.
Referenced by AddModulesUsingImageInfos(), Clear(), GetMutex(), GetThreadLocalData(), and UnloadImages().
|
protected |
Definition at line 229 of file DynamicLoaderDarwin.h.
Referenced by GetPthreadSetSpecificAddress(), DynamicLoaderMacOS::ProcessDidExec(), and DynamicLoaderMacOSXDYLD::ProcessDidExec().
|
protected |
Definition at line 230 of file DynamicLoaderDarwin.h.
Referenced by GetThreadLocalData().