* normally we reply with a S reply via gdb_last_signal_packet.
* as a side note this behaviour only effects gdb > 6.8 */
bool attached;
+ /* set when extended protocol is used */
+ bool extended_protocol;
/* temporarily used for target description support */
struct target_desc_format target_desc;
/* temporarily used for thread list support */
gdb_connection->sync = false;
gdb_connection->mem_write_error = false;
gdb_connection->attached = true;
+ gdb_connection->extended_protocol = false;
gdb_connection->target_desc.tdesc = NULL;
gdb_connection->target_desc.tdesc_length = 0;
gdb_connection->thread_list = NULL;
int packet_size;
int retval;
struct gdb_connection *gdb_con = connection->priv;
- static int extended_protocol;
target = get_target_from_connection(connection);
break;
case 'D':
retval = gdb_detach(connection);
- extended_protocol = 0;
break;
case 'X':
retval = gdb_write_memory_binary_packet(connection, packet, packet_size);
return retval;
break;
case 'k':
- if (extended_protocol != 0) {
+ if (gdb_con->extended_protocol) {
gdb_con->attached = false;
break;
}
return ERROR_SERVER_REMOTE_CLOSED;
case '!':
/* handle extended remote protocol */
- extended_protocol = 1;
+ gdb_con->extended_protocol = true;
gdb_put_packet(connection, "OK", 2);
break;
case 'R':