diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2021-12-02 21:02:54 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2021-12-02 21:02:54 +0000 |
commit | f65dcba83ce5035ab88a85fe17628b447eb56e1b (patch) | |
tree | 35f37bb72b3cfc6060193e66c76ee7c9478969b0 /lldb/source/Core/Module.cpp | |
parent | 846a2208a8ab099f595fe7e8b2e6d54a7b5e67fb (diff) |
Diffstat (limited to 'lldb/source/Core/Module.cpp')
-rw-r--r-- | lldb/source/Core/Module.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index bd0a667171a5..cbecbb9aa5fe 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -1379,12 +1379,15 @@ void Module::PreloadSymbols() { if (!sym_file) return; - // Prime the symbol file first, since it adds symbols to the symbol table. - sym_file->PreloadSymbols(); - - // Now we can prime the symbol table. + // Load the object file symbol table and any symbols from the SymbolFile that + // get appended using SymbolFile::AddSymbols(...). if (Symtab *symtab = sym_file->GetSymtab()) symtab->PreloadSymbols(); + + // Now let the symbol file preload its data and the symbol table will be + // available without needing to take the module lock. + sym_file->PreloadSymbols(); + } void Module::SetSymbolFileFileSpec(const FileSpec &file) { |