target_call_event_callbacks(target, TARGET_EVENT_GDB_END);
break;
case TARGET_EVENT_GDB_FLASH_ERASE_START:
- target_handle_event(target, TARGET_EVENT_OLD_gdb_program_config);
retval = jtag_execute_queue();
if (retval != ERROR_OK)
return retval;
if (reg_list_size <= reg_num) {
LOG_ERROR("gdb requested a non-existing register");
- exit(-1);
+ return ERROR_SERVER_REMOTE_CLOSED;
}
if (!reg_list[reg_num]->valid)
if (retval != ERROR_OK)
return gdb_error(connection, retval);
- if (reg_list_size < reg_num) {
+ if (reg_list_size <= reg_num) {
LOG_ERROR("gdb requested a non-existing register");
return ERROR_SERVER_REMOTE_CLOSED;
}
if (packet[0] == 'c') {
LOG_DEBUG("continue");
- target_handle_event(target, TARGET_EVENT_OLD_pre_resume);
retval = target_resume(target, current, address, 0, 0); /* resume at current
*address, don't handle
*breakpoints, not debugging