diff options
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index e821f2ba74a..1aaad6a40ce 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -1242,6 +1242,10 @@ ObjectFileELF::GetSectionHeaderInfo(SectionHeaderColl §ion_headers, uint32_t &gnu_debuglink_crc, ArchSpec &arch_spec) { + // Don't reparse the section headers if we already did that. + if (!section_headers.empty()) + return section_headers.size(); + // Only initialize the arch_spec to okay defaults if they're not already set. // We'll refine this with note data as we parse the notes. if (arch_spec.GetTriple ().getOS () == llvm::Triple::OSType::UnknownOS) @@ -1251,10 +1255,6 @@ ObjectFileELF::GetSectionHeaderInfo(SectionHeaderColl §ion_headers, arch_spec.GetTriple().setVendorName(Host::GetVendorString().GetCString()); } - // We have already parsed the section headers - if (!section_headers.empty()) - return section_headers.size(); - // If there are no section headers we are done. if (header.e_shnum == 0) return 0; |