@@ -839,17 +839,20 @@ IRExecutionUnit::FindInSymbols(const std::vector<ConstString> &names,
839839 }
840840
841841 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+
842849 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);
845852 if (auto load_addr = resolver.Resolve (sc_list))
846853 return *load_addr;
847- }
848854
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);
853856 if (auto load_addr = resolver.Resolve (sc_list))
854857 return *load_addr;
855858 }
@@ -1194,6 +1197,9 @@ uint32_t IRExecutionUnit::GetAddressByteSize() const {
11941197
11951198void IRExecutionUnit::PopulateSymtab (lldb_private::ObjectFile *obj_file,
11961199 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 ; });
11971203 if (m_execution_engine_up) {
11981204 uint32_t symbol_id = 0 ;
11991205 lldb_private::SectionList *section_list = obj_file->GetSectionList ();
@@ -1271,6 +1277,7 @@ void IRExecutionUnit::PopulateSymtab(lldb_private::ObjectFile *obj_file,
12711277 }
12721278 }
12731279 }
1280+ // END SWIFT
12741281}
12751282
12761283void IRExecutionUnit::PopulateSectionList (
0 commit comments