gdb_server: set current_target from connection's one 86/4586/2
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 2 Jul 2018 16:47:34 +0000 (18:47 +0200)
committerTomas Vanek <vanekt@fbl.cz>
Fri, 13 Jul 2018 16:15:35 +0000 (17:15 +0100)
commit73de82898840292b000ded9a48031701961c3c83
tree907c3e23930fd36f613e75af298adf0a06a3aa43
parent421e75722db1fa173747d07618ef4016b2e3c80e
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>
src/server/gdb_server.c