[Lldb-commits] [lldb] 73dad7a - [LLDB] Fix remote executables load and caching (#98623)

via lldb-commits lldb-commits at lists.llvm.org
Fri Jul 12 11:43:12 PDT 2024


Author: Vladislav Dzhidzhoev
Date: 2024-07-12T20:43:08+02:00
New Revision: 73dad7a765226bd7ade98f85d050e80f411f6dad

URL: https://github.com/llvm/llvm-project/commit/73dad7a765226bd7ade98f85d050e80f411f6dad
DIFF: https://github.com/llvm/llvm-project/commit/73dad7a765226bd7ade98f85d050e80f411f6dad.diff

LOG: [LLDB] Fix remote executables load and caching (#98623)

Seemingly, #96256 removed the only call to
Platform::GetCachedExecutable, which broke the resolution of executable
modules in the remote debugging mode
(https://github.com/llvm/llvm-project/issues/97410).

This commit fixes that.

Added: 
    

Modified: 
    lldb/source/Target/Platform.cpp
    lldb/source/Target/RemoteAwarePlatform.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
index bb90c377d86b2..ab80fe4c8ba24 100644
--- a/lldb/source/Target/Platform.cpp
+++ b/lldb/source/Target/Platform.cpp
@@ -1446,7 +1446,8 @@ Platform::GetCachedExecutable(ModuleSpec &module_spec,
   Status error = GetRemoteSharedModule(
       module_spec, nullptr, module_sp,
       [&](const ModuleSpec &spec) {
-        return ResolveExecutable(spec, module_sp, module_search_paths_ptr);
+        return Platform::ResolveExecutable(spec, module_sp,
+                                           module_search_paths_ptr);
       },
       nullptr);
   if (error.Success()) {

diff  --git a/lldb/source/Target/RemoteAwarePlatform.cpp b/lldb/source/Target/RemoteAwarePlatform.cpp
index 5fc2d63876b92..cac738ea67b4c 100644
--- a/lldb/source/Target/RemoteAwarePlatform.cpp
+++ b/lldb/source/Target/RemoteAwarePlatform.cpp
@@ -46,6 +46,9 @@ Status RemoteAwarePlatform::ResolveExecutable(
 
     if (!FileSystem::Instance().Exists(resolved_file_spec))
       FileSystem::Instance().ResolveExecutableLocation(resolved_file_spec);
+  } else if (m_remote_platform_sp) {
+    return GetCachedExecutable(resolved_module_spec, exe_module_sp,
+                               module_search_paths_ptr);
   }
 
   return Platform::ResolveExecutable(resolved_module_spec, exe_module_sp,


        


More information about the lldb-commits mailing list