More robust handling of unknown target state for step/continue packet.
git-svn-id: svn://svn.berlios.de/openocd/trunk@573 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
7280d4a2c7
commit
f62ba35507
|
@ -1855,12 +1855,24 @@ int gdb_input_inner(connection_t *connection)
|
||||||
case 'c':
|
case 'c':
|
||||||
case 's':
|
case 's':
|
||||||
{
|
{
|
||||||
/* We're running/stepping, in which case we can
|
if (target->state != TARGET_HALTED)
|
||||||
* forward log output until the target is halted */
|
{
|
||||||
gdb_connection_t *gdb_con = connection->priv;
|
/* If the target isn't in the halted state, then we can't
|
||||||
gdb_con->frontend_state = TARGET_RUNNING;
|
* step/continue. This might be early setup, etc.
|
||||||
log_add_callback(gdb_log_callback, connection);
|
*/
|
||||||
gdb_step_continue_packet(connection, target, packet, packet_size);
|
char sig_reply[4];
|
||||||
|
snprintf(sig_reply, 4, "T%2.2x", 2);
|
||||||
|
gdb_put_packet(connection, sig_reply, 3);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
/* We're running/stepping, in which case we can
|
||||||
|
* forward log output until the target is halted
|
||||||
|
*/
|
||||||
|
gdb_connection_t *gdb_con = connection->priv;
|
||||||
|
gdb_con->frontend_state = TARGET_RUNNING;
|
||||||
|
log_add_callback(gdb_log_callback, connection);
|
||||||
|
gdb_step_continue_packet(connection, target, packet, packet_size);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
|
|
Loading…
Reference in New Issue