Author: labath Date: Fri Sep 23 04:11:49 2016 New Revision: 282236 URL: http://llvm.org/viewvc/llvm-project?rev=282236&view=rev Log: [gdb-remote] Remove the const char * version of SendPacketAndWaitForResponse
Switch all callers to use the StringRef version. Modified: lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Modified: lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp?rev=282236&r1=282235&r2=282236&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp (original) +++ lldb/trunk/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp Fri Sep 23 04:11:49 2016 @@ -751,10 +751,9 @@ const UnixSignalsSP &PlatformRemoteGDBSe // we'll guess the signal set based on the remote architecture. m_remote_signals_sp = UnixSignals::Create(GetRemoteSystemArchitecture()); - const char packet[] = "jSignalsInfo"; StringExtractorGDBRemote response; - auto result = m_gdb_client.SendPacketAndWaitForResponse( - packet, strlen(packet), response, false); + auto result = m_gdb_client.SendPacketAndWaitForResponse("jSignalsInfo", + response, false); if (result != decltype(result)::Success || response.GetResponseType() != response.eResponse) Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h?rev=282236&r1=282235&r2=282236&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h Fri Sep 23 04:11:49 2016 @@ -44,13 +44,6 @@ public: ContinueDelegate &delegate, const UnixSignals &signals, llvm::StringRef payload, StringExtractorGDBRemote &response); - PacketResult SendPacketAndWaitForResponse(const char *payload, size_t len, - StringExtractorGDBRemote &response, - bool send_async) { - return SendPacketAndWaitForResponse(llvm::StringRef(payload, len), response, - send_async); - } - PacketResult SendPacketAndWaitForResponse(llvm::StringRef payload, StringExtractorGDBRemote &response, bool send_async); Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=282236&r1=282235&r2=282236&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Fri Sep 23 04:11:49 2016 @@ -700,7 +700,7 @@ lldb::pid_t GDBRemoteCommunicationClient // newer // debugserver and lldb-gdbserver stubs return correctly. StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse("qC", strlen("qC"), response, false) == + if (SendPacketAndWaitForResponse("qC", response, false) == PacketResult::Success) { if (response.GetChar() == 'Q') { if (response.GetChar() == 'C') { @@ -734,8 +734,8 @@ lldb::pid_t GDBRemoteCommunicationClient bool GDBRemoteCommunicationClient::GetLaunchSuccess(std::string &error_str) { error_str.clear(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse("qLaunchSuccess", strlen("qLaunchSuccess"), - response, false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse("qLaunchSuccess", response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return true; if (response.GetChar() == 'E') { @@ -788,9 +788,8 @@ int GDBRemoteCommunicationClient::SendAr } StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -830,9 +829,8 @@ int GDBRemoteCommunicationClient::SendEn if (m_supports_QEnvironmentHexEncoded) { packet.PutCString("QEnvironmentHexEncoded:"); packet.PutBytesAsRawHex8(name_equal_value, strlen(name_equal_value)); - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -845,9 +843,8 @@ int GDBRemoteCommunicationClient::SendEn } else if (m_supports_QEnvironment) { packet.Printf("QEnvironment:%s", name_equal_value); - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -866,9 +863,8 @@ int GDBRemoteCommunicationClient::SendLa StreamString packet; packet.Printf("QLaunchArch:%s", arch); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -885,9 +881,8 @@ int GDBRemoteCommunicationClient::SendLa StreamString packet; packet.Printf("QSetProcessEvent:%s", data); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) { if (was_supported) *was_supported = true; @@ -1304,8 +1299,9 @@ int GDBRemoteCommunicationClient::SendAt char packet[64]; const int packet_len = ::snprintf(packet, sizeof(packet), "vAttach;%" PRIx64, pid); + UNUSED_IF_ASSERT_DISABLED(packet_len); assert(packet_len < (int)sizeof(packet)); - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsErrorResponse()) return response.GetError(); @@ -1321,8 +1317,8 @@ int GDBRemoteCommunicationClient::SendSt packet.PutCString("I"); packet.PutBytesAsRawHex8(data, data_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { return 0; } return response.GetError(); @@ -1352,8 +1348,9 @@ addr_t GDBRemoteCommunicationClient::All permissions & lldb::ePermissionsWritable ? "w" : "", permissions & lldb::ePermissionsExecutable ? "x" : ""); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsUnsupportedResponse()) m_supports_alloc_dealloc_memory = eLazyBoolNo; @@ -1373,8 +1370,9 @@ bool GDBRemoteCommunicationClient::Deall const int packet_len = ::snprintf(packet, sizeof(packet), "_m%" PRIx64, (uint64_t)addr); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsUnsupportedResponse()) m_supports_alloc_dealloc_memory = eLazyBoolNo; @@ -1396,8 +1394,9 @@ Error GDBRemoteCommunicationClient::Deta const int packet_len = ::snprintf(packet, sizeof(packet), "qSupportsDetachAndStayStopped:"); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success && response.IsOKResponse()) { m_supports_detach_stay_stopped = eLazyBoolYes; @@ -1412,14 +1411,14 @@ Error GDBRemoteCommunicationClient::Deta } else { StringExtractorGDBRemote response; PacketResult packet_result = - SendPacketAndWaitForResponse("D1", 2, response, false); + SendPacketAndWaitForResponse("D1", response, false); if (packet_result != PacketResult::Success) error.SetErrorString("Sending extended disconnect packet failed."); } } else { StringExtractorGDBRemote response; PacketResult packet_result = - SendPacketAndWaitForResponse("D", 1, response, false); + SendPacketAndWaitForResponse("D", response, false); if (packet_result != PacketResult::Success) error.SetErrorString("Sending disconnect packet failed."); } @@ -1437,8 +1436,9 @@ Error GDBRemoteCommunicationClient::GetM const int packet_len = ::snprintf( packet, sizeof(packet), "qMemoryRegionInfo:%" PRIx64, (uint64_t)addr); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { llvm::StringRef name; llvm::StringRef value; @@ -1530,8 +1530,9 @@ Error GDBRemoteCommunicationClient::GetW const int packet_len = ::snprintf(packet, sizeof(packet), "qWatchpointSupportInfo:"); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { m_supports_watchpoint_support_info = eLazyBoolYes; llvm::StringRef name; @@ -1600,9 +1601,8 @@ int GDBRemoteCommunicationClient::SetSTD packet.PutCStringAsRawHex8(path.c_str()); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -1621,9 +1621,8 @@ int GDBRemoteCommunicationClient::SetSTD packet.PutCStringAsRawHex8(path.c_str()); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -1642,9 +1641,8 @@ int GDBRemoteCommunicationClient::SetSTD packet.PutCStringAsRawHex8(path.c_str()); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -1679,9 +1677,8 @@ int GDBRemoteCommunicationClient::SetWor packet.PutCStringAsRawHex8(path.c_str()); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { if (response.IsOKResponse()) return 0; uint8_t error = response.GetError(); @@ -1697,8 +1694,9 @@ int GDBRemoteCommunicationClient::SetDis const int packet_len = ::snprintf(packet, sizeof(packet), "QSetDisableASLR:%i", enable ? 1 : 0); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsOKResponse()) return 0; @@ -1714,8 +1712,9 @@ int GDBRemoteCommunicationClient::SetDet const int packet_len = ::snprintf(packet, sizeof(packet), "QSetDetachOnError:%i", enable ? 1 : 0); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsOKResponse()) return 0; @@ -1812,8 +1811,9 @@ bool GDBRemoteCommunicationClient::GetPr const int packet_len = ::snprintf(packet, sizeof(packet), "qProcessInfoPID:%" PRIu64, pid); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { return DecodeProcessInfoResponse(response, process_info); } else { @@ -2019,9 +2019,8 @@ uint32_t GDBRemoteCommunicationClient::F // Increase timeout as the first qfProcessInfo packet takes a long time // on Android. The value of 1min was arrived at empirically. GDBRemoteCommunication::ScopedTimeout timeout(*this, 60); - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, - false) == PacketResult::Success) { + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success) { do { ProcessInstanceInfo process_info; if (!DecodeProcessInfoResponse(response, process_info)) @@ -2029,9 +2028,8 @@ uint32_t GDBRemoteCommunicationClient::F process_infos.Append(process_info); response.GetStringRef().clear(); response.SetFilePos(0); - } while (SendPacketAndWaitForResponse("qsProcessInfo", - strlen("qsProcessInfo"), response, - false) == PacketResult::Success); + } while (SendPacketAndWaitForResponse("qsProcessInfo", response, false) == + PacketResult::Success); } else { m_supports_qfProcessInfo = false; return 0; @@ -2047,8 +2045,9 @@ bool GDBRemoteCommunicationClient::GetUs const int packet_len = ::snprintf(packet, sizeof(packet), "qUserName:%i", uid); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsNormalResponse()) { // Make sure we parsed the right number of characters. The response is @@ -2073,8 +2072,9 @@ bool GDBRemoteCommunicationClient::GetGr const int packet_len = ::snprintf(packet, sizeof(packet), "qGroupName:%i", gid); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsNormalResponse()) { // Make sure we parsed the right number of characters. The response is @@ -2098,10 +2098,11 @@ bool GDBRemoteCommunicationClient::SetNo const int packet_len = ::snprintf(packet, sizeof(packet), "QNonStop:%1d", (int)enable); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; // Send to target - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) if (response.IsOKResponse()) return true; @@ -2174,8 +2175,7 @@ void GDBRemoteCommunicationClient::TestP for (i = 0; i < num_packets; ++i) { TimeValue packet_start_time = TimeValue::Now(); StringExtractorGDBRemote response; - SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, false); + SendPacketAndWaitForResponse(packet.GetString(), response, false); TimeValue packet_end_time = TimeValue::Now(); uint64_t packet_time_nsec = packet_end_time.GetAsNanoSecondsSinceJan1_1970() - @@ -2241,8 +2241,7 @@ void GDBRemoteCommunicationClient::TestP uint32_t packet_count = 0; while (bytes_read < k_recv_amount) { StringExtractorGDBRemote response; - SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, false); + SendPacketAndWaitForResponse(packet.GetString(), response, false); bytes_read += recv_size; ++packet_count; } @@ -2303,8 +2302,8 @@ bool GDBRemoteCommunicationClient::SendS } StringExtractorGDBRemote response; - return SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), - response, false) == PacketResult::Success; + return SendPacketAndWaitForResponse(packet.GetString(), response, false) == + PacketResult::Success; } bool GDBRemoteCommunicationClient::LaunchGDBServer( @@ -2394,11 +2393,9 @@ size_t GDBRemoteCommunicationClient::Que bool GDBRemoteCommunicationClient::KillSpawnedProcess(lldb::pid_t pid) { StreamString stream; stream.Printf("qKillSpawnedProcess:%" PRId64, pid); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.IsOKResponse()) return true; @@ -2417,8 +2414,9 @@ bool GDBRemoteCommunicationClient::SetCu else packet_len = ::snprintf(packet, sizeof(packet), "Hg%" PRIx64, tid); assert(packet_len + 1 < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsOKResponse()) { m_curr_tid = tid; @@ -2452,8 +2450,9 @@ bool GDBRemoteCommunicationClient::SetCu packet_len = ::snprintf(packet, sizeof(packet), "Hc%" PRIx64, tid); assert(packet_len + 1 < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsOKResponse()) { m_curr_tid_run = tid; @@ -2477,7 +2476,7 @@ bool GDBRemoteCommunicationClient::SetCu bool GDBRemoteCommunicationClient::GetStopReply( StringExtractorGDBRemote &response) { - if (SendPacketAndWaitForResponse("?", 1, response, false) == + if (SendPacketAndWaitForResponse("?", response, false) == PacketResult::Success) return response.IsNormalResponse(); return false; @@ -2490,7 +2489,8 @@ bool GDBRemoteCommunicationClient::GetTh int packet_len = ::snprintf(packet, sizeof(packet), "qThreadStopInfo%" PRIx64, tid); assert(packet_len < (int)sizeof(packet)); - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + UNUSED_IF_ASSERT_DISABLED(packet_len); + if (SendPacketAndWaitForResponse(packet, response, false) == PacketResult::Success) { if (response.IsUnsupportedResponse()) m_supports_qThreadStopInfo = false; @@ -2522,12 +2522,13 @@ uint8_t GDBRemoteCommunicationClient::Se insert ? 'Z' : 'z', type, addr, length); // Check we haven't overwritten the end of the packet buffer assert(packet_len + 1 < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; // Make sure the response is either "OK", "EXX" where XX are two hex digits, // or "" (unsupported) response.SetResponseValidatorToOKErrorNotSupported(); // Try to send the breakpoint packet, and check that it was correctly sent - if (SendPacketAndWaitForResponse(packet, packet_len, response, true) == + if (SendPacketAndWaitForResponse(packet, response, true) == PacketResult::Success) { // Receive and OK packet when the breakpoint successfully placed if (response.IsOKResponse()) @@ -2654,10 +2655,8 @@ lldb_private::Error GDBRemoteCommunicati stream.PutChar(','); stream.PutCStringAsRawHex8(path.c_str()); } - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') return Error("malformed reply"); @@ -2693,10 +2692,9 @@ Error GDBRemoteCommunicationClient::Make stream.PutChar(','); stream.PutCStringAsRawHex8(path.c_str()); const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) != + if (SendPacketAndWaitForResponse(packet, response, false) != PacketResult::Success) return Error("failed to send '%s' packet", packet); @@ -2715,10 +2713,9 @@ Error GDBRemoteCommunicationClient::SetF stream.PutChar(','); stream.PutCStringAsRawHex8(path.c_str()); const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) != + if (SendPacketAndWaitForResponse(packet, response, false) != PacketResult::Success) return Error("failed to send '%s' packet", packet); @@ -2760,10 +2757,8 @@ GDBRemoteCommunicationClient::OpenFile(c stream.PutHex32(flags); stream.PutChar(','); stream.PutHex32(mode); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { return ParseHostIOPacketResponse(response, UINT64_MAX, error); } @@ -2773,10 +2768,8 @@ GDBRemoteCommunicationClient::OpenFile(c bool GDBRemoteCommunicationClient::CloseFile(lldb::user_id_t fd, Error &error) { lldb_private::StreamString stream; stream.Printf("vFile:close:%i", (int)fd); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { return ParseHostIOPacketResponse(response, -1, error) == 0; } @@ -2790,10 +2783,8 @@ lldb::user_id_t GDBRemoteCommunicationCl lldb_private::StreamString stream; stream.PutCString("vFile:size:"); stream.PutCStringAsRawHex8(path.c_str()); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') return UINT64_MAX; @@ -2810,13 +2801,12 @@ Error GDBRemoteCommunicationClient::GetF lldb_private::StreamString stream; stream.PutCString("vFile:mode:"); stream.PutCStringAsRawHex8(path.c_str()); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') { - error.SetErrorStringWithFormat("invalid response to '%s' packet", packet); + error.SetErrorStringWithFormat("invalid response to '%s' packet", + stream.GetString().c_str()); } else { const uint32_t mode = response.GetS32(-1); if (static_cast<int32_t>(mode) == -1) { @@ -2833,7 +2823,8 @@ Error GDBRemoteCommunicationClient::GetF } } } else { - error.SetErrorStringWithFormat("failed to send '%s' packet", packet); + error.SetErrorStringWithFormat("failed to send '%s' packet", + stream.GetString().c_str()); } return error; } @@ -2845,10 +2836,8 @@ uint64_t GDBRemoteCommunicationClient::R lldb_private::StreamString stream; stream.Printf("vFile:pread:%i,%" PRId64 ",%" PRId64, (int)fd, dst_len, offset); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') return 0; @@ -2881,10 +2870,8 @@ uint64_t GDBRemoteCommunicationClient::W lldb_private::StreamGDBRemote stream; stream.Printf("vFile:pwrite:%i,%" PRId64 ",", (int)fd, offset); stream.PutEscapedBytes(src, src_len); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') { error.SetErrorStringWithFormat("write file failed"); @@ -2918,10 +2905,8 @@ Error GDBRemoteCommunicationClient::Crea stream.PutCStringAsRawHex8(dst_path.c_str()); stream.PutChar(','); stream.PutCStringAsRawHex8(src_path.c_str()); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() == 'F') { uint32_t result = response.GetU32(UINT32_MAX); @@ -2951,10 +2936,8 @@ Error GDBRemoteCommunicationClient::Unli // the unix symlink() command reverses its parameters where the dst if first, // so we follow suit here stream.PutCStringAsRawHex8(path.c_str()); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() == 'F') { uint32_t result = response.GetU32(UINT32_MAX); @@ -2983,10 +2966,8 @@ bool GDBRemoteCommunicationClient::GetFi lldb_private::StreamString stream; stream.PutCString("vFile:exists:"); stream.PutCStringAsRawHex8(path.c_str()); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') return false; @@ -3004,10 +2985,8 @@ bool GDBRemoteCommunicationClient::Calcu lldb_private::StreamString stream; stream.PutCString("vFile:MD5:"); stream.PutCStringAsRawHex8(path.c_str()); - const char *packet = stream.GetData(); - int packet_len = stream.GetSize(); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet, packet_len, response, false) == + if (SendPacketAndWaitForResponse(stream.GetString(), response, false) == PacketResult::Success) { if (response.GetChar() != 'F') return false; @@ -3186,8 +3165,8 @@ bool GDBRemoteCommunicationClient::GetMo packet.PutCStringAsRawHex8(triple.c_str()); StringExtractorGDBRemote response; - if (SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), response, - false) != PacketResult::Success) + if (SendPacketAndWaitForResponse(packet.GetString(), response, false) != + PacketResult::Success) return false; if (response.IsErrorResponse()) Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=282236&r1=282235&r2=282236&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Fri Sep 23 04:11:49 2016 @@ -479,9 +479,9 @@ void ProcessGDBRemote::BuildDynamicRegis const int packet_len = ::snprintf(packet, sizeof(packet), "qRegisterInfo%x", reg_num); assert(packet_len < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, - false) == + if (m_gdb_comm.SendPacketAndWaitForResponse(packet, response, false) == GDBRemoteCommunication::PacketResult::Success) { response_type = response.GetResponseType(); if (response_type == StringExtractorGDBRemote::eResponse) { @@ -2575,8 +2575,7 @@ Error ProcessGDBRemote::DoDestroy() { bool send_async = true; GDBRemoteCommunication::ScopedTimeout(m_gdb_comm, 3); - if (m_gdb_comm.SendPacketAndWaitForResponse("k", 1, response, - send_async) == + if (m_gdb_comm.SendPacketAndWaitForResponse("k", response, send_async) == GDBRemoteCommunication::PacketResult::Success) { char packet_cmd = response.GetChar(0); @@ -2743,9 +2742,9 @@ size_t ProcessGDBRemote::DoReadMemory(ad binary_memory_read ? 'x' : 'm', (uint64_t)addr, (uint64_t)size); assert(packet_len + 1 < (int)sizeof(packet)); + UNUSED_IF_ASSERT_DISABLED(packet_len); StringExtractorGDBRemote response; - if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, - true) == + if (m_gdb_comm.SendPacketAndWaitForResponse(packet, response, true) == GDBRemoteCommunication::PacketResult::Success) { if (response.IsNormalResponse()) { error.Clear(); @@ -2797,8 +2796,8 @@ size_t ProcessGDBRemote::DoWriteMemory(a packet.PutBytesAsRawHex8(buf, size, endian::InlHostByteOrder(), endian::InlHostByteOrder()); StringExtractorGDBRemote response; - if (m_gdb_comm.SendPacketAndWaitForResponse( - packet.GetData(), packet.GetSize(), response, true) == + if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString(), response, + true) == GDBRemoteCommunication::PacketResult::Success) { if (response.IsOKResponse()) { error.Clear(); @@ -3839,8 +3838,8 @@ ProcessGDBRemote::GetExtendedInfoForThre StringExtractorGDBRemote response; response.SetResponseValidatorToJSON(); - if (m_gdb_comm.SendPacketAndWaitForResponse( - packet.GetData(), packet.GetSize(), response, false) == + if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString(), response, + false) == GDBRemoteCommunication::PacketResult::Success) { StringExtractorGDBRemote::ResponseType response_type = response.GetResponseType(); @@ -3910,8 +3909,8 @@ ProcessGDBRemote::GetLoadedDynamicLibrar StringExtractorGDBRemote response; response.SetResponseValidatorToJSON(); - if (m_gdb_comm.SendPacketAndWaitForResponse( - packet.GetData(), packet.GetSize(), response, false) == + if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString(), response, + false) == GDBRemoteCommunication::PacketResult::Success) { StringExtractorGDBRemote::ResponseType response_type = response.GetResponseType(); @@ -3943,8 +3942,8 @@ StructuredData::ObjectSP ProcessGDBRemot StringExtractorGDBRemote response; response.SetResponseValidatorToJSON(); - if (m_gdb_comm.SendPacketAndWaitForResponse( - packet.GetData(), packet.GetSize(), response, false) == + if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString(), response, + false) == GDBRemoteCommunication::PacketResult::Success) { StringExtractorGDBRemote::ResponseType response_type = response.GetResponseType(); @@ -4651,8 +4650,8 @@ Error ProcessGDBRemote::GetFileLoadAddre packet.PutCStringAsRawHex8(file_path.c_str()); StringExtractorGDBRemote response; - if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString().c_str(), - response, false) != + if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetString(), response, + false) != GDBRemoteCommunication::PacketResult::Success) return Error("Sending qFileLoadAddress packet failed"); @@ -5078,15 +5077,14 @@ public: StreamString packet; packet.PutCString("qRcmd,"); packet.PutBytesAsRawHex8(command, strlen(command)); - const char *packet_cstr = packet.GetString().c_str(); bool send_async = true; StringExtractorGDBRemote response; process->GetGDBRemote().SendPacketAndWaitForResponse( - packet_cstr, response, send_async); + packet.GetString(), response, send_async); result.SetStatus(eReturnStatusSuccessFinishResult); Stream &output_strm = result.GetOutputStream(); - output_strm.Printf(" packet: %s\n", packet_cstr); + output_strm.Printf(" packet: %s\n", packet.GetString().c_str()); const std::string &response_str = response.GetStringRef(); if (response_str.empty()) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits