Prevent ObjectFileELF::GetSectionHeaderInfo() from reparsing section headers.
If we have any section headers in the collection, we already parsed them. Therefore, don't reparse the section headers when the section_headers collection is not empty. See this thread for more details: http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140707/011721.html Change by Matthew Gardiner llvm-svn: 212822
This commit is contained in:
parent
ad4c06c656
commit
6477ea87b7
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue