#endif
for (;;)
{
- if (connection->service->type == CONNECTION_PIPE)
+ if (connection->service->type != CONNECTION_TCP)
{
gdb_con->buf_cnt = read(connection->fd, gdb_con->buffer, GDB_BUFFER_SIZE);
}
if (gdb_con->closed)
return ERROR_SERVER_REMOTE_CLOSED;
- if (connection->service->type == CONNECTION_PIPE)
+ if (connection_write(connection, data, len) == len)
{
- /* write to stdout */
- if (write(STDOUT_FILENO, data, len) == len)
- {
- return ERROR_OK;
- }
- }
- else
- {
- if (write_socket(connection->fd, data, len) == len)
- {
- return ERROR_OK;
- }
+ return ERROR_OK;
}
gdb_con->closed = 1;
return ERROR_SERVER_REMOTE_CLOSED;
if (gdb_connection->frontend_state == TARGET_RUNNING)
{
char sig_reply[4];
- int signal;
+ int signal_var;
/* stop forwarding log packets! */
log_remove_callback(gdb_log_callback, connection);
if (gdb_connection->ctrl_c)
{
- signal = 0x2;
+ signal_var = 0x2;
gdb_connection->ctrl_c = 0;
}
else
{
- signal = gdb_last_signal(target);
+ signal_var = gdb_last_signal(target);
}
- snprintf(sig_reply, 4, "T%2.2x", signal);
+ snprintf(sig_reply, 4, "T%2.2x", signal_var);
gdb_put_packet(connection, sig_reply, 3);
gdb_connection->frontend_state = TARGET_HALTED;
}
struct target *target, char* packet, int packet_size)
{
char sig_reply[4];
- int signal;
+ int signal_var;
- signal = gdb_last_signal(target);
+ signal_var = gdb_last_signal(target);
- snprintf(sig_reply, 4, "S%2.2x", signal);
+ snprintf(sig_reply, 4, "S%2.2x", signal_var);
gdb_put_packet(connection, sig_reply, 3);
return ERROR_OK;
char *separator;
uint32_t ram_start = 0;
int i;
+ int target_flash_banks = 0;
/* skip command character */
packet += 23;
gdb_error(connection, retval);
return retval;
}
- banks[i] = p;
+ if(p->target == target)
+ banks[target_flash_banks++] = p;
}
- qsort(banks, flash_get_bank_count(), sizeof(struct flash_bank *),
+ qsort(banks, target_flash_banks, sizeof(struct flash_bank *),
compare_bank);
for (i = 0; i < flash_get_bank_count(); i++) {
case 'c':
case 's':
{
- struct gdb_connection *gdb_con = connection->priv;
log_add_callback(gdb_log_callback, connection);
if (gdb_con->mem_write_error)