summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h')
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
index f4f8ce9f574..98c33ca1c5a 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
@@ -40,13 +40,19 @@ public:
static const char *
GetPluginDescriptionStatic();
- static ObjectFile *
+ static lldb_private::ObjectFile *
CreateInstance (lldb_private::Module* module,
lldb::DataBufferSP& dataSP,
const lldb_private::FileSpec* file,
lldb::addr_t offset,
lldb::addr_t length);
+ static lldb_private::ObjectFile *
+ CreateMemoryInstance (lldb_private::Module* module,
+ lldb::DataBufferSP& data_sp,
+ const lldb::ProcessSP &process_sp,
+ lldb::addr_t header_addr);
+
static bool
MagicBytesMatch (lldb::DataBufferSP& dataSP,
lldb::addr_t offset,
@@ -61,6 +67,11 @@ public:
lldb::addr_t offset,
lldb::addr_t length);
+ ObjectFileMachO (lldb_private::Module* module,
+ lldb::DataBufferSP& dataSP,
+ const lldb::ProcessSP &process_sp,
+ lldb::addr_t header_addr);
+
virtual
~ObjectFileMachO();
@@ -111,7 +122,10 @@ public:
virtual lldb_private::Address
GetEntryPointAddress ();
-
+
+ virtual lldb_private::Address
+ GetHeaderAddress ();
+
virtual ObjectFile::Type
CalculateType();
@@ -123,6 +137,11 @@ protected:
llvm::MachO::mach_header m_header;
mutable std::auto_ptr<lldb_private::SectionList> m_sections_ap;
mutable std::auto_ptr<lldb_private::Symtab> m_symtab_ap;
+ static const lldb_private::ConstString &GetSegmentNameTEXT();
+ static const lldb_private::ConstString &GetSegmentNameDATA();
+ static const lldb_private::ConstString &GetSegmentNameOBJC();
+ static const lldb_private::ConstString &GetSegmentNameLINKEDIT();
+ static const lldb_private::ConstString &GetSectionNameEHFrame();
llvm::MachO::dysymtab_command m_dysymtab;
std::vector<llvm::MachO::segment_command_64> m_mach_segments;
OpenPOWER on IntegriCloud