This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Add native-gdbserver.exp board file to gdb source tree


Per suggestion to add my stdio gdbserver board file to the gdb source tree,
this patch adds the native gdbserver board file from the wiki.

I couldn't find a place I was comfortable with putting this file
so I created a new directory: testsuite/boards.
I didn't want to use testsuite/config because it doesn't really contain
"board files".  See, e.g., /usr/share/dejagnu/baseboards for a collection
of board files.

I will check this in in a few days (say Wednesday next week)
if there are no objections.

2011-12-02  Doug Evans  <>

	* boards/native-gdbserver.exp: New file.

--- /dev/null	2011-11-17 12:50:30.979948001 -0800
+++ boards/native-gdbserver.exp	2011-12-02 10:12:15.000000000 -0800
@@ -0,0 +1,79 @@
+# Copyright 2011 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
+# 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
+# natively with gdbserver.
+# To use this file:
+# bash$ touch ${my_dejagnu_dir}/my-dejagnu.exp
+# bash$ export DEJAGNU=${my_dejagnu_dir}/my-dejagnu.exp
+# bash$ mkdir ${my_dejagnu_dir}/boards
+# bash$ cp ${src_dir}/gdb/testsuite/boards/native-gdbserver.exp \
+#   ${my_dejagnu_dir}/boards
+# bash$ cd ${build_dir}/gdb
+# bash$ make check RUNTESTFLAGS="--target_board=native-gdbserver.exp"
+load_generic_config "gdbserver"
+process_multilib_options ""
+# The default compiler for this target.
+set_board_info compiler "[find_gcc]"
+# 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
+# Can't do input (or output) in the current gdbserver.
+set_board_info gdb,noinferiorio 1
+# gdbserver does not intercept target file operations and perform them
+# on the host.
+set_board_info gdb,nofileio 1
+# Can't do hardware watchpoints, in general.
+set_board_info gdb,no_hardware_watchpoints 1
+set_board_info sockethost "localhost:"
+set_board_info use_gdb_stub 1
+# We will be using the standard GDB remote protocol.
+set_board_info gdb_protocol "remote"
+# Test the copy of gdbserver in the build directory.
+set_board_info gdb_server_prog "../gdbserver/gdbserver"
+proc ${board}_spawn { board cmd } {
+    global board_info
+    set baseboard [lindex [split $board "/"] 0]
+    set board_info($baseboard,isremote) 0
+    set result [remote_spawn $board $cmd]
+    set board_info($baseboard,isremote) 1
+    return $result
+proc ${board}_download { board host dest } {
+    return $host
+proc ${board}_file { dest op args } {
+    if { $op == "delete" } {
+	return 0
+    }
+    return [eval [list standard_file $dest $op] $args]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]