summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol/ObjectFile.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-09-09 10:20:48 +0000
committerTamas Berghammer <tberghammer@google.com>2015-09-09 10:20:48 +0000
commiteb882fc1f8e76cccfaea5668fd743adb257c7975 (patch)
treebfe1696772304a2d5d981a3190d0f7042df230ce /lldb/source/Symbol/ObjectFile.cpp
parent715cbe89398fcf2d977ec6ddc81201daf1cdfde4 (diff)
downloadbcm5719-llvm-eb882fc1f8e76cccfaea5668fd743adb257c7975.tar.gz
bcm5719-llvm-eb882fc1f8e76cccfaea5668fd743adb257c7975.zip
Add basic fission support to SymbolFileDWARF
* Create new dwo symbol file class * Add handling for .dwo sections * Change indexes in SymbolFileDWARF to store compile unit offset next to DIE offset * Propagate queries from dwarf compile unit to the dwo compile unit where applicable Differential revision: http://reviews.llvm.org/D12291 llvm-svn: 247132
Diffstat (limited to 'lldb/source/Symbol/ObjectFile.cpp')
-rw-r--r--lldb/source/Symbol/ObjectFile.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp
index 804662fe571..b61d499d2eb 100644
--- a/lldb/source/Symbol/ObjectFile.cpp
+++ b/lldb/source/Symbol/ObjectFile.cpp
@@ -602,15 +602,23 @@ ObjectFile::ClearSymtab ()
}
SectionList *
-ObjectFile::GetSectionList()
+ObjectFile::GetSectionList(bool update_module_section_list)
{
if (m_sections_ap.get() == nullptr)
{
- ModuleSP module_sp(GetModule());
- if (module_sp)
+ if (update_module_section_list)
{
- lldb_private::Mutex::Locker locker(module_sp->GetMutex());
- CreateSections(*module_sp->GetUnifiedSectionList());
+ ModuleSP module_sp(GetModule());
+ if (module_sp)
+ {
+ lldb_private::Mutex::Locker locker(module_sp->GetMutex());
+ CreateSections(*module_sp->GetUnifiedSectionList());
+ }
+ }
+ else
+ {
+ SectionList unified_section_list;
+ CreateSections(unified_section_list);
}
}
return m_sections_ap.get();
OpenPOWER on IntegriCloud