X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fserver%2Fgdb_server.c;h=b29ee4f84f3fd090251a62defe4582cc0485d05d;hb=ee124401a21f4dff3332f3f417b7bd2e67034cbc;hp=9c1d24529645bb0d96063bf8cb57b225f26984df;hpb=6d9f61fb6540612fc818d31bba2acce550449a7a;p=fw%2Fopenocd diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 9c1d24529..b29ee4f84 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -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]);