- gdb server was incorrectly sending null terminator on qXfer:features:read: packet
- armv7m now sends correct gdb register packet git-svn-id: svn://svn.berlios.de/openocd/trunk@522 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
ae176daac8
commit
a96f96d1f0
|
@ -1616,7 +1616,7 @@ int gdb_query_packet(connection_t *connection, target_t *target, char *packet, i
|
|||
return retval;
|
||||
}
|
||||
|
||||
gdb_put_packet(connection, xml, strlen(xml) + 1);
|
||||
gdb_put_packet(connection, xml, strlen(xml));
|
||||
|
||||
free(xml);
|
||||
return ERROR_OK;
|
||||
|
|
|
@ -85,6 +85,13 @@ reg_t armv7m_gdb_dummy_fp_reg =
|
|||
"GDB dummy floating-point register", armv7m_gdb_dummy_fp_value, 0, 1, 96, NULL, 0, NULL, 0
|
||||
};
|
||||
|
||||
u8 armv7m_gdb_dummy_fps_value[] = {0, 0, 0, 0};
|
||||
|
||||
reg_t armv7m_gdb_dummy_fps_reg =
|
||||
{
|
||||
"GDB dummy floating-point status register", armv7m_gdb_dummy_fps_value, 0, 1, 32, NULL, 0, NULL, 0
|
||||
};
|
||||
|
||||
armv7m_core_reg_t armv7m_core_reg_list_arch_info[] =
|
||||
{
|
||||
/* CORE_GP are accesible using the core debug registers */
|
||||
|
@ -324,15 +331,20 @@ int armv7m_get_gdb_reg_list(target_t *target, reg_t **reg_list[], int *reg_list_
|
|||
*reg_list_size = 26;
|
||||
*reg_list = malloc(sizeof(reg_t*) * (*reg_list_size));
|
||||
|
||||
/* TODOLATER correct list of registers, names ? */
|
||||
for (i = 0; i < *reg_list_size; i++)
|
||||
for (i = 0; i < 16; i++)
|
||||
{
|
||||
if (i < ARMV7NUMCOREREGS)
|
||||
(*reg_list)[i] = &armv7m->process_context->reg_list[i];
|
||||
else
|
||||
(*reg_list)[i] = &armv7m_gdb_dummy_fp_reg;
|
||||
(*reg_list)[i] = &armv7m->process_context->reg_list[i];
|
||||
}
|
||||
/* ARMV7M is always in thumb mode, try to make GDB understand this if it does not support this arch */
|
||||
|
||||
for (i = 16; i < 24; i++)
|
||||
{
|
||||
(*reg_list)[i] = &armv7m_gdb_dummy_fp_reg;
|
||||
}
|
||||
|
||||
(*reg_list)[24] = &armv7m_gdb_dummy_fps_reg;
|
||||
|
||||
/* ARMV7M is always in thumb mode, try to make GDB understand this
|
||||
* if it does not support this arch */
|
||||
armv7m->process_context->reg_list[15].value[0] |= 1;
|
||||
(*reg_list)[25] = &armv7m->process_context->reg_list[ARMV7M_xPSR];
|
||||
return ERROR_OK;
|
||||
|
|
Loading…
Reference in New Issue