[Lldb-commits] [lldb] [lldb][Expression] Encode Module and DIE UIDs into function AsmLabels (PR #148877)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 30 05:35:59 PDT 2025
================
@@ -906,6 +982,20 @@ lldb::addr_t IRExecutionUnit::FindInUserDefinedSymbols(
lldb::addr_t IRExecutionUnit::FindSymbol(lldb_private::ConstString name,
bool &missing_weak) {
+ if (name.GetStringRef().starts_with(FunctionCallLabelPrefix)) {
+ if (auto addr_or_err = ResolveFunctionCallLabel(name.GetStringRef(),
+ m_sym_ctx, missing_weak)) {
+ return *addr_or_err;
+ } else {
+ LLDB_LOG_ERROR(GetLog(LLDBLog::Expressions), addr_or_err.takeError(),
+ "Failed to resolve function call label '{1}': {0}",
+ name.GetStringRef());
+ return LLDB_INVALID_ADDRESS;
+ }
+ }
+
+ // TODO: do we still need the following lookups?
----------------
labath wrote:
It can probably be simplified, but the usages I can think of are:
- PDB
- symtab (calling a function that's not present in the debug info)
- name-based fallback (?)
I'm pretty sure we can at least remove the "alternate name mangling machinery" as that one is very itanium-specific.
https://github.com/llvm/llvm-project/pull/148877
More information about the lldb-commits
mailing list