aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/config
diff options
context:
space:
mode:
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>2001-05-10 19:35:14 +0000
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>2001-05-10 19:35:14 +0000
commitc2c1be8d4c221e0f7c680b0fd72b387cbf8bd9fc (patch)
treec3846d2af42978ca6471da65513c31e7b4b86bb7 /gdb/testsuite/config
parentf78f6cf1070189e75917e47fec538483a494bf29 (diff)
downloadgdb-c2c1be8d4c221e0f7c680b0fd72b387cbf8bd9fc.zip
gdb-c2c1be8d4c221e0f7c680b0fd72b387cbf8bd9fc.tar.gz
gdb-c2c1be8d4c221e0f7c680b0fd72b387cbf8bd9fc.tar.bz2
2001-04-12 Elena Zannoni <ezannoni@redhat.com>
* config/gdbserver.exp (gdb_load): Handle the case in which the arguments to gdbserver are given in the baseboard configuration file. Also handle the case in which the server needs to do a load.
Diffstat (limited to 'gdb/testsuite/config')
-rw-r--r--gdb/testsuite/config/gdbserver.exp44
1 files changed, 41 insertions, 3 deletions
diff --git a/gdb/testsuite/config/gdbserver.exp b/gdb/testsuite/config/gdbserver.exp
index e4dabca..2c63729 100644
--- a/gdb/testsuite/config/gdbserver.exp
+++ b/gdb/testsuite/config/gdbserver.exp
@@ -92,6 +92,8 @@ set portnum "2345";
proc gdb_load { args } {
global server_exec;
global portnum;
+ global verbose;
+ global gdb_prompt;
# Port id -- either specified in baseboard file, or managed here.
if [target_info exists gdb,socketport] {
@@ -154,10 +156,20 @@ proc gdb_load { args } {
set server_exec $args;
# Fire off the debug agent
- remote_spawn host \
+ if [target_info exists gdb_server_args] {
+ # This flavour of gdbserver takes as arguments those specified
+ # in the board configuration file
+ set custom_args [target_info gdb_server_args];
+ remote_spawn host \
+ "$gdbserver $custom_args >& /dev/null < /dev/null &" \
+ writeonly
+ } else {
+ # This flavour of gdbserver takes as arguments the port information
+ # and the name of the executable file to be debugged.
+ remote_spawn host \
"$gdbserver $sockethost$portnum $args >& /dev/null < /dev/null &" \
writeonly
-
+ }
# Give it a little time to establish
sleep 2
@@ -169,6 +181,32 @@ proc gdb_load { args } {
# attach to the "serial port"
gdb_target_cmd $protocol $gdbport;
+ # do the real load if needed
+ if [target_info exists gdb_server_do_load] {
+ send_gdb "load\n"
+ set timeout 2400
+ verbose "Timeout is now $timeout seconds" 2
+ gdb_expect {
+ -re ".*$gdb_prompt $" {
+ if $verbose>1 then {
+ send_user "Loaded $arg into $GDB\n"
+ }
+ set timeout 30
+ verbose "Timeout is now $timeout seconds" 2
+ return 1
+ }
+ -re "$gdb_prompt $" {
+ if $verbose>1 then {
+ perror "GDB couldn't load."
+ }
+ }
+ timeout {
+ if $verbose>1 then {
+ perror "Timed out trying to load $arg."
+ }
+ }
+ }
+ }
+
return 0;
}
-