aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-04-16 14:26:59 +0100
committerPedro Alves <palves@redhat.com>2015-04-16 14:26:59 +0100
commit1ca99c4299f4deed8765fbb1eb4f9aea40d919b6 (patch)
tree45d6fada01823ad1b70d0f1599ba80a242f0882c
parent8550d3b32f4ac17bdb9e4768bb905da181b77ded (diff)
downloadgdb-1ca99c4299f4deed8765fbb1eb4f9aea40d919b6.zip
gdb-1ca99c4299f4deed8765fbb1eb4f9aea40d919b6.tar.gz
gdb-1ca99c4299f4deed8765fbb1eb4f9aea40d919b6.tar.bz2
Fix gdbserver_reconnect_p handling
Commit 6423214f (testsuite: Don't use expect_background to reap gdbserver) broke a couple tests that set gdbserver_reconnect_p and restart gdb before reconnecting, because a gdb_exit (e.g., through clean_restart) exits gdbserver unconditionally. Fixes, with --target_board=native-gdbserver: -FAIL: gdb.trace/mi-tracepoint-changed.exp: reconnect: break-info 1 +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: tracepoint created +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: tracepoint on marker is installed +PASS: gdb.trace/mi-tracepoint-changed.exp: reconnect: break-info 1 -FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created -FAIL: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created +PASS: gdb.trace/mi-tsv-changed.exp: upload: tsv1 created +PASS: gdb.trace/mi-tsv-changed.exp: upload: tsv2 created gdb/testsuite/ 2015-04-16 Pedro Alves <palves@redhat.com> * lib/gdbserver-support.exp (gdb_exit): If gdbserver_reconnect_p is set, don't exit gdbserver.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/gdbserver-support.exp8
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 0f2d552..7739325 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-16 Pedro Alves <palves@redhat.com>
+
+ * lib/gdbserver-support.exp (gdb_exit): If gdbserver_reconnect_p
+ is set, don't exit gdbserver.
+
2015-04-16 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.arch/s390-vregs.S (change_vrs): Replace exrl by an
diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp
index b3140c2..6c3401c 100644
--- a/gdb/testsuite/lib/gdbserver-support.exp
+++ b/gdb/testsuite/lib/gdbserver-support.exp
@@ -351,6 +351,14 @@ if { [info procs gdbserver_gdb_exit] == "" } {
proc gdb_exit {} {
global gdb_spawn_id server_spawn_id inferior_spawn_id
global gdb_prompt
+ global gdbserver_reconnect_p
+
+ # Leave GDBserver running if we're exiting GDB in order to
+ # reconnect to the same instance of GDBserver again.
+ if {[info exists gdbserver_reconnect_p] && $gdbserver_reconnect_p} {
+ gdbserver_orig_gdb_exit
+ return
+ }
if {[info exists gdb_spawn_id] && [info exists server_spawn_id]} {
# GDB may be terminated in an expected way or an unexpected way,