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