{
int retval;
struct connection *connection = priv;
+ struct gdb_service *gdb_service = connection->service->priv;
+
+ if (gdb_service->target != target)
+ return ERROR_OK;
switch (event) {
case TARGET_EVENT_GDB_HALT:
gdb_connection->closed = 0;
gdb_connection->busy = 0;
gdb_connection->noack_mode = 0;
- gdb_connection->sync = true;
+ gdb_connection->sync = false;
gdb_connection->mem_write_error = false;
gdb_connection->attached = true;
static const char *gdb_get_reg_type_name(enum reg_type type)
{
switch (type) {
+ case REG_TYPE_INT:
+ return "int";
case REG_TYPE_INT8:
return "int8";
case REG_TYPE_INT16:
return "code_ptr";
case REG_TYPE_DATA_PTR:
return "data_ptr";
+ case REG_TYPE_FLOAT:
+ return "float";
case REG_TYPE_IEEE_SINGLE:
return "ieee_single";
case REG_TYPE_IEEE_DOUBLE:
int retval = fileio_open(&fileio, tdesc_filename, FILEIO_WRITE, FILEIO_TEXT);
- free(tdesc_filename);
-
if (retval != ERROR_OK) {
LOG_WARNING("Can't open %s for writing", tdesc_filename);
+ free(tdesc_filename);
return ERROR_FAIL;
}
retval = fileio_write(&fileio, tdesc_length, tdesc, &size_written);
fileio_close(&fileio);
+ free(tdesc_filename);
if (retval != ERROR_OK) {
LOG_WARNING("Error while writing the tdesc file");