+2014-07-12 Maciej W. Rozycki <macro@mips.com>
+ Maciej W. Rozycki <macro@codesourcery.com>
+
+ * lib/gdb-utils.exp: New file.
+ * lib/gdb.exp (gdb_run_cmd): Call gdb_init_commands, replacing
+ inline `gdb_init_command' processing.
+ (gdb_start_cmd): Likewise.
+ * lib/mi-support.exp (mi_run_cmd): Likewise.
+ * README: Document `gdb_init_command' and `gdb_init_commands'.
+
2014-07-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix false FAIL running under a very long directory name.
The board supports process record.
+gdb_init_command
+gdb_init_commands
+
+ Commands to send to GDB every time a program is about to be run. The
+ first of these settings defines a single command as a string. The
+ second defines a TCL list of commands being a string each. The commands
+ are sent one by one in a sequence, first from `gdb_init_command', if any,
+ followed by individual commands from `gdb_init_command', if any, in this
+ list's order.
+
gdb_server_prog
The location of GDBserver. If GDBserver somewhere other than its
--- /dev/null
+# Copyright 2014 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/>.
+
+# Utility procedures, shared between test suite domains.
+
+# A helper procedure to retrieve commands to send to GDB before a program
+# is started.
+
+proc gdb_init_commands {} {
+ set commands ""
+ if [target_info exists gdb_init_command] {
+ lappend commands [target_info gdb_init_command]
+ }
+ if [target_info exists gdb_init_commands] {
+ set commands [concat $commands [target_info gdb_init_commands]]
+ }
+ return $commands
+}
load_lib libgloss.exp
load_lib cache.exp
+load_lib gdb-utils.exp
global GDB
proc gdb_run_cmd {args} {
global gdb_prompt use_gdb_stub
- if [target_info exists gdb_init_command] {
- send_gdb "[target_info gdb_init_command]\n"
+ foreach command [gdb_init_commands] {
+ send_gdb "$command\n"
gdb_expect 30 {
-re "$gdb_prompt $" { }
default {
proc gdb_start_cmd {args} {
global gdb_prompt use_gdb_stub
- if [target_info exists gdb_init_command] {
- send_gdb "[target_info gdb_init_command]\n"
+ foreach command [gdb_init_commands] {
+ send_gdb "$command\n"
gdb_expect 30 {
-re "$gdb_prompt $" { }
default {
# Test setup routines that work with the MI interpreter.
+load_lib gdb-utils.exp
+
# The variable mi_gdb_prompt is a regexp which matches the gdb mi prompt.
# Set it if it is not already set.
global mi_gdb_prompt
set run_match ""
}
- if [target_info exists gdb_init_command] {
- send_gdb "[target_info gdb_init_command]\n"
+ foreach command [gdb_init_commands] {
+ send_gdb "$command\n"
gdb_expect 30 {
-re "$mi_gdb_prompt$" { }
default {