summaryrefslogtreecommitdiff
path: root/include/lldb/Symbol/ObjectFile.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-12-18 20:12:36 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-12-18 20:12:36 +0000
commitef5d0b5e97ec8e6fa395d377b09aa7755e345b4f (patch)
tree27916256fdeeb57d10d2f3d6948be5d71a703215 /include/lldb/Symbol/ObjectFile.h
parent76e0736e7fcfeb179779e49c05604464b1ccd704 (diff)
Notes
Diffstat (limited to 'include/lldb/Symbol/ObjectFile.h')
-rw-r--r--include/lldb/Symbol/ObjectFile.h26
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 &section_data) const;
+ size_t dst_len);
- size_t MemoryMapSectionData(const Section *section,
- DataExtractor &section_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 &section_data);
bool IsInMemory() const { return m_memory_addr != LLDB_INVALID_ADDRESS; }