gdb_server: avoid gdb server for virtual targets 76/4676/2
authorAntonio Borneo <borneo.antonio@gmail.com>
Tue, 28 Aug 2018 10:29:09 +0000 (12:29 +0200)
committerMatthias Welwarsky <matthias@welwarsky.de>
Mon, 1 Oct 2018 19:58:52 +0000 (20:58 +0100)
commit24654759d5fd92c0dbafac40c8604842dd6d6709
tree4cec3c49a333e4d71c76c328ea321a3fb983e67d
parent6823a97beb706a5a3a4b7f813d33a7f3faadf2f0
gdb_server: avoid gdb server for virtual targets

Virtual targets, like mem_ap, do not or cannot implement the required
functionality to accept a GDB connection. In the case of mem_ap, the
method get_gdb_reg_list() is missing and a following connection from
gdb causes OpenOCD to segfault.
OpenOCD opens a GDB port for each target; it's always possible to
connect, by mistake, GDB to one virtual target.

Add a method to check if the target supports GDB connections (for the
moment just checking if get_gdb_reg_list is implemented).
Skip opening a gdb server for every targets that don't support GDB
connections.

Change-Id: Ia439a43efe1a9adbb1771cd9d252db8ffa32eb9d
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4676
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/server/gdb_server.c
src/target/target.c
src/target/target.h