summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-03-22 04:00:09 +0000
committerGreg Clayton <gclayton@apple.com>2011-03-22 04:00:09 +0000
commit576d8834fe41bf73802832e7ac204b98455bfe25 (patch)
tree1dca2525b98563838acf8ea1445b9c316f2b162d /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent27cfcbac82cc1c840571f0edf1c8675787f5db64 (diff)
downloadbcm5719-llvm-576d8834fe41bf73802832e7ac204b98455bfe25.tar.gz
bcm5719-llvm-576d8834fe41bf73802832e7ac204b98455bfe25.zip
Split the GDBRemoteCommunication class into three classes:
GDBRemoteCommunication - The base GDB remote communication class GDBRemoteCommunicationClient - designed to be used for clients the connect to a remote GDB server GDBRemoteCommunicationServer - designed to be used on the server side of a GDB server implementation. llvm-svn: 128070
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp40
1 files changed, 21 insertions, 19 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index d88c240f30c..79949669e77 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -170,18 +170,20 @@ ProcessGDBRemote::BuildDynamicRegisterInfo (bool force)
char packet[128];
m_register_info.Clear();
- StringExtractorGDBRemote::Type packet_type = StringExtractorGDBRemote::eResponse;
uint32_t reg_offset = 0;
uint32_t reg_num = 0;
- for (; packet_type == StringExtractorGDBRemote::eResponse; ++reg_num)
+ StringExtractorGDBRemote::ResponseType response_type;
+ for (response_type = StringExtractorGDBRemote::eResponse;
+ response_type == StringExtractorGDBRemote::eResponse;
+ ++reg_num)
{
const int packet_len = ::snprintf (packet, sizeof(packet), "qRegisterInfo%x", reg_num);
assert (packet_len < sizeof(packet));
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, false))
{
- packet_type = response.GetType();
- if (packet_type == StringExtractorGDBRemote::eResponse)
+ response_type = response.GetResponseType();
+ if (response_type == StringExtractorGDBRemote::eResponse)
{
std::string name;
std::string value;
@@ -298,7 +300,7 @@ ProcessGDBRemote::BuildDynamicRegisterInfo (bool force)
}
else
{
- packet_type = StringExtractorGDBRemote::eError;
+ response_type = StringExtractorGDBRemote::eError;
}
}
@@ -1044,7 +1046,7 @@ ProcessGDBRemote::UpdateThreadListIfNeeded ()
Error err;
StringExtractorGDBRemote response;
for (m_gdb_comm.SendPacketAndWaitForResponse("qfThreadInfo", response, false);
- response.IsNormalPacket();
+ response.IsNormalResponse();
m_gdb_comm.SendPacketAndWaitForResponse("qsThreadInfo", response, false))
{
char ch = response.GetChar();
@@ -1460,7 +1462,7 @@ ProcessGDBRemote::GetImageInfoAddress()
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse("qShlibInfoAddr", ::strlen ("qShlibInfoAddr"), response, false))
{
- if (response.IsNormalPacket())
+ if (response.IsNormalResponse())
return response.GetHexMaxU64(false, LLDB_INVALID_ADDRESS);
}
}
@@ -1487,14 +1489,14 @@ ProcessGDBRemote::DoReadMemory (addr_t addr, void *buf, size_t size, Error &erro
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, true))
{
- if (response.IsNormalPacket())
+ if (response.IsNormalResponse())
{
error.Clear();
return response.GetHexBytes(buf, size, '\xdd');
}
- else if (response.IsErrorPacket())
+ else if (response.IsErrorResponse())
error.SetErrorStringWithFormat("gdb remote returned an error: %s", response.GetStringRef().c_str());
- else if (response.IsUnsupportedPacket())
+ else if (response.IsUnsupportedResponse())
error.SetErrorStringWithFormat("'%s' packet unsupported", packet);
else
error.SetErrorStringWithFormat("unexpected response to '%s': '%s'", packet, response.GetStringRef().c_str());
@@ -1515,14 +1517,14 @@ ProcessGDBRemote::DoWriteMemory (addr_t addr, const void *buf, size_t size, Erro
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet.GetData(), packet.GetSize(), response, true))
{
- if (response.IsOKPacket())
+ if (response.IsOKResponse())
{
error.Clear();
return size;
}
- else if (response.IsErrorPacket())
+ else if (response.IsErrorResponse())
error.SetErrorStringWithFormat("gdb remote returned an error: %s", response.GetStringRef().c_str());
- else if (response.IsUnsupportedPacket())
+ else if (response.IsUnsupportedResponse())
error.SetErrorStringWithFormat("'%s' packet unsupported", packet.GetString().c_str());
else
error.SetErrorStringWithFormat("unexpected response to '%s': '%s'", packet.GetString().c_str(), response.GetStringRef().c_str());
@@ -1640,13 +1642,13 @@ ProcessGDBRemote::EnableBreakpoint (BreakpointSite *bp_site)
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, true))
{
- if (response.IsUnsupportedPacket())
+ if (response.IsUnsupportedResponse())
{
// Disable z packet support and try again
m_z0_supported = 0;
return EnableBreakpoint (bp_site);
}
- else if (response.IsOKPacket())
+ else if (response.IsOKResponse())
{
bp_site->SetEnabled(true);
bp_site->SetType (BreakpointSite::eExternal);
@@ -1708,11 +1710,11 @@ ProcessGDBRemote::DisableBreakpoint (BreakpointSite *bp_site)
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, true))
{
- if (response.IsUnsupportedPacket())
+ if (response.IsUnsupportedResponse())
{
error.SetErrorString("Breakpoint site was set with Z packet, yet remote debugserver states z packets are not supported.");
}
- else if (response.IsOKPacket())
+ else if (response.IsOKResponse())
{
if (log)
log->Printf ("ProcessGDBRemote::DisableBreakpoint (site_id = %d) addr = 0x%8.8llx -- SUCCESS", site_id, (uint64_t)addr);
@@ -2121,7 +2123,7 @@ ProcessGDBRemote::SetCurrentGDBRemoteThread (int tid)
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, false))
{
- if (response.IsOKPacket())
+ if (response.IsOKResponse())
{
m_curr_tid = tid;
return true;
@@ -2147,7 +2149,7 @@ ProcessGDBRemote::SetCurrentGDBRemoteThreadForRun (int tid)
StringExtractorGDBRemote response;
if (m_gdb_comm.SendPacketAndWaitForResponse(packet, packet_len, response, false))
{
- if (response.IsOKPacket())
+ if (response.IsOKResponse())
{
m_curr_tid_run = tid;
return true;
OpenPOWER on IntegriCloud