| # Copyright 2011-2021 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| # This file has common bits shared between other dejagnu "board files" |
| # that are used to run the testsuite with gdbserver connected via |
| # stdio. Boards that source this must reimplement the |
| # get_target_remote_pipe_address procedure. |
| |
| load_board_description "gdbserver-base" |
| |
| # Note this is loaded for gdb_target_cmd, not for making this board |
| # use the generic "gdbserver" config. |
| load_lib gdbserver-support.exp |
| |
| # This gdbserver can only run a process once per session. |
| set_board_info gdb,do_reload_on_run 1 |
| |
| # There's no support for argument-passing (yet). |
| set_board_info noargs 1 |
| |
| set_board_info use_gdb_stub 1 |
| set_board_info exit_is_reliable 1 |
| |
| # We will be using the standard GDB remote protocol. |
| set_board_info gdb_protocol "remote" |
| |
| # Return the CMD string in "target remote | CMD". |
| proc get_target_remote_pipe_cmd {} { |
| error "must reimplement this procedure" |
| } |
| |
| proc make_gdbserver_stdio_port {} { |
| return "| [get_target_remote_pipe_cmd]" |
| } |
| |
| proc gdb_reload { {inferior_args {}} } { |
| return [gdb_target_cmd "remote" [make_gdbserver_stdio_port]] |
| } |
| |
| proc mi_gdb_target_load { } { |
| return [mi_gdb_target_cmd "remote" [make_gdbserver_stdio_port]] |
| } |