From 7cb18bf537ed319eaa06f12ed39f85594bed641a Mon Sep 17 00:00:00 2001 From: Tamas Berghammer Date: Tue, 24 Mar 2015 11:15:23 +0000 Subject: Fetch module specification from remote process also Previously the remote module sepcification was fetched only from the remote platform. With this CL if we have a remote process then we ask it if it have any information from a given module. It is required because on android the dynamic linker only reports the name of the SO file and the platform can't always find it without a full path (the process can do it based on /proc//maps). Differential revision: http://reviews.llvm.org/D8547 llvm-svn: 233061 --- .../gdb-remote/GDBRemoteCommunicationServerLLGS.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp') diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp index d4a1643dc50..3892f483904 100644 --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp @@ -2735,3 +2735,20 @@ GDBRemoteCommunicationServerLLGS::ClearProcessSpecificData () m_active_auxv_buffer_sp.reset (); #endif } + +FileSpec +GDBRemoteCommunicationServerLLGS::FindModuleFile(const std::string& module_path, + const ArchSpec& arch) +{ + if (m_debugged_process_sp) + { + FileSpec file_spec; + if (m_debugged_process_sp->GetLoadedModuleFileSpec(module_path.c_str(), file_spec).Success()) + { + if (file_spec.Exists()) + return file_spec; + } + } + + return GDBRemoteCommunicationServerCommon::FindModuleFile(module_path, arch); +} -- cgit v1.2.3