|
LLDB mainline
|
#include <DynamicLoaderDarwin.h>
Public Types | |
| typedef std::vector< ImageInfo > | collection |
| typedef collection::iterator | iterator |
| typedef collection::const_iterator | const_iterator |
Public Member Functions | |
| ImageInfo ()=default | |
| void | Clear (bool load_cmd_data_only) |
| bool | operator== (const ImageInfo &rhs) const |
| bool | UUIDValid () const |
| uint32_t | GetAddressByteSize () |
| lldb_private::ArchSpec | GetArchitecture () const |
| const Segment * | FindSegment (lldb_private::ConstString name) const |
| void | PutToLog (lldb_private::Log *log) const |
Public Attributes | |
| lldb::addr_t | address = LLDB_INVALID_ADDRESS |
| Address of mach header for this dylib. | |
| lldb::addr_t | slide = 0 |
| The amount to slide all segments by if there is a global slide. | |
| lldb_private::FileSpec | file_spec |
| Resolved path for this dylib. | |
| lldb_private::UUID | uuid |
| UUID for this dylib if it has one, else all zeros. | |
| llvm::MachO::mach_header | header |
| The mach header for this image. | |
| std::vector< Segment > | segments |
| All segment vmaddr and vmsize pairs for this executable (from memory of inferior). | |
| uint32_t | load_stop_id = 0 |
| The process stop ID that the sections for this image were loaded. | |
| llvm::Triple::OSType | os_type = llvm::Triple::OSType::UnknownOS |
| LC_VERSION_MIN_... load command os type. | |
| llvm::Triple::EnvironmentType | os_env |
| LC_VERSION_MIN_... load command os environment. | |
| std::string | min_version_os_sdk |
| LC_VERSION_MIN_... SDK. | |
| uint32_t | mh_and_load_cmd_size = 8192 |
| When we need to read a binary's mach header and load commands out of memory, this specifies how much to read to get everything in one read packet, if known. | |
Definition at line 99 of file DynamicLoaderDarwin.h.
| typedef std::vector<ImageInfo> lldb_private::DynamicLoaderDarwin::ImageInfo::collection |
Definition at line 176 of file DynamicLoaderDarwin.h.
| typedef collection::const_iterator lldb_private::DynamicLoaderDarwin::ImageInfo::const_iterator |
Definition at line 178 of file DynamicLoaderDarwin.h.
| typedef collection::iterator lldb_private::DynamicLoaderDarwin::ImageInfo::iterator |
Definition at line 177 of file DynamicLoaderDarwin.h.
|
default |
Referenced by operator==().
|
inline |
Definition at line 133 of file DynamicLoaderDarwin.h.
References address, file_spec, header, LLDB_INVALID_ADDRESS, load_stop_id, mh_and_load_cmd_size, min_version_os_sdk, os_env, os_type, segments, slide, and uuid.
Referenced by DynamicLoaderMacOSXDYLD::ParseLoadCommands().
| const DynamicLoaderDarwin::Segment * DynamicLoaderDarwin::ImageInfo::FindSegment | ( | lldb_private::ConstString | name | ) | const |
Definition at line 908 of file DynamicLoaderDarwin.cpp.
References segments.
|
inline |
Definition at line 160 of file DynamicLoaderDarwin.h.
References header.
| lldb_private::ArchSpec DynamicLoaderDarwin::ImageInfo::GetArchitecture | ( | ) | const |
Definition at line 883 of file DynamicLoaderDarwin.cpp.
References lldb_private::eArchTypeMachO, lldb_private::ArchSpec::GetArchitectureName(), header, lldb_private::ArchSpec::IsCompatibleMatch(), lldb_private::ArchSpec::MergeFrom(), min_version_os_sdk, os_env, and os_type.
Definition at line 149 of file DynamicLoaderDarwin.h.
References address, file_spec, header, ImageInfo(), mh_and_load_cmd_size, os_env, os_type, segments, slide, and uuid.
| void DynamicLoaderDarwin::ImageInfo::PutToLog | ( | lldb_private::Log * | log | ) | const |
Definition at line 918 of file DynamicLoaderDarwin.cpp.
References address, file_spec, LLDB_INVALID_ADDRESS, LLDB_LOG, PutToLog(), segments, slide, and uuid.
Referenced by PutToLog().
|
inline |
Definition at line 158 of file DynamicLoaderDarwin.h.
References uuid.
| lldb::addr_t lldb_private::DynamicLoaderDarwin::ImageInfo::address = LLDB_INVALID_ADDRESS |
Address of mach header for this dylib.
Definition at line 101 of file DynamicLoaderDarwin.h.
Referenced by Clear(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), operator==(), DynamicLoaderMacOSXDYLD::ParseLoadCommands(), and PutToLog().
| lldb_private::FileSpec lldb_private::DynamicLoaderDarwin::ImageInfo::file_spec |
Resolved path for this dylib.
Definition at line 106 of file DynamicLoaderDarwin.h.
Referenced by Clear(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), operator==(), PutToLog(), and lldb_private::DynamicLoaderDarwin::UpdateImageLoadAddress().
| llvm::MachO::mach_header lldb_private::DynamicLoaderDarwin::ImageInfo::header |
The mach header for this image.
Definition at line 110 of file DynamicLoaderDarwin.h.
Referenced by Clear(), GetAddressByteSize(), GetArchitecture(), operator==(), DynamicLoaderMacOSXDYLD::ParseLoadCommands(), and lldb_private::DynamicLoaderDarwin::UpdateDYLDImageInfoFromNewImageInfo().
| uint32_t lldb_private::DynamicLoaderDarwin::ImageInfo::load_stop_id = 0 |
The process stop ID that the sections for this image were loaded.
Definition at line 116 of file DynamicLoaderDarwin.h.
Referenced by Clear(), and lldb_private::DynamicLoaderDarwin::UpdateImageLoadAddress().
| uint32_t lldb_private::DynamicLoaderDarwin::ImageInfo::mh_and_load_cmd_size = 8192 |
When we need to read a binary's mach header and load commands out of memory, this specifies how much to read to get everything in one read packet, if known.
Increase the default 512 bytes to 8192 which is enough to include most mach header + load commands.
Definition at line 129 of file DynamicLoaderDarwin.h.
Referenced by Clear(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), and operator==().
| std::string lldb_private::DynamicLoaderDarwin::ImageInfo::min_version_os_sdk |
LC_VERSION_MIN_... SDK.
Definition at line 123 of file DynamicLoaderDarwin.h.
Referenced by Clear(), and GetArchitecture().
| llvm::Triple::EnvironmentType lldb_private::DynamicLoaderDarwin::ImageInfo::os_env |
LC_VERSION_MIN_... load command os environment.
Definition at line 120 of file DynamicLoaderDarwin.h.
Referenced by Clear(), GetArchitecture(), and operator==().
| llvm::Triple::OSType lldb_private::DynamicLoaderDarwin::ImageInfo::os_type = llvm::Triple::OSType::UnknownOS |
LC_VERSION_MIN_... load command os type.
Definition at line 118 of file DynamicLoaderDarwin.h.
Referenced by Clear(), GetArchitecture(), and operator==().
| std::vector<Segment> lldb_private::DynamicLoaderDarwin::ImageInfo::segments |
All segment vmaddr and vmsize pairs for this executable (from memory of inferior).
Definition at line 113 of file DynamicLoaderDarwin.h.
Referenced by Clear(), FindSegment(), operator==(), DynamicLoaderMacOSXDYLD::ParseLoadCommands(), PutToLog(), lldb_private::DynamicLoaderDarwin::UnloadModuleSections(), and lldb_private::DynamicLoaderDarwin::UpdateImageLoadAddress().
| lldb::addr_t lldb_private::DynamicLoaderDarwin::ImageInfo::slide = 0 |
The amount to slide all segments by if there is a global slide.
Definition at line 104 of file DynamicLoaderDarwin.h.
Referenced by Clear(), operator==(), DynamicLoaderMacOSXDYLD::ParseLoadCommands(), PutToLog(), lldb_private::DynamicLoaderDarwin::UnloadModuleSections(), and lldb_private::DynamicLoaderDarwin::UpdateImageLoadAddress().
| lldb_private::UUID lldb_private::DynamicLoaderDarwin::ImageInfo::uuid |
UUID for this dylib if it has one, else all zeros.
Definition at line 108 of file DynamicLoaderDarwin.h.
Referenced by Clear(), lldb_private::DynamicLoaderDarwin::FindTargetModuleForImageInfo(), operator==(), DynamicLoaderMacOSXDYLD::ParseLoadCommands(), PutToLog(), and UUIDValid().