Modified both the ObjectFileMachO and ObjectFileELF to correctly set the
SectionType for Section objects for DWARF.
Modified the DWARF plug-in to get the DWARF sections by SectionType so we
can safely abstract the LLDB core from section names for the various object
file formats.
Modified the SectionType definitions for .debug_pubnames and .debug_pubtypes
to use the correct case.
llvm-svn: 109054
diff --git a/lldb/source/Core/Section.cpp b/lldb/source/Core/Section.cpp
index e4617a8..a86695d 100644
--- a/lldb/source/Core/Section.cpp
+++ b/lldb/source/Core/Section.cpp
@@ -568,7 +568,7 @@
SectionSP
-SectionList::FindSectionByType (lldb::SectionType sect_type, uint32_t start_idx) const
+SectionList::FindSectionByType (lldb::SectionType sect_type, bool check_children, uint32_t start_idx) const
{
SectionSP sect_sp;
uint32_t num_sections = m_sections.size();
@@ -579,6 +579,12 @@
sect_sp = m_sections[idx];
break;
}
+ else if (check_children)
+ {
+ sect_sp = m_sections[idx]->GetChildren().FindSectionByType (sect_type, check_children, 0);
+ if (sect_sp)
+ break;
+ }
}
return sect_sp;
}