server/gdb_server: Step unavailable targets.
When gdb requests to step an unavailable target, report success. When the target becomes available, the step can complete. Change-Id: I969ab56139f72a757552928d59edf6eabd598fa4 Signed-off-by: Tim Newsome <tim@sifive.com>
This commit is contained in:
parent
b5e57e1894
commit
944fe66f10
|
@ -3176,9 +3176,15 @@ static bool gdb_handle_vcont_packet(struct connection *connection, const char *p
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = target_step(ct, current_pc, 0, 0);
|
if (ct->state == TARGET_UNAVAILABLE) {
|
||||||
if (retval == ERROR_TARGET_NOT_HALTED)
|
LOG_TARGET_ERROR(ct, "Target is unavailable, so cannot be stepped. "
|
||||||
LOG_INFO("target %s was not halted when step was requested", target_name(ct));
|
"Pretending to gdb that it is running until it's available again.");
|
||||||
|
retval = ERROR_FAIL;
|
||||||
|
} else {
|
||||||
|
retval = target_step(ct, current_pc, 0, 0);
|
||||||
|
if (retval == ERROR_TARGET_NOT_HALTED)
|
||||||
|
LOG_INFO("target %s was not halted when step was requested", target_name(ct));
|
||||||
|
}
|
||||||
|
|
||||||
/* if step was successful send a reply back to gdb */
|
/* if step was successful send a reply back to gdb */
|
||||||
if (retval == ERROR_OK) {
|
if (retval == ERROR_OK) {
|
||||||
|
|
Loading…
Reference in New Issue