This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v2] Introduce remote_target_is_gdbserver
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: <gdb-patches at sourceware dot org>
- Cc: Simon Marchi <simon dot marchi at ericsson dot com>
- Date: Fri, 5 Sep 2014 16:21:35 -0400
- Subject: [PATCH v2] Introduce remote_target_is_gdbserver
- Authentication-results: sourceware.org; auth=none
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