gdb_server: set current_target from connection's one
In a multi-target environment we are supposed to have a single gdb server for each target (or for each group of targets within a SMP node). By default, the gdb attached to a server sends its command to the target (or to the SMP node targets) linked to that server. This is working fine for the normal gdb commands, but it is broken for the native OpenOCD commands executed through gdb "monitor" command. In the latter case, gdb "monitor" commands will be executed on the current target of OpenOCD configuration script (that is either the last target created or the target specified in a "targets" command). Fixed in gdb_new_connection() by replacing the current target in the connection's copy of command context. Change-Id: If7c8f2dce4a3138f0907d3000dd0b15e670cfa80 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/4586 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Christopher Head <chead@zaber.com>bscan_tunnel
parent
421e75722d
commit
73de828988
|
@ -936,6 +936,7 @@ static int gdb_new_connection(struct connection *connection)
|
||||||
|
|
||||||
target = get_target_from_connection(connection);
|
target = get_target_from_connection(connection);
|
||||||
connection->priv = gdb_connection;
|
connection->priv = gdb_connection;
|
||||||
|
connection->cmd_ctx->current_target = target;
|
||||||
|
|
||||||
/* initialize gdb connection information */
|
/* initialize gdb connection information */
|
||||||
gdb_connection->buf_p = gdb_connection->buffer;
|
gdb_connection->buf_p = gdb_connection->buffer;
|
||||||
|
|
Loading…
Reference in New Issue