summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-06-30 11:55:22 +0100
committerPedro Alves <palves@redhat.com>2016-06-30 11:59:19 +0100
commit038d48680941f014349256aeb7bab14b3f01d58e (patch)
treea21e72610b0dde63aeb3b76d67898fc21291e416
parent994e9c834d916af85e0fe0e8c3e18259aa4be389 (diff)
downloadbinutils-038d48680941f014349256aeb7bab14b3f01d58e.tar.gz
binutils-038d48680941f014349256aeb7bab14b3f01d58e.tar.bz2
binutils-038d48680941f014349256aeb7bab14b3f01d58e.zip
Fix gdbserver/MI testing regression
Commit 51f77c3704a6 ("Add testing infrastruture bits for running with MI on a separate UI") broke MI testing with native-gdbserver: $ make check RUNTESTFLAGS="--target_board=native-gdbserver mi-var-child.exp" ... Running .../src/binutils-gdb/gdb/testsuite/gdb.mi/mi-var-child.exp ... can't unset "inferior_spawn_id": no such variable while executing "unset inferior_spawn_id" (procedure "close_gdbserver" line 20) invoked from within "close_gdbserver" ... When testing with gdbserver, gdb_exit is overridden with a special version that calls close_gdbserver, which clears inferior_spawn_id. The problem is that the commit mentioned above made gdb_exit/mi_gdb_exit clear inferior_spawn_id too, and clearing a non-existing variable is a tcl error. Since gdb_exit/mi_gdb_exit always clears inferior_spawn_id now, the fix is simply to stop clearing it in close_gdbserver. gdb/testsuite/ 2016-06-30 Pedro Alves <palves@redhat.com> * lib/gdbserver-support.exp (close_gdbserver, gdb_exit): Don't unset inferior_spawn_id.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/gdbserver-support.exp6
2 files changed, 7 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index ab0d9e67d6e..1362f09a6a1 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2016-06-30 Pedro Alves <palves@redhat.com>
+ * lib/gdbserver-support.exp (close_gdbserver, gdb_exit): Don't
+ unset inferior_spawn_id.
+
+2016-06-30 Pedro Alves <palves@redhat.com>
+
* lib/mi-support.exp (default_mi_gdb_start): Declare global
FORCE_SEPARATE_MI_TTY, not SEPARATE_MI_TTY.
diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp
index 951afe5afbc..b792b2331ff 100644
--- a/gdb/testsuite/lib/gdbserver-support.exp
+++ b/gdb/testsuite/lib/gdbserver-support.exp
@@ -324,7 +324,7 @@ proc gdbserver_spawn { child_args } {
# Close the GDBserver connection.
proc close_gdbserver {} {
- global server_spawn_id inferior_spawn_id
+ global server_spawn_id
# We can't just call close, because if gdbserver is local then that means
# that it will get a SIGHUP. Doing it this way could also allow us to
@@ -340,7 +340,6 @@ proc close_gdbserver {} {
catch "close -i $server_spawn_id"
catch "wait -i $server_spawn_id"
unset server_spawn_id
- unset inferior_spawn_id
}
# Hook into GDB exit, and close GDBserver.
@@ -349,7 +348,7 @@ if { [info procs gdbserver_gdb_exit] == "" } {
rename gdb_exit gdbserver_orig_gdb_exit
}
proc gdb_exit {} {
- global gdb_spawn_id server_spawn_id inferior_spawn_id
+ global gdb_spawn_id server_spawn_id
global gdb_prompt
global gdbserver_reconnect_p
@@ -376,7 +375,6 @@ proc gdb_exit {} {
-i "$server_spawn_id" eof {
wait -i $expect_out(spawn_id)
unset server_spawn_id
- unset inferior_spawn_id
}
}
}