[LLDB][MIPS] Debug bare-iron targets lacking support for qC /qfThreadInfo

SUMMARY:
    Using response.IsUnsupportedResponse instead of !response.IsNormalResponse().

    Reviewers: clayborg, labath
    Subscribers: nitesh.jain, mohit.bhakkad, sagar, bhushan and lldb-commits
    Differential Revision: http://reviews.llvm.org/D12876

llvm-svn: 247968
This commit is contained in:
Jaydeep Patil 2015-09-18 05:32:54 +00:00
parent eee54b4d7c
commit 630dd7ff35
1 changed files with 33 additions and 0 deletions

View File

@ -3400,6 +3400,17 @@ GDBRemoteCommunicationClient::SetCurrentThread (uint64_t tid)
m_curr_tid = tid;
return true;
}
/*
* Connected bare-iron target (like YAMON gdb-stub) may not have support for Hg packet.
* The reply from '?' packet could be as simple as 'S05'. There is no packet which can
* give us pid and/or tid. Assume pid=tid=1 in such cases.
*/
if (response.IsUnsupportedResponse() && IsConnected())
{
m_curr_tid = 1;
return true;
}
}
return false;
}
@ -3426,6 +3437,17 @@ GDBRemoteCommunicationClient::SetCurrentThreadForRun (uint64_t tid)
m_curr_tid_run = tid;
return true;
}
/*
* Connected bare-iron target (like YAMON gdb-stub) may not have support for Hc packet.
* The reply from '?' packet could be as simple as 'S05'. There is no packet which can
* give us pid and/or tid. Assume pid=tid=1 in such cases.
*/
if (response.IsUnsupportedResponse() && IsConnected())
{
m_curr_tid_run = 1;
return true;
}
}
return false;
}
@ -3551,6 +3573,17 @@ GDBRemoteCommunicationClient::GetCurrentThreadIDs (std::vector<lldb::tid_t> &thr
} while (ch == ','); // Make sure we got a comma separator
}
}
/*
* Connected bare-iron target (like YAMON gdb-stub) may not have support for
* qProcessInfo, qC and qfThreadInfo packets. The reply from '?' packet could
* be as simple as 'S05'. There is no packet which can give us pid and/or tid.
* Assume pid=tid=1 in such cases.
*/
if (response.IsUnsupportedResponse() && thread_ids.size() == 0 && IsConnected())
{
thread_ids.push_back (1);
}
}
else
{