Get register value if it's invalid in cache.

This commit is contained in:
Jie Zhang 2011-05-03 14:35:40 -04:00 committed by Øyvind Harboe
parent 6d9f61fb65
commit ee124401a2

View File

@ -1064,6 +1064,8 @@ static int gdb_get_registers_packet(struct connection *connection,
for (i = 0; i < reg_list_size; i++)
{
if (!reg_list[i]->valid)
reg_list[i]->type->get(reg_list[i]);
gdb_str_to_target(target, reg_packet_p, reg_list[i]);
reg_packet_p += DIV_ROUND_UP(reg_list[i]->size, 8) * 2;
}
@ -1168,6 +1170,9 @@ static int gdb_get_register_packet(struct connection *connection,
exit(-1);
}
if (!reg_list[reg_num]->valid)
reg_list[reg_num]->type->get(reg_list[reg_num]);
reg_packet = malloc(DIV_ROUND_UP(reg_list[reg_num]->size, 8) * 2);
gdb_str_to_target(target, reg_packet, reg_list[reg_num]);