diff options
Diffstat (limited to 'include/lldb/Symbol/ObjectFile.h')
-rw-r--r-- | include/lldb/Symbol/ObjectFile.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/include/lldb/Symbol/ObjectFile.h b/include/lldb/Symbol/ObjectFile.h index a4c7b01ece17..3f9250af7e08 100644 --- a/include/lldb/Symbol/ObjectFile.h +++ b/include/lldb/Symbol/ObjectFile.h @@ -352,6 +352,12 @@ public: virtual Symtab *GetSymtab() = 0; //------------------------------------------------------------------ + /// Perform relocations on the section if necessary. + /// + //------------------------------------------------------------------ + virtual void RelocateSection(lldb_private::Section *section); + + //------------------------------------------------------------------ /// Appends a Symbol for the specified so_addr to the symbol table. /// /// If verify_unique is false, the symbol table is not searched @@ -787,20 +793,26 @@ public: static lldb::DataBufferSP ReadMemory(const lldb::ProcessSP &process_sp, lldb::addr_t addr, size_t byte_size); + // This function returns raw file contents. Do not use it if you want + // transparent decompression of section contents. size_t GetData(lldb::offset_t offset, size_t length, DataExtractor &data) const; + // This function returns raw file contents. Do not use it if you want + // transparent decompression of section contents. size_t CopyData(lldb::offset_t offset, size_t length, void *dst) const; - virtual size_t ReadSectionData(const Section *section, + // This function will transparently decompress section data if the section if + // compressed. + virtual size_t ReadSectionData(Section *section, lldb::offset_t section_offset, void *dst, - size_t dst_len) const; - - virtual size_t ReadSectionData(const Section *section, - DataExtractor §ion_data) const; + size_t dst_len); - size_t MemoryMapSectionData(const Section *section, - DataExtractor §ion_data) const; + // This function will transparently decompress section data if the section if + // compressed. Note that for compressed section the resulting data size may be + // larger than what Section::GetFileSize reports. + virtual size_t ReadSectionData(Section *section, + DataExtractor §ion_data); bool IsInMemory() const { return m_memory_addr != LLDB_INVALID_ADDRESS; } |