Introduce target_is_gdbserver
authorSimon Marchi <simon.marchi@ericsson.com>
Wed, 10 Dec 2014 20:12:17 +0000 (15:12 -0500)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 10 Dec 2014 20:12:17 +0000 (15:12 -0500)
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/qtro.exp, so it replaces the code
there by a call to the new function.

gdb/testsuite/ChangeLog:

* gdb.trace/qtro.exp: Replace gdbserver detection code by...
* lib/gdb.exp (target_is_gdbserver): New
procedure.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/qtro.exp
gdb/testsuite/lib/gdb.exp

index 0e973f7eb3cb76100a7a43b096092881561e38f2..4abd097aaa2e02ee2af7c57e3c701a65a0355acb 100644 (file)
@@ -1,3 +1,8 @@
+2014-12-10  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdb.trace/qtro.exp: Replace gdbserver detection code by...
+       * lib/gdb.exp (target_is_gdbserver): New procedure.
+
 2014-12-08  Doug Evans  <dje@google.com>
 
        * gdb.python/py-objfile.exp: Add tests for objfile.owner.
index 22b50510bfe91f7f570ca79f418feb0f4f569050..d8ffc4024fda6596f080612f0002301126bef09e 100644 (file)
@@ -98,18 +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
-    }
-}
+set is_gdbserver [target_is_gdbserver]
 if { $is_gdbserver == -1 } {
     return -1
 }
index a29b6614e6c02be1c5e5d9c649d75ee787c489c4..609f22fcbea575a88d54e57a80e7b682ddabc0b1 100644 (file)
@@ -2537,6 +2537,31 @@ proc gdb_is_target_remote {} {
     return 0
 }
 
+# Return 1 if the current remote target is an instance of our GDBserver, 0
+# otherwise.  Return -1 if there was an error and we can't tell.
+
+gdb_caching_proc target_is_gdbserver {
+    global gdb_prompt
+
+    set is_gdbserver -1
+    set test "Probing for GDBserver"
+
+    gdb_test_multiple "monitor help" $test {
+       -re "The following monitor commands are supported.*Quit GDBserver.*$gdb_prompt $" {
+           set is_gdbserver 1
+       }
+       -re "$gdb_prompt $" {
+           set is_gdbserver 0
+       }
+    }
+
+    if { $is_gdbserver == -1 } {
+       verbose -log "Unable to tell whether we are using GDBserver or not."
+    }
+
+    return $is_gdbserver
+}
+
 set compiler_info              "unknown"
 set gcc_compiled               0
 set hp_cc_compiler             0