This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] gdb/testsuite/config/gdbserver.exp
- To: Elena Zannoni <ezannoni at cygnus dot com>
- Subject: Re: [RFA] gdb/testsuite/config/gdbserver.exp
- From: Fernando Nasser <fnasser at redhat dot com>
- Date: Thu, 10 May 2001 13:31:34 -0400
- CC: gdb-patches at sources dot redhat dot com
- Organization: Red Hat Canada
- References: <15062.32278.705462.45442@kwikemart.cygnus.com>
Elena Zannoni wrote:
>
> This patch allows a 'make check' using libremote to be a little more
> flexible, depending on the baseboard configuration file which can
> specify additional parameters.
>
> Thanks
> Elena
>
Approved. Thank you.
Fernando
> 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.
>
> Index: config/gdbserver.exp
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/testsuite/config/gdbserver.exp,v
> retrieving revision 1.9
> diff -u -p -r1.9 gdbserver.exp
> --- gdbserver.exp 2001/03/26 19:55:18 1.9
> +++ gdbserver.exp 2001/04/13 04:00:55
> @@ -92,6 +92,7 @@ set portnum "2345";
> proc gdb_load { args } {
> global server_exec;
> global portnum;
> + global verbose;
>
> # Port id -- either specified in baseboard file, or managed here.
> if [target_info exists gdb,socketport] {
> @@ -154,10 +155,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 +180,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;
> }
> -
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9