summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-03-24 11:15:23 +0000
committerTamas Berghammer <tberghammer@google.com>2015-03-24 11:15:23 +0000
commit7cb18bf537ed319eaa06f12ed39f85594bed641a (patch)
treee5274e908c82a83438c117d6cc750a81c2b67462 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
parent2a403d1c01e74a6c0fab3a7d70d06ee901209c76 (diff)
downloadbcm5719-llvm-7cb18bf537ed319eaa06f12ed39f85594bed641a.tar.gz
bcm5719-llvm-7cb18bf537ed319eaa06f12ed39f85594bed641a.zip
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/<pid>/maps). Differential revision: http://reviews.llvm.org/D8547 llvm-svn: 233061
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h43
1 files changed, 23 insertions, 20 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
index 8b5248a831e..8fc270fa462 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
@@ -35,26 +35,6 @@ public:
virtual
~GDBRemoteCommunicationServerCommon();
- bool
- GetThreadSuffixSupported () override
- {
- return true;
- }
-
- //------------------------------------------------------------------
- /// Launch a process with the current launch settings.
- ///
- /// This method supports running an lldb-gdbserver or similar
- /// server in a situation where the startup code has been provided
- /// with all the information for a child process to be launched.
- ///
- /// @return
- /// An Error object indicating the success or failure of the
- /// launch.
- //------------------------------------------------------------------
- virtual lldb_private::Error
- LaunchProcess () = 0;
-
protected:
std::set<lldb::pid_t> m_spawned_pids;
lldb_private::Mutex m_spawned_pids_mutex;
@@ -195,6 +175,29 @@ protected:
return (static_cast<T*>(this)->*handler) (packet);
});
}
+
+ bool
+ GetThreadSuffixSupported () override
+ {
+ return true;
+ }
+
+ //------------------------------------------------------------------
+ /// Launch a process with the current launch settings.
+ ///
+ /// This method supports running an lldb-gdbserver or similar
+ /// server in a situation where the startup code has been provided
+ /// with all the information for a child process to be launched.
+ ///
+ /// @return
+ /// An Error object indicating the success or failure of the
+ /// launch.
+ //------------------------------------------------------------------
+ virtual lldb_private::Error
+ LaunchProcess () = 0;
+
+ virtual lldb_private::FileSpec
+ FindModuleFile (const std::string& module_path, const lldb_private::ArchSpec& arch);
};
#endif // liblldb_GDBRemoteCommunicationServerCommon_h_
OpenPOWER on IntegriCloud