-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[LLDB] Fix remote executables load and caching #98623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-lldb Author: Vladislav Dzhidzhoev (dzhidzhoev) ChangesSeemingly, #96256 removed the only call to This commit fixes that. Full diff: https://github.com/llvm/llvm-project/pull/98623.diff 2 Files Affected:
diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
index bb90c377d86b2..1900898db6494 100644
--- a/lldb/source/Target/Platform.cpp
+++ b/lldb/source/Target/Platform.cpp
@@ -1446,7 +1446,7 @@ 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..f3aafb87149c8 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,
|
✅ With the latest revision this PR passed the C/C++ code formatter. |
Seemingly, llvm#96256 removed the only call to Platform::GetCachedExecutable, which broke the resolution of executable modules in the remote debugging mode (llvm#97410). This commit fixes that.
3f8a416
to
b86d6f9
Compare
That was an oversight. Thanks for restoring this. LGTM. |
CC @clayborg as this probably explains the Android debugging regression. |
Verified this fixed the ResolveExecutableModule issue with Android target reported in #98581 |
Seemingly, llvm#96256 removed the only call to Platform::GetCachedExecutable, which broke the resolution of executable modules in the remote debugging mode (llvm#97410). This commit fixes that.
Very nice. We really need to get an android test in for this, or at least a test that simulates what android does in some way to verify we don't regress this in the future. |
Seemingly, #96256 removed the only call to
Platform::GetCachedExecutable, which broke the resolution of executable modules in the remote debugging mode
(#97410).
This commit fixes that.