@@ -839,17 +839,20 @@ IRExecutionUnit::FindInSymbols(const std::vector<ConstString> &names,
839
839
}
840
840
841
841
if (sc.target_sp ) {
842
+ ModuleList images = sc.target_sp ->GetImages ();
843
+ // BEGIN SWIFT
844
+ if (m_in_populate_symtab)
845
+ if (lldb::ModuleSP module_sp = m_jit_module_wp.lock ())
846
+ images.Remove (module_sp);
847
+ // END SWIFT
848
+
842
849
SymbolContextList sc_list;
843
- sc. target_sp -> GetImages (). FindFunctions (name, lldb::eFunctionNameTypeFull,
844
- function_options, sc_list);
850
+ images. FindFunctions (name, lldb::eFunctionNameTypeFull, function_options ,
851
+ sc_list);
845
852
if (auto load_addr = resolver.Resolve (sc_list))
846
853
return *load_addr;
847
- }
848
854
849
- if (sc.target_sp ) {
850
- SymbolContextList sc_list;
851
- sc.target_sp ->GetImages ().FindSymbolsWithNameAndType (
852
- name, lldb::eSymbolTypeAny, sc_list);
855
+ images.FindSymbolsWithNameAndType (name, lldb::eSymbolTypeAny, sc_list);
853
856
if (auto load_addr = resolver.Resolve (sc_list))
854
857
return *load_addr;
855
858
}
@@ -1194,6 +1197,9 @@ uint32_t IRExecutionUnit::GetAddressByteSize() const {
1194
1197
1195
1198
void IRExecutionUnit::PopulateSymtab (lldb_private::ObjectFile *obj_file,
1196
1199
lldb_private::Symtab &symtab) {
1200
+ // BEGIN SWIFT
1201
+ m_in_populate_symtab = true ;
1202
+ auto _ = llvm::make_scope_exit ([this ]() { m_in_populate_symtab = false ; });
1197
1203
if (m_execution_engine_up) {
1198
1204
uint32_t symbol_id = 0 ;
1199
1205
lldb_private::SectionList *section_list = obj_file->GetSectionList ();
@@ -1271,6 +1277,7 @@ void IRExecutionUnit::PopulateSymtab(lldb_private::ObjectFile *obj_file,
1271
1277
}
1272
1278
}
1273
1279
}
1280
+ // END SWIFT
1274
1281
}
1275
1282
1276
1283
void IRExecutionUnit::PopulateSectionList (
0 commit comments