From ae552cf14f1d922c7691a1697b5605e2a7e3c2e0 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 13 Jun 2006 13:09:18 +0000 Subject: gdb/testsuite/ * lib/gdb.exp (gdb_load_cmd): New. --- ChangeLog.csl | 5 +++++ gdb/testsuite/lib/gdb.exp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/ChangeLog.csl b/ChangeLog.csl index 304577d2b97..0faebe81d6a 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,8 @@ +2006-06-13 Nathan Sidwell + + gdb/testsuite/ + * lib/gdb.exp (gdb_load_cmd): New. + 2006-06-12 Nathan Sidwell gdb/ diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 4bb4b057789..eca2a504666 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1866,6 +1866,50 @@ proc gdb_exit { } { catch default_gdb_exit } +# +# gdb_load_cmd -- load a file into the debugger. +# ARGS - additional args to load command. +# return a -1 if anything goes wrong. +# +proc gdb_load_cmd { args } { + global gdb_prompt + + if [target_info exists gdb_load_timeout] { + set loadtimeout [target_info gdb_load_timeout] + } else { + set loadtimeout 1600 + } + send_gdb "load $args\n" + verbose "Timeout is now $timeout seconds" 2 + gdb_expect $loadtimeout { + -re "Loading section\[^\r\]*\r\n" { + exp_continue + } + -re "Start address\[\r\]*\r\n" { + exp_continue + } + -re "Transfer rate\[\r\]*\r\n" { + exp_continue + } + -re "Memory access error\[^\r\]*\r\n" { + perror "Failed to load program" + return -1 + } + -re "$gdb_prompt $" { + return 0 + } + -re "(.*)\r\n$gdb_prompt " { + perror "Unexpected reponse from 'load' -- $expect_out(1,string)" + return -1 + } + timeout { + perror "Timed out trying to load $arg." + return -1 + } + } + return -1 +} + # # gdb_load -- load a file into the debugger. # Many files in config/*.exp override this procedure. -- cgit v1.2.1