# Copyright 2011-2023 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 . # 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]] }