diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c index 4a6bc035daae01d72bed1609e989da8b86f60119..23748e7c654c502190cffa246349a7979ccdff7c 100644 --- a/src/server/gdb_server.c +++ b/src/server/gdb_server.c @@ -1366,7 +1366,8 @@ int gdb_step_continue_packet(connection_t *connection, target_t *target, char *p else if (packet[0] == 's') { LOG_DEBUG("step"); - retval=target->type->step(target, current, address, 0); /* step at current or address, don't handle breakpoints */ + /* step at current or address, don't handle breakpoints */ + retval = target_step(target, current, address, 0); } return retval; } diff --git a/src/target/target.c b/src/target/target.c index 7a4548cccf48fcf4f6c306a39596346f27bae61f..993b8c61353c542b050ee89ac701cf2ea814f6b8 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -548,6 +548,12 @@ int target_get_gdb_reg_list(struct target_s *target, { return target->type->get_gdb_reg_list(target, reg_list, reg_list_size); } +int target_step(struct target_s *target, + int current, u32 address, int handle_breakpoints) +{ + return target->type->step(target, current, address, handle_breakpoints); +} + int target_run_algorithm(struct target_s *target, int num_mem_params, mem_param_t *mem_params, diff --git a/src/target/target.h b/src/target/target.h index 1b28893889eaafeb8dccc71bc9a501739d5602f1..3d9d8e9f90c348afcd0efde88b4788026be0c0b3 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -410,6 +410,13 @@ extern void target_reset_examined(struct target_s *target); extern int target_get_gdb_reg_list(struct target_s *target, struct reg_s **reg_list[], int *reg_list_size); +/** + * Step the target. + * + * This routine is a wrapper for target->type->step. + */ +int target_step(struct target_s *target, + int current, u32 address, int handle_breakpoints); /** * Run an algorithm on the @a target given. *