summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp')
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
index 425d6e296d6..8681447fcb4 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
@@ -35,6 +35,14 @@ LoadOrGetSection(SectionList *section_list, SectionType section_type,
return *extractor;
}
+const DWARFDataExtractor &DWARFContext::getOrLoadAbbrevData() {
+ if (isDwo())
+ return LoadOrGetSection(m_dwo_section_list, eSectionTypeDWARFDebugAbbrevDwo,
+ m_data_debug_abbrev);
+ return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugAbbrev,
+ m_data_debug_abbrev);
+}
+
const DWARFDataExtractor &DWARFContext::getOrLoadArangesData() {
return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugAranges,
m_data_debug_aranges);
@@ -47,3 +55,34 @@ const DWARFDataExtractor &DWARFContext::getOrLoadDebugInfoData() {
return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugInfo,
m_data_debug_info);
}
+
+const DWARFDataExtractor &DWARFContext::getOrLoadLineData() {
+ return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugLine,
+ m_data_debug_line);
+}
+
+const DWARFDataExtractor &DWARFContext::getOrLoadLineStrData() {
+ return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugLineStr,
+ m_data_debug_line_str);
+}
+
+const DWARFDataExtractor &DWARFContext::getOrLoadMacroData() {
+ return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugMacro,
+ m_data_debug_macro);
+}
+
+const DWARFDataExtractor &DWARFContext::getOrLoadStrData() {
+ if (isDwo())
+ return LoadOrGetSection(m_dwo_section_list, eSectionTypeDWARFDebugStrDwo,
+ m_data_debug_str);
+ return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugStr,
+ m_data_debug_str);
+}
+
+const DWARFDataExtractor &DWARFContext::getOrLoadStrOffsetsData() {
+ if (isDwo())
+ return LoadOrGetSection(m_dwo_section_list, eSectionTypeDWARFDebugStrOffsetsDwo,
+ m_data_debug_str_offsets);
+ return LoadOrGetSection(m_main_section_list, eSectionTypeDWARFDebugStrOffsets,
+ m_data_debug_str_offsets);
+}
OpenPOWER on IntegriCloud