diff options
author | Todd Fiala <tfiala@google.com> | 2014-03-25 19:29:09 +0000 |
---|---|---|
committer | Todd Fiala <tfiala@google.com> | 2014-03-25 19:29:09 +0000 |
commit | 4339f3a434517e3d9f7f08d1221e7e266e596258 (patch) | |
tree | ddc582d7e9ce1ea20e3af744bbc4cc29f598cf22 /lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h | |
parent | 6c32ff31d01998bd149d4dbdbe6eda9c4d3583ef (diff) | |
download | bcm5719-llvm-4339f3a434517e3d9f7f08d1221e7e266e596258.tar.gz bcm5719-llvm-4339f3a434517e3d9f7f08d1221e7e266e596258.zip |
Improve Elf object file UUID calculation performance.
This change makes significant improvements in the performance of
calculating a UUID within ObjectFileELF, and handles both running
processes and core files correctly. This does lazy evaluation of
UUID generation and caches the result when calculated.
Change by Piotr Rak.
llvm-svn: 204749
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index 44b40a4f123..ac7d38c0468 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -214,6 +214,7 @@ private: /// Version of this reader common to all plugins based on this class. static const uint32_t m_plugin_version = 1; + static const uint32_t g_core_uuid_magic; /// ELF file header. elf::ELFHeader m_header; @@ -249,6 +250,17 @@ private: size_t SectionIndex(const SectionHeaderCollConstIter &I) const; + // Parses the ELF program headers. + static size_t + GetProgramHeaderInfo(ProgramHeaderColl &program_headers, + lldb_private::DataExtractor &data, + const elf::ELFHeader &header); + + // Finds PT_NOTE segments and calculates their crc sum. + static uint32_t + CalculateELFNotesSegmentsCRC32(const ProgramHeaderColl& program_headers, + lldb_private::DataExtractor &data); + /// Parses all section headers present in this object file and populates /// m_program_headers. This method will compute the header list only once. /// Returns the number of headers parsed. |