diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile')
3 files changed, 17 insertions, 16 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index f0a94c2ceaa..b860a592704 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -543,7 +543,7 @@ SymbolFileDWARF::InitializeObject() ModuleSP module_sp (m_obj_file->GetModule()); if (module_sp) { - const SectionList *section_list = m_obj_file->GetSectionList(); + const SectionList *section_list = module_sp->GetUnifiedSectionList(); const Section* section = section_list->FindSectionByName(GetDWARFMachOSegmentName ()).get(); @@ -704,8 +704,9 @@ SymbolFileDWARF::GetCachedSectionData (uint32_t got_flag, SectionType sect_type, { if (m_flags.IsClear (got_flag)) { + ModuleSP module_sp (m_obj_file->GetModule()); m_flags.Set (got_flag); - const SectionList *section_list = m_obj_file->GetSectionList(); + const SectionList *section_list = module_sp->GetUnifiedSectionList(); if (section_list) { SectionSP section_sp (section_list->FindSectionByType(sect_type, true)); @@ -1054,7 +1055,8 @@ SymbolFileDWARF::ParseCompileUnitFunction (const SymbolContext& sc, DWARFCompile lldb::addr_t highest_func_addr = func_ranges.GetMaxRangeEnd (0); if (lowest_func_addr != LLDB_INVALID_ADDRESS && lowest_func_addr <= highest_func_addr) { - func_range.GetBaseAddress().ResolveAddressUsingFileSections (lowest_func_addr, m_obj_file->GetSectionList()); + ModuleSP module_sp (m_obj_file->GetModule()); + func_range.GetBaseAddress().ResolveAddressUsingFileSections (lowest_func_addr, module_sp->GetUnifiedSectionList()); if (func_range.GetBaseAddress().IsValid()) func_range.SetByteSize(highest_func_addr - lowest_func_addr); } @@ -4721,7 +4723,7 @@ SymbolFileDWARF::GetObjCClassSymbol (const ConstString &objc_class_name) Symbol *objc_class_symbol = NULL; if (m_obj_file) { - Symtab *symtab = m_obj_file->GetSymtab(); + Symtab *symtab = m_obj_file->GetSymtab (ObjectFile::eSymtabFromUnifiedSectionList); if (symtab) { objc_class_symbol = symtab->FindFirstSymbolWithNameAndType (objc_class_name, @@ -7429,13 +7431,12 @@ SymbolFileDWARF::ParseVariableDIE bool linked_oso_file_addr = false; if (is_external && location_DW_OP_addr == 0) { - // we have a possible uninitialized extern global ConstString const_name(mangled ? mangled : name); ObjectFile *debug_map_objfile = debug_map_symfile->GetObjectFile(); if (debug_map_objfile) { - Symtab *debug_map_symtab = debug_map_objfile->GetSymtab(); + Symtab *debug_map_symtab = debug_map_objfile->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); if (debug_map_symtab) { Symbol *exe_symbol = debug_map_symtab->FindFirstSymbolWithNameAndType (const_name, diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp index fbfbf5cdd3f..4b18d586093 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp @@ -75,9 +75,9 @@ SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(SymbolFileDWARFDebugMa { for (auto comp_unit_info : cu_infos) { - Symtab *exe_symtab = exe_symfile->GetObjectFile()->GetSymtab(); + Symtab *exe_symtab = exe_symfile->GetObjectFile()->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); ModuleSP oso_module_sp (oso_objfile->GetModule()); - Symtab *oso_symtab = oso_objfile->GetSymtab(); + Symtab *oso_symtab = oso_objfile->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); ///const uint32_t fun_resolve_flags = SymbolContext::Module | eSymbolContextCompUnit | eSymbolContextFunction; //SectionList *oso_sections = oso_objfile->Sections(); @@ -169,7 +169,7 @@ SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(SymbolFileDWARFDebugMa exe_symfile->FinalizeOSOFileRanges (this); // We don't need the symbols anymore for the .o files - oso_objfile->ClearSymtab(); + oso_objfile->ClearSymtab(ObjectFile::eSymtabFromUnifiedSectionList); } } return file_range_map; @@ -330,7 +330,7 @@ SymbolFileDWARFDebugMap::InitOSO() // these files exist and also contain valid DWARF. If we get any of that // then we return the abilities of the first N_OSO's DWARF. - Symtab* symtab = m_obj_file->GetSymtab(); + Symtab* symtab = m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); if (symtab) { Log *log (LogChannelDWARF::GetLogIfAll(DWARF_LOG_DEBUG_MAP)); @@ -777,7 +777,7 @@ uint32_t SymbolFileDWARFDebugMap::ResolveSymbolContext (const Address& exe_so_addr, uint32_t resolve_scope, SymbolContext& sc) { uint32_t resolved_flags = 0; - Symtab* symtab = m_obj_file->GetSymtab(); + Symtab* symtab = m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); if (symtab) { const addr_t exe_file_addr = exe_so_addr.GetFileAddress(); diff --git a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp index 28078693b35..f0bd08569b9 100644 --- a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp +++ b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp @@ -93,7 +93,7 @@ SymbolFileSymtab::CalculateAbilities () uint32_t abilities = 0; if (m_obj_file) { - const Symtab *symtab = m_obj_file->GetSymtab(); + const Symtab *symtab = m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); if (symtab) { //---------------------------------------------------------------------- @@ -159,7 +159,7 @@ SymbolFileSymtab::ParseCompileUnitAtIndex(uint32_t idx) // the entire object file if (idx < m_source_indexes.size()) { - const Symbol *cu_symbol = m_obj_file->GetSymtab()->SymbolAtIndex(m_source_indexes[idx]); + const Symbol *cu_symbol = m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList)->SymbolAtIndex(m_source_indexes[idx]); if (cu_symbol) cu_sp.reset(new CompileUnit (m_obj_file->GetModule(), NULL, cu_symbol->GetMangled().GetName().AsCString(), 0, eLanguageTypeUnknown)); } @@ -179,7 +179,7 @@ SymbolFileSymtab::ParseCompileUnitFunctions (const SymbolContext &sc) size_t num_added = 0; // We must at least have a valid compile unit assert (sc.comp_unit != NULL); - const Symtab *symtab = m_obj_file->GetSymtab(); + const Symtab *symtab = m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList); const Symbol *curr_symbol = NULL; const Symbol *next_symbol = NULL; // const char *prefix = m_obj_file->SymbolPrefix(); @@ -307,13 +307,13 @@ SymbolFileSymtab::FindNamespace (const SymbolContext& sc, const ConstString &nam uint32_t SymbolFileSymtab::ResolveSymbolContext (const Address& so_addr, uint32_t resolve_scope, SymbolContext& sc) { - if (m_obj_file->GetSymtab() == NULL) + if (m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList) == NULL) return 0; uint32_t resolved_flags = 0; if (resolve_scope & eSymbolContextSymbol) { - sc.symbol = m_obj_file->GetSymtab()->FindSymbolContainingFileAddress(so_addr.GetFileAddress()); + sc.symbol = m_obj_file->GetSymtab(ObjectFile::eSymtabFromUnifiedSectionList)->FindSymbolContainingFileAddress(so_addr.GetFileAddress()); if (sc.symbol) resolved_flags |= eSymbolContextSymbol; } |

