diff options
Diffstat (limited to 'source/Plugins/ObjectFile/ELF/ObjectFileELF.h')
-rw-r--r-- | source/Plugins/ObjectFile/ELF/ObjectFileELF.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index 2909f4e52e4a..2664595fd81d 100644 --- a/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -54,10 +54,10 @@ struct ELFNote { //------------------------------------------------------------------------------ /// @class ObjectFileELF -/// @brief Generic ELF object file reader. +/// Generic ELF object file reader. /// -/// This class provides a generic ELF (32/64 bit) reader plugin implementing the -/// ObjectFile protocol. +/// This class provides a generic ELF (32/64 bit) reader plugin implementing +/// the ObjectFile protocol. class ObjectFileELF : public lldb_private::ObjectFile { public: ~ObjectFileELF() override; @@ -113,7 +113,7 @@ public: uint32_t GetAddressByteSize() const override; - lldb::AddressClass GetAddressClass(lldb::addr_t file_addr) override; + lldb_private::AddressClass GetAddressClass(lldb::addr_t file_addr) override; lldb_private::Symtab *GetSymtab() override; @@ -161,6 +161,11 @@ public: void RelocateSection(lldb_private::Section *section) override; +protected: + + std::vector<LoadableData> + GetLoadableData(lldb_private::Target &target) override; + private: ObjectFileELF(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, @@ -186,7 +191,7 @@ private: typedef DynamicSymbolColl::iterator DynamicSymbolCollIter; typedef DynamicSymbolColl::const_iterator DynamicSymbolCollConstIter; - typedef std::map<lldb::addr_t, lldb::AddressClass> + typedef std::map<lldb::addr_t, lldb_private::AddressClass> FileAddressToAddressClassMap; /// Version of this reader common to all plugins based on this class. @@ -255,8 +260,8 @@ private: uint64_t length, lldb_private::ArchSpec &arch_spec); - /// Parses the elf section headers and returns the uuid, debug link name, crc, - /// archspec. + /// Parses the elf section headers and returns the uuid, debug link name, + /// crc, archspec. static size_t GetSectionHeaderInfo(SectionHeaderColl §ion_headers, lldb_private::DataExtractor &object_data, const elf::ELFHeader &header, @@ -383,6 +388,8 @@ private: RefineModuleDetailsFromNote(lldb_private::DataExtractor &data, lldb_private::ArchSpec &arch_spec, lldb_private::UUID &uuid); + + bool AnySegmentHasPhysicalAddress(); }; #endif // liblldb_ObjectFileELF_h_ |