diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h @@ -44,6 +44,7 @@ SectionData m_data_debug_str_offsets; SectionData m_data_debug_tu_index; SectionData m_data_debug_types; + SectionData m_data_gnu_debug_alt_link; const DWARFDataExtractor & LoadOrGetSection(llvm::Optional main_section_type, @@ -73,6 +74,7 @@ const DWARFDataExtractor &getOrLoadStrData(); const DWARFDataExtractor &getOrLoadStrOffsetsData(); const DWARFDataExtractor &getOrLoadDebugTypesData(); + const DWARFDataExtractor &getOrLoadGNUDebugAltLink(); bool isDwo() { return m_dwo_section_list != nullptr; } diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp @@ -123,6 +123,11 @@ eSectionTypeDWARFDebugTypesDwo, m_data_debug_types); } +const DWARFDataExtractor &DWARFContext::getOrLoadGNUDebugAltLink() { + return LoadOrGetSection(eSectionTypeDWARFGNUDebugAltLink, llvm::None, + m_data_gnu_debug_alt_link); +} + llvm::DWARFContext &DWARFContext::GetAsLLVM() { if (!m_llvm_context) { llvm::StringMap> section_map;