diff options
author | Oleksiy Vyalov <ovyalov@google.com> | 2015-02-25 22:15:44 +0000 |
---|---|---|
committer | Oleksiy Vyalov <ovyalov@google.com> | 2015-02-25 22:15:44 +0000 |
commit | 6801be33545e2d6721a44da19b0127a3c3d5b1d5 (patch) | |
tree | 870beb48ea96d41ad8fbe2f2d5c1eb057bd6e8d7 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp | |
parent | 89c1eaa5317ad5abea69e973d2485ca1ab790975 (diff) | |
download | bcm5719-llvm-6801be33545e2d6721a44da19b0127a3c3d5b1d5.tar.gz bcm5719-llvm-6801be33545e2d6721a44da19b0127a3c3d5b1d5.zip |
Add qModuleInfo request in order to get module information (uuid, triple,..) by module path from remote platform.
http://reviews.llvm.org/D7709
llvm-svn: 230556
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp index f5cf2a52574..aa68160b011 100644 --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp @@ -3703,3 +3703,21 @@ GDBRemoteCommunicationClient::RestoreRegisterState (lldb::tid_t tid, uint32_t sa } return false; } + +bool +GDBRemoteCommunicationClient::GetModuleInfo (const char* module_path, + const lldb_private::ArchSpec& arch_spec, + StringExtractorGDBRemote &response) +{ + if (!(module_path && module_path[0])) + return false; + + StreamString packet; + packet.PutCString("qModuleInfo:"); + packet.PutBytesAsRawHex8(module_path, strlen(module_path)); + packet.PutCString(";"); + const auto& tripple = arch_spec.GetTriple().getTriple(); + packet.PutBytesAsRawHex8(tripple.c_str(), tripple.size()); + + return SendPacketAndWaitForResponse (packet.GetData(), packet.GetSize(), response, false) == PacketResult::Success; +} |