diff options
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h | 23 |
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; |