From 8dbe7ca5a5755274fca1d3021ad648a1575e66cb Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Fri, 24 Apr 2015 11:00:14 +0100 Subject: [PATCH] A new board file remote-gdbserver-on-localhost.exp This patch is to add a new board file that does real remote gdbserver testing on localhost. This board file can be used to reproduce PR 18208. gdb/testsuite 2015-04-24 Yao Qi * boards/remote-gdbserver-on-localhost.exp: New file. --- gdb/testsuite/ChangeLog | 4 + .../boards/remote-gdbserver-on-localhost.exp | 79 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 gdb/testsuite/boards/remote-gdbserver-on-localhost.exp diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 1d5820bf392..bd0f14624b0 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-04-24 Yao Qi + + * boards/remote-gdbserver-on-localhost.exp: New file. + 2015-04-23 Pedro Alves * gdb.base/interrupt.exp: Use an indirect spawn id list holding diff --git a/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp b/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp new file mode 100644 index 00000000000..6a42b901db0 --- /dev/null +++ b/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp @@ -0,0 +1,79 @@ +# Copyright 2015 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 is a dejagnu "board file" and is used to run the testsuite +# with remote gdbserver on localhost. +# +# To use this file: +# bash$ cd ${build_dir}/gdb +# bash$ make check RUNTESTFLAGS="--target_board=remote-gdbserver-on-localhost" + +load_generic_config "gdbserver" + +# The default compiler for this target. +set_board_info compiler "[find_gcc]" + +process_multilib_options "" + +set_board_info rcp_prog "/usr/bin/scp" +set_board_info rsh_prog "/usr/bin/ssh" +set_board_info protocol standard +set_board_info username $env(USER) +set_board_info hostname localhost + +# We will be using the standard GDB remote protocol +set_board_info gdb_protocol "remote" + +# Test the copy of gdbserver in the build directory, of an absolute path. +set_board_info gdb_server_prog "[pwd]/../gdbserver/gdbserver" + +# Use techniques appropriate to a stub +set_board_info use_gdb_stub 1 + +# This gdbserver can only run a process once per session. +set_board_info gdb,do_reload_on_run 1 + +# gdbserver does not intercept target file operations and perform them +# on the host. +set_board_info gdb,nofileio 1 + +# There's no support for argument-passing (yet). +set_board_info noargs 1 + +set_board_info exit_is_reliable 1 + +# The predefined TSVs in GDBserver. +set_board_info gdb,predefined_tsv "\\\$trace_timestamp" + +set GDBFLAGS "${GDBFLAGS} -ex \"set auto-connect-native-target off\"" + +proc ${board}_download { board src dest } { + if { [file pathtype $src] == "relative" } { + return [file join [pwd] $src] + } else { + return $src + } +} + +proc ${board}_upload {dest srcfile args} { + return $srcfile +} + +proc ${board}_file { dest op args } { + if { $op == "delete" } { + return 0 + } + return [eval [list standard_file $dest $op] $args] +} -- 2.30.2