diff options
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h | 205 |
1 files changed, 81 insertions, 124 deletions
diff --git a/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h b/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h index d2fd700..321a922 100644 --- a/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h +++ b/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h @@ -16,8 +16,8 @@ // Other libraries and framework includes // Project includes -#include "lldb/lldb-private-forward.h" #include "lldb/Target/Process.h" +#include "lldb/lldb-private-forward.h" #include "GDBRemoteCommunicationServer.h" #include "GDBRemoteCommunicationServerCommon.h" @@ -29,175 +29,132 @@ namespace process_gdb_remote { class ProcessGDBRemote; -class GDBRemoteCommunicationServerCommon : - public GDBRemoteCommunicationServer -{ +class GDBRemoteCommunicationServerCommon : public GDBRemoteCommunicationServer { public: - GDBRemoteCommunicationServerCommon(const char *comm_name, const char *listener_name); + GDBRemoteCommunicationServerCommon(const char *comm_name, + const char *listener_name); - ~GDBRemoteCommunicationServerCommon() override; + ~GDBRemoteCommunicationServerCommon() override; protected: - ProcessLaunchInfo m_process_launch_info; - Error m_process_launch_error; - ProcessInstanceInfoList m_proc_infos; - uint32_t m_proc_infos_index; - bool m_thread_suffix_supported; - bool m_list_threads_in_stop_reply; + ProcessLaunchInfo m_process_launch_info; + Error m_process_launch_error; + ProcessInstanceInfoList m_proc_infos; + uint32_t m_proc_infos_index; + bool m_thread_suffix_supported; + bool m_list_threads_in_stop_reply; + + PacketResult Handle_A(StringExtractorGDBRemote &packet); - PacketResult - Handle_A (StringExtractorGDBRemote &packet); + PacketResult Handle_qHostInfo(StringExtractorGDBRemote &packet); - PacketResult - Handle_qHostInfo (StringExtractorGDBRemote &packet); + PacketResult Handle_qProcessInfoPID(StringExtractorGDBRemote &packet); - PacketResult - Handle_qProcessInfoPID (StringExtractorGDBRemote &packet); + PacketResult Handle_qfProcessInfo(StringExtractorGDBRemote &packet); - PacketResult - Handle_qfProcessInfo (StringExtractorGDBRemote &packet); + PacketResult Handle_qsProcessInfo(StringExtractorGDBRemote &packet); - PacketResult - Handle_qsProcessInfo (StringExtractorGDBRemote &packet); + PacketResult Handle_qUserName(StringExtractorGDBRemote &packet); - PacketResult - Handle_qUserName (StringExtractorGDBRemote &packet); + PacketResult Handle_qGroupName(StringExtractorGDBRemote &packet); - PacketResult - Handle_qGroupName (StringExtractorGDBRemote &packet); + PacketResult Handle_qSpeedTest(StringExtractorGDBRemote &packet); - PacketResult - Handle_qSpeedTest (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_Open(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_Open (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_Close(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_Close (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_pRead(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_pRead (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_pWrite(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_pWrite (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_Size(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_Size (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_Mode(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_Mode (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_Exists(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_Exists (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_symlink(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_symlink (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_unlink(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_unlink (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_Stat(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_Stat (StringExtractorGDBRemote &packet); + PacketResult Handle_vFile_MD5(StringExtractorGDBRemote &packet); - PacketResult - Handle_vFile_MD5 (StringExtractorGDBRemote &packet); + PacketResult Handle_qEcho(StringExtractorGDBRemote &packet); - PacketResult - Handle_qEcho (StringExtractorGDBRemote &packet); + PacketResult Handle_qModuleInfo(StringExtractorGDBRemote &packet); - PacketResult - Handle_qModuleInfo (StringExtractorGDBRemote &packet); + PacketResult Handle_jModulesInfo(StringExtractorGDBRemote &packet); - PacketResult - Handle_qPlatform_shell (StringExtractorGDBRemote &packet); + PacketResult Handle_qPlatform_shell(StringExtractorGDBRemote &packet); - PacketResult - Handle_qPlatform_mkdir (StringExtractorGDBRemote &packet); + PacketResult Handle_qPlatform_mkdir(StringExtractorGDBRemote &packet); - PacketResult - Handle_qPlatform_chmod (StringExtractorGDBRemote &packet); + PacketResult Handle_qPlatform_chmod(StringExtractorGDBRemote &packet); - PacketResult - Handle_qSupported (StringExtractorGDBRemote &packet); + PacketResult Handle_qSupported(StringExtractorGDBRemote &packet); - PacketResult - Handle_QThreadSuffixSupported (StringExtractorGDBRemote &packet); + PacketResult Handle_QThreadSuffixSupported(StringExtractorGDBRemote &packet); - PacketResult - Handle_QListThreadsInStopReply (StringExtractorGDBRemote &packet); + PacketResult Handle_QListThreadsInStopReply(StringExtractorGDBRemote &packet); - PacketResult - Handle_QSetDetachOnError (StringExtractorGDBRemote &packet); + PacketResult Handle_QSetDetachOnError(StringExtractorGDBRemote &packet); - PacketResult - Handle_QStartNoAckMode (StringExtractorGDBRemote &packet); + PacketResult Handle_QStartNoAckMode(StringExtractorGDBRemote &packet); - PacketResult - Handle_QSetSTDIN (StringExtractorGDBRemote &packet); + PacketResult Handle_QSetSTDIN(StringExtractorGDBRemote &packet); - PacketResult - Handle_QSetSTDOUT (StringExtractorGDBRemote &packet); + PacketResult Handle_QSetSTDOUT(StringExtractorGDBRemote &packet); - PacketResult - Handle_QSetSTDERR (StringExtractorGDBRemote &packet); + PacketResult Handle_QSetSTDERR(StringExtractorGDBRemote &packet); - PacketResult - Handle_qLaunchSuccess (StringExtractorGDBRemote &packet); + PacketResult Handle_qLaunchSuccess(StringExtractorGDBRemote &packet); - PacketResult - Handle_QEnvironment (StringExtractorGDBRemote &packet); + PacketResult Handle_QEnvironment(StringExtractorGDBRemote &packet); - PacketResult - Handle_QEnvironmentHexEncoded (StringExtractorGDBRemote &packet); + PacketResult Handle_QEnvironmentHexEncoded(StringExtractorGDBRemote &packet); - PacketResult - Handle_QLaunchArch (StringExtractorGDBRemote &packet); + PacketResult Handle_QLaunchArch(StringExtractorGDBRemote &packet); - static void - CreateProcessInfoResponse (const ProcessInstanceInfo &proc_info, - StreamString &response); + static void CreateProcessInfoResponse(const ProcessInstanceInfo &proc_info, + StreamString &response); - static void - CreateProcessInfoResponse_DebugServerStyle (const ProcessInstanceInfo &proc_info, - StreamString &response); + static void CreateProcessInfoResponse_DebugServerStyle( + const ProcessInstanceInfo &proc_info, StreamString &response); - template <typename T> - void - RegisterMemberFunctionHandler (StringExtractorGDBRemote::ServerPacketType packet_type, - PacketResult (T::*handler) (StringExtractorGDBRemote& packet)) - { - RegisterPacketHandler(packet_type, - [this, handler] (StringExtractorGDBRemote packet, - Error &error, - bool &interrupt, - bool &quit) - { - return (static_cast<T*>(this)->*handler) (packet); - }); - } + template <typename T> + void RegisterMemberFunctionHandler( + StringExtractorGDBRemote::ServerPacketType packet_type, + PacketResult (T::*handler)(StringExtractorGDBRemote &packet)) { + RegisterPacketHandler(packet_type, + [this, handler](StringExtractorGDBRemote packet, + Error &error, bool &interrupt, + bool &quit) { + 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 Error LaunchProcess() = 0; - //------------------------------------------------------------------ - /// 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 Error - LaunchProcess () = 0; + virtual FileSpec FindModuleFile(const std::string &module_path, + const ArchSpec &arch); - virtual FileSpec - FindModuleFile (const std::string& module_path, const ArchSpec& arch); +private: + ModuleSpec GetModuleInfo(const std::string &module_path, + const std::string &triple); }; } // namespace process_gdb_remote |