]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/testsuite/lib/gdbserver-support.exp
Update years in copyright notice for the GDB files.
[thirdparty/binutils-gdb.git] / gdb / testsuite / lib / gdbserver-support.exp
index 4e739c5196378757ccc677cd32552d6b3ce77e8e..79ecc5a547e53a20e61b8df4691f41eb433b5fcb 100644 (file)
@@ -1,5 +1,4 @@
-# Copyright 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-# Free Software Foundation, Inc.
+# Copyright 2000-2013 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -356,14 +355,19 @@ proc gdbserver_reconnect { } {
     return [gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport]
 }
 
-# Start and connect to a gdbserver in extended mode.
+# Start and connect to a gdbserver in extended mode.  Note this frobs
+# $gdbserver_protocol, so should be used only from a board that
+# usually connects in target remote mode.
 proc gdbserver_start_extended { } {
     global gdbserver_protocol
     global gdbserver_gdbport
     global use_gdb_stub
 
     set res [gdbserver_start "--multi" ""]
-    set gdbserver_protocol "extended-[lindex $res 0]"
+    set gdbserver_protocol [lindex $res 0]
+    if { [string first "extended-" $gdbserver_protocol] != 0} {
+       set gdbserver_protocol "extended-$gdbserver_protocol"
+    }
     set gdbserver_gdbport [lindex $res 1]
 
     # Even if the board file is testing with target remote, our caller
@@ -373,3 +377,32 @@ proc gdbserver_start_extended { } {
 
     return [gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport]
 }
+
+# Start and connect to a gdbserver in extended/multi mode.  Unlike
+# gdbserver_start_extended, this does not frob $gdbserver_protocol.
+
+proc gdbserver_start_multi { } {
+    global gdbserver_protocol
+    global gdbserver_gdbport
+
+    set res [gdbserver_start "--multi" ""]
+    set gdbserver_protocol [lindex $res 0]
+    set gdbserver_gdbport [lindex $res 1]
+
+    return [gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport]
+}
+
+# Start a gdbserver process in multi/extended mode, and have GDB
+# connect to it (MI version).  Return 0 on success, or non-zero on
+# failure.
+
+proc mi_gdbserver_start_multi { } {
+    global gdbserver_protocol
+    global gdbserver_gdbport
+
+    set res [gdbserver_start "--multi" ""]
+    set gdbserver_protocol [lindex $res 0]
+    set gdbserver_gdbport [lindex $res 1]
+
+    return [mi_gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport]
+}