gdb: add default description reg types
[fw/openocd] / src / server / gdb_server.c
index 48015abcda1f8e4e65aace51151808f66bd9b911..a9681c79716ea36f6c91d80b8ce0841e6f4c1ab7 100644 (file)
@@ -906,7 +906,7 @@ static int gdb_new_connection(struct connection *connection)
        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;
 
@@ -1828,6 +1828,8 @@ static int gdb_memory_map(struct connection *connection,
 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:
@@ -1852,6 +1854,8 @@ static const char *gdb_get_reg_type_name(enum reg_type type)
                        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:
@@ -2936,16 +2940,16 @@ COMMAND_HANDLER(handle_gdb_save_tdesc_command)
 
        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");