This is the mail archive of the gdb-patches@sourceware.org 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 v2] Introduce remote_target_is_gdbserver


Oops, I had some unstaged changes when I sent this patch, so here is
an updated one with those changes. Sorry for the noise.

This patch introduces a function in gdbserver-support.exp to find out
whether the current target is GDBserver.

The code was inspired from gdb.trace/qtor.exp, so it replaces the code
there by a call to the new function.

gdb/testsuite/ChangeLog:

	* lib/gdbserver-support.exp (remote_target_is_gdbserver): New
	fonction.
---
 gdb/testsuite/gdb.trace/qtro.exp        | 14 +-------------
 gdb/testsuite/lib/gdbserver-support.exp | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/gdb/testsuite/gdb.trace/qtro.exp b/gdb/testsuite/gdb.trace/qtro.exp
index 22b5051..95b6b85 100644
--- a/gdb/testsuite/gdb.trace/qtro.exp
+++ b/gdb/testsuite/gdb.trace/qtro.exp
@@ -98,19 +98,7 @@ if { $traceframe_info_supported == -1 } {
 }
 
 # Check whether we're testing with our own GDBserver.
-set is_gdbserver -1
-set test "probe for GDBserver"
-gdb_test_multiple "monitor help" $test {
-    -re "The following monitor commands are supported.*debug-hw-points.*remote-debug.*GDBserver.*$gdb_prompt $" {
-	set is_gdbserver 1
-	pass $test
-    }
-    -re "$gdb_prompt $" {
-	set is_gdbserver 0
-	pass $test
-    }
-}
-if { $is_gdbserver == -1 } {
+if ![remote_target_is_gdbserver] {
     return -1
 }
 
diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp
index 8c91e28..300c3db 100644
--- a/gdb/testsuite/lib/gdbserver-support.exp
+++ b/gdb/testsuite/lib/gdbserver-support.exp
@@ -419,3 +419,26 @@ proc mi_gdbserver_start_multi { } {
 
     return [mi_gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport]
 }
+
+# Return true if the current remote target is an instance of gdbserver.
+
+proc remote_target_is_gdbserver { } {
+    global gdb_prompt
+
+    set is_gdbserver 0
+    set test "Probing for GDBserver"
+
+    gdb_test_multiple "monitor help" $test {
+	-re "The following monitor commands are supported.*Quit GDBserver.*$gdb_prompt $" {
+		pass $test
+		set is_gdbserver 1
+	}
+	-re "$gdb_prompt $" {
+		pass $test
+	}
+	default {
+		pass $test
+	}
+    }
+    return $is_gdbserver
+}
-- 
2.1.0


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