[all-commits] [llvm/llvm-project] ed749e: [lldb] Preserve TargetSP in Platform module lookup...

Emre Kultursay via All-commits all-commits at lists.llvm.org
Fri Mar 13 12:35:09 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ed749eb3c89a6b02b34914909d6c937f35bc8ca0
      https://github.com/llvm/llvm-project/commit/ed749eb3c89a6b02b34914909d6c937f35bc8ca0
  Author: Emre Kultursay <emrekultursay at google.com>
  Date:   2026-03-13 (Fri, 13 Mar 2026)

  Changed paths:
    M lldb/source/Target/ModuleCache.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/unittests/Target/LocateModuleCallbackTest.cpp

  Log Message:
  -----------
  [lldb] Preserve TargetSP in Platform module lookup (#186323)

[lldb] Preserve TargetSP in Platform module lookup

When `Platform::GetRemoteSharedModule` resolves a module specification
by calling `GetModuleSpec` on
the process, the target context (`TargetSP`) is lost. This happens
because the underlying process plugin populates a new `ModuleSpec`
object that does not inherit the target context.

This causes failures in subsequent symbol resolution steps. For example,
when `ModuleList` relies on the `TargetSP` to query target-specific
settings like `target.exec-search-paths` and
`target.symbols-search-paths`, the lookup fails
because `TargetSP` evaluates to null. This prevents LLDB from finding
local unstripped libraries.

This commit fixes the issue by transferring the target context from the
original `module_spec` over to the `resolved_module_spec` before
proceeding with the lookup.

Additionally, this commit avoids redundant calls to the locate module
callback. Since the platform already handles the callback explicitly,
passing the target context to subsequent `ModuleList::GetSharedModule`
calls would normally trigger the callback again redundantly. This is
suppressed by passing `invoke_locate_callback=false` in
`Platform::GetSharedModule` and `ModuleCache::Get`. This also avoids
triggering the callback with incomplete module specifications (e.g.
cleared UUIDs) during cache lookups.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list