This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[pushed] Fix gdbserver_reconnect_p handling
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 16 Apr 2015 14:35:28 +0100
- Subject: [pushed] Fix gdbserver_reconnect_p handling
- Authentication-results: sourceware.org; auth=none
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.
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/lib/gdbserver-support.exp | 8 ++++++++
2 files changed, 13 insertions(+)
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,
--
1.9.3