================
@@ -2471,6 +2471,47 @@ bool SymbolFileDWARF::ResolveFunction(const DWARFDIE 
&orig_die,
   return false;
 }
 
+llvm::Error
+SymbolFileDWARF::FindAndResolveFunction(SymbolContextList &sc_list,
+                                        llvm::StringRef lookup_name) {
+  std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
+
+  DWARFDIE die;
+  Module::LookupInfo info(ConstString(lookup_name), 
lldb::eFunctionNameTypeFull,
----------------
Michael137 wrote:

> encode the declaration DIE, and then when (and if -- I expect that the 
> majority of functions will never be called) we need to resolve the call, we 
> look up the matching definition DIE

Hmm how do we do this without a name lookup? 
`SymbolFileDWARF::FindDefinitionDIE`?

> Another reason for dropping the linkage names might be to reduce the memory 
> footprint of long asm labels, but if this isn't big, we may want to keep them 
> anyway to help with debugging.

Yea had the same thought. For debugging it has been useful actually. When 
something goes wrong and you get a `couldn't resolve symbol 
$__lldb_func:_Z3foov:0x123:0xf00d` having the mangled name there is pretty nice.

https://github.com/llvm/llvm-project/pull/148877
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to