LLDB  mainline
Classes | Macros | Typedefs | Functions
ObjectFileMachO.cpp File Reference
#include "llvm/ADT/StringRef.h"
#include "Plugins/Process/Utility/RegisterContextDarwin_arm.h"
#include "Plugins/Process/Utility/RegisterContextDarwin_arm64.h"
#include "Plugins/Process/Utility/RegisterContextDarwin_i386.h"
#include "Plugins/Process/Utility/RegisterContextDarwin_x86_64.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/FileSpecList.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Host/Host.h"
#include "lldb/Symbol/DWARFCallFrameInfo.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Target/DynamicLoader.h"
#include "lldb/Target/MemoryRegionInfo.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadList.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RangeMap.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include "lldb/Utility/UUID.h"
#include "lldb/Host/SafeMachO.h"
#include "llvm/Support/MemoryBuffer.h"
#include "ObjectFileMachO.h"
#include "Utility/UuidCompatibility.h"
#include <memory>
Include dependency graph for ObjectFileMachO.cpp:

Go to the source code of this file.

Classes

struct  lldb_copy_dyld_cache_header_v1
 
struct  lldb_copy_dyld_cache_mapping_info
 
struct  lldb_copy_dyld_cache_local_symbols_info
 
struct  lldb_copy_dyld_cache_local_symbols_entry
 
class  RegisterContextDarwin_x86_64_Mach
 
class  RegisterContextDarwin_i386_Mach
 
class  RegisterContextDarwin_arm_Mach
 
class  RegisterContextDarwin_arm64_Mach
 
struct  ObjectFileMachO::SegmentParsingContext
 
class  MachSymtabSectionInfo
 
struct  MachSymtabSectionInfo::SectionInfo
 
struct  TrieEntry
 
struct  TrieEntryWithOffset
 
struct  lldb_copy__dyld_process_cache_info
 

Macros

#define THUMB_ADDRESS_BIT_MASK   0xfffffffffffffffeull
 
#define MACHO_NLIST_ARM_SYMBOL_IS_THUMB   0x0008
 

Typedefs

typedef void * dyld_process_info
 

Functions

static uint32_t MachHeaderSizeFromMagic (uint32_t magic)
 
static uint32_t GetSegmentPermissions (const segment_command_64 &seg_cmd)
 
static lldb::SectionType GetSectionType (uint32_t flags, ConstString section_name)
 
static bool ParseTrieEntries (DataExtractor &data, lldb::offset_t offset, const bool is_arm, std::vector< llvm::StringRef > &nameSlices, std::set< lldb::addr_t > &resolver_addresses, std::vector< TrieEntryWithOffset > &output)
 
static llvm::StringRef GetOSName (uint32_t cmd)
 
unsigned int mach_task_self ()
 

Macro Definition Documentation

◆ MACHO_NLIST_ARM_SYMBOL_IS_THUMB

#define MACHO_NLIST_ARM_SYMBOL_IS_THUMB   0x0008

◆ THUMB_ADDRESS_BIT_MASK

#define THUMB_ADDRESS_BIT_MASK   0xfffffffffffffffeull

Definition at line 64 of file ObjectFileMachO.cpp.

Referenced by ObjectFileMachO::ParseSymtab(), and ParseTrieEntries().

Typedef Documentation

◆ dyld_process_info

typedef void* dyld_process_info

Definition at line 5706 of file ObjectFileMachO.cpp.

Function Documentation

◆ GetOSName()

static llvm::StringRef GetOSName ( uint32_t  cmd)
static

◆ GetSectionType()

static lldb::SectionType GetSectionType ( uint32_t  flags,
ConstString  section_name 
)
static

◆ GetSegmentPermissions()

static uint32_t GetSegmentPermissions ( const segment_command_64 &  seg_cmd)
static

Definition at line 1430 of file ObjectFileMachO.cpp.

Referenced by ObjectFileMachO::ProcessSegmentCommand().

◆ mach_task_self()

unsigned int mach_task_self ( )

◆ MachHeaderSizeFromMagic()

static uint32_t MachHeaderSizeFromMagic ( uint32_t  magic)
static

◆ ParseTrieEntries()

static bool ParseTrieEntries ( DataExtractor data,
lldb::offset_t  offset,
const bool  is_arm,
std::vector< llvm::StringRef > &  nameSlices,
std::set< lldb::addr_t > &  resolver_addresses,
std::vector< TrieEntryWithOffset > &  output 
)
static