OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/trunk/gdb-5.0/gdb/testsuite/config
    from Rev 107 to Rev 1765
    Reverse comparison

Rev 107 → Rev 1765

/rom68k.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/m68k-emc.exp
0,0 → 1,17
load_lib gdb.exp
load_lib "../config/monitor.exp"
 
proc gdb_emclaptop_command { command } {
global board_info;
set tname [board_info target name];
 
if ![info exists board_info($tname,m68k_connected)] {
m68k_emc_board_connect target;
}
# This is about all we can do for now. *sigh*
set dos_host [board_info target dos_host];
 
remote_send $dos_host "${command}\n";
#remote_expect $dos_host {
#}
}
/cpu32bug.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/vr5000.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/m32r-stub.exp
0,0 → 1,20
load_lib "../../testsuite/config/sparclet.exp"
/i386-bozo.exp
0,0 → 1,20
load_lib "../config/monitor.exp"
/mips.exp
0,0 → 1,22
# Copyright (C) 1993, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
load_lib ../config/monitor.exp
 
 
/vxworks29k.exp
0,0 → 1,27
# Copyright (C) 1995, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
# This file was written by Brendan Kehoe (brendan@cygnus.com).
 
# We need this file here because the targetname for the 29k board
# is `vxworks29k', not `vxworks'. That way other tools (e.g., gcc)
# can differentiate between the stuff run on that board and others.
 
verbose "Loading ${srcdir}/config/vx.exp"
source ${srcdir}/config/vx.exp
/sparclet.exp
0,0 → 1,391
# Copyright (C) 1996, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
# This file was written by Michael Snyder <msnyder@cygnus.com>.
 
# GDB support routines for a board using the sparclet remote debugging
# protocol.
 
load_lib remote.exp
load_lib gdb.exp
 
#
# Sparclet remote run command.
#
 
proc gdb_start { } {
global gdb_prompt
 
if ![file exists loader] {
global libdir
set loader loader;
 
if [target_info exists gdb_stub_offset] {
set result [target_compile "${libdir}/stub-loader.c" $loader executable "libs=-Wl,-Ttext,[target_info gdb_stub_offset]"];
} else {
set result [target_compile "${libdir}/stub-loader.c" $loader executable "ldscript=[target_info gdb_stub_ldscript]"];
}
}
 
verbose -log "$gdb_prompt is gdb prompt"
 
set result 0;
for { set y 0; } { $y < 4 } { incr y } {
if { [default_gdb_start] != 0 } {
return -1;
}
 
if [target_info exists baud] {
send_gdb "set remotebaud [target_info baud]\n"
gdb_expect {
-re "$gdb_prompt" { }
default {
perror "Error setting baud rate."
return -1;
}
}
}
 
for {set x 1;} { $x < 4 } {incr x} {
set result [gdb_sparclet_startup $result];
if { $result > 0 } {
return 1;
}
# mmmmm, magic numbers.
if { $result == -42 || $result == -43 } {
break;
} else {
reboot_target;
}
}
if { $x == 4 } {
return -1;
}
gdb_exit;
sleep 5;
}
return -1;
}
 
proc gdb_sparclet_startup { arg } {
global gdb_prompt
global GDB
global verbose
 
set is_running_stub 0;
 
if [target_info exists serial] {
set serial [target_info serial];
} else {
set serial [target_info netport];
}
set protocol [target_info gdb_protocol];
set check_stub 1;
if { $arg != -42 } {
send_gdb "target $protocol $serial\n";
# 10 seconds may be a bit short.
gdb_expect 10 {
-re "already.*y or n." {
gdb_send "y\n";
exp_continue;
}
-re "Remote target.*connected to.*$gdb_prompt" { set check_stub 0; }
-re "$gdb_prompt" { }
timeout { }
}
if { $check_stub } {
verbose "timed out, checking if stub is already running"
send_gdb "\003";
sleep 1;
send_gdb "\003";
gdb_expect 10 {
-re "$gdb_prompt" { }
default {
remote_close host;
return -42;
}
}
}
}
if [target_info exists gdb_serial] {
set gdb_serial [target_info gdb_serial];
} else {
set gdb_serial $serial;
}
if { $check_stub } {
send_gdb "target remote $gdb_serial\n";
gdb_expect 15 {
-re "Remote debugging.*$gdb_prompt" {
verbose "stub is already running"
set is_running_stub 1;
}
default {
warning "board isn't responding";
remote_close host;
remote_reboot target;
return -43;
}
}
}
 
if { $is_running_stub == 0 } {
global srcdir
 
if [is_remote host] {
set loader [remote_download host "loader"];
} else {
set loader "loader";
}
send_gdb "file $loader\n";
gdb_expect {
-re "A program is being debug.*Kill it.*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "Load new symbol table.*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "Reading symbols from.*done..*$gdb_prompt $" {}
-re "$gdb_prompt $" { perror "GDB couldn't find loader" }
timeout {
perror "(timeout) read symbol file" ;
return -1
}
}
 
send_gdb "target $protocol $serial\n";
gdb_expect {
-re "Remote target.*connected to.*$gdb_prompt" { }
default {
perror "Error reconnecting to board.";
return -1;
}
}
 
send_gdb "load $loader [target_info gdb_stub_offset]\n"
verbose "Loading $loader into $GDB" 2
set no_run_command 0;
gdb_expect 1200 {
-re "Loading.*$gdb_prompt $" {
verbose "Loaded $loader into $GDB" 1
}
-re "Transfer rate:.*Switching to remote protocol.*Remote debugging" {
set no_run_command 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."
}
}
}
 
if !$no_run_command {
send_gdb "run\n";
gdb_expect 60 {
-re "A program is being debug.*Kill it.*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "The program being debugged .*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "Starting program:.*loader.*$" {
verbose "Starting loader succeeded"
}
timeout {
perror "(timeout) starting the loader" ;
return -1
}
default {
perror "error starting the loader";
}
}
}
sleep 2;
send_gdb ""
sleep 1;
send_gdb ""
verbose "Sent ^C^C"
gdb_expect 10 {
-re "Give up .and stop debugging it.*$" {
send_gdb "y\n"
exp_continue
}
-re "$gdb_prompt $" {
verbose "Running loader succeeded"
}
timeout {
warning "(timeout) interrupting the loader" ;
remote_close host;
}
default {
warning "error interrupting the loader";
}
}
 
gdb_exit;
return [gdb_start];
}
return 1;
}
 
proc gdb_run_cmd { args } {
global gdb_prompt
 
gdb_breakpoint exit;
send_gdb "set \$fp=0\n";
gdb_expect {
-re "$gdb_prompt" { }
}
# This is needed for the SparcLite. Whee.
if [target_info exists gdb,start_symbol] {
set start_comm "jump *[target_info gdb,start_symbol]\n";
} else {
set start_comm "jump *start\n";
}
send_gdb "break copyloop\n";
gdb_expect 10 {
-re "Breakpoint.*$gdb_prompt $" {
set start_comm "continue\n";
}
-re "$gdb_prompt $" { }
timeout { warning "break copyloop failed badly"; }
}
send_gdb $start_comm;
gdb_expect 10 {
-re "y or n. $" {
remote_send host "y\n"
exp_continue;
}
-re "Breakpoint.*in copyloop.*$gdb_prompt $" {
remote_send host "jump relocd\n";
exp_continue;
}
-re "Continuing at.*\[\r\n\]" { }
default {
return -1;
}
}
 
return "";
}
 
 
#
# gdb_load -- load a file into the GDB.
# Returns a 0 if there was an error,
# 1 if it load successfully.
#
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global gdb_prompt
global GDB
global expect_out
 
set loadfile [file tail $arg]
set loadpath [file dirname $arg]
 
set protocol [target_info gdb_protocol];
 
if [is_remote host] {
set arg [remote_download host $arg];
}
send_gdb "file $arg\n"
gdb_expect 30 {
-re "A program is being debug.*Kill it.*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "Load new symbol table.*y or n. $" {
send_gdb "y\n"
exp_continue
}
-re "Reading symbols from.*done..*$gdb_prompt $" {}
-re "$gdb_prompt $" { perror "GDB couldn't read file" }
timeout {
perror "(timeout) read symbol file" ;
return -1
}
}
 
if [target_info exists gdb_serial] {
set gdb_serial [target_info gdb_serial];
} else {
if [target_info exists serial] {
set gdb_serial [target_info serial];
} else {
set gdb_serial [target_info netport];
}
}
send_gdb "target remote $gdb_serial\n"
gdb_expect 30 {
-re "Kill it?.*y or n.*" {
send_gdb "y\n";
exp_continue
}
-re "$gdb_prompt $" {
verbose "Set remote target to $gdb_serial" 2
}
timeout {
perror "Couldn't set remote target."
return -1
}
}
if [target_info exists gdb_load_offset] {
set offset "[target_info gdb_load_offset]";
} else {
set offset "";
}
send_gdb "load $arg $offset\n"
verbose "Loading $arg into $GDB" 2
gdb_expect 1200 {
-re "Loading.*$gdb_prompt $" {
verbose "Loaded $arg into $GDB" 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."
}
}
}
send_gdb "list main\n";
gdb_expect 60 {
-re "$gdb_prompt" { }
default {
perror "command for list main never completed";
return -1;
}
}
 
return 0
}
/arm-ice.exp
0,0 → 1,391
load_lib "../config/monitor.exp";
/hmsirom.exp
0,0 → 1,22
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
# Support for testing against a Hitachi SH3 target rom
 
load_lib ../config/monitor.exp
/abug.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/slite.exp
0,0 → 1,183
# Copyright (C) 1993, 1997, 1998 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
# This file was written by Ian Lance Taylor <ian@cygnus.com>.
 
# GDB support routines for a board using the MIPS remote debugging
# protocol. These are actually pretty generic.
 
# DejaGnu currently assumes that debugging is being done over the main
# console port. It would probably be more convenient for people using
# IDT boards to permit the debugging port and the connected port to be
# different, since an IDT board has two ports. This would require
# extending some of the tests in a fashion similar to that done for
# VxWorks, because the test output would appear on the other port,
# rather than being displayed by gdb.
 
load_lib remote.exp
load_lib gdb.exp
set gdb_prompt "\\(gdb\\)"
 
#
# gdb_load -- load a file into the GDB.
# Returns a 0 if there was an error,
# 1 if it load successfully.
#
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global gdb_prompt
global GDB
global expect_out
 
set loadfile [file tail $arg]
set loadpath [file dirname $arg]
 
gdb_file_cmd $arg
 
if [target_info exists gdb_protocol] {
set protocol [target_info gdb_protocol];
} else {
set protocol "sparclite"
}
 
if [target_info exists serial] {
set targetname [target_info serial];
set command "target $protocol [target_info serial]\n";
} else {
if ![target_info exists netport] {
perror "Need either netport or gdb_serial entry for [target_info name].";
return -1;
}
set targetname [target_info netport];
set command "target $protocol udp [target_info netport]\n";
}
set timeout 60
verbose "Timeout is now $timeout seconds" 2
set try_count 0;
send_gdb $command;
gdb_expect {
-re "Unknown response.*resetting the board.|remote timeout" {
incr try_count;
if { $try_count > 3 } {
set try_count 0;
reboot_target;
sleep 5;
}
sleep 1;
send_gdb $command;
exp_continue;
}
-re "Remote target.*$gdb_prompt $" { }
-re ".*SPARClite appears to be alive.*$gdb_prompt $" {
if $verbose>1 then {
send_user "Set target to $targetname\n"
}
}
timeout {
perror "Couldn't set SLITE target."
set timeout 10
verbose "Timeout is now $timeout seconds" 2
return -1
}
}
if [target_info exists gdb_load_offset] {
set offset "[target_info gdb_load_offset]";
} else {
set offset "";
}
if { 1 } {
if [is_remote host] {
set arg [remote_download host $arg];
if { $arg == "" } {
error "download failed"
return -1;
}
}
send_gdb "load $arg $offset\n"
verbose "Loading $arg into $GDB" 2
set timeout 2400
verbose "Timeout is now $timeout seconds" 2
gdb_expect {
-re "Loading.*$gdb_prompt $" {
verbose "Loaded $arg into $GDB" 1
set timeout 30
verbose "Timeout is now $timeout seconds" 2
}
-re "$gdb_prompt $" {
if $verbose>1 then {
perror "GDB couldn't load."
}
}
timeout {
if $verbose>1 then {
perror "Timed out trying to load $arg."
}
}
}
}
# Some SPARClite boards automagically do a run after the program is
# loaded.
if [target_info exists need_monitor_run] {
set timeout 10
verbose "Timeout is now $timeout seconds, doing monitor run" 2
send_gdb "monitor run\n";
sleep 2;
send_gdb "";
gdb_expect {
-re ".*$gdb_prompt $" { verbose "Run command succeded" }
default {
perror "error sending monitor run command";
}
}
} else {
sleep 2;
}
 
if [target_info exists gdb_serial] {
set serial [target_info gdb_serial];
} else {
set serial [target_info serial];
}
send_gdb "target remote $serial\n"
set timeout 60
verbose "Timeout is now $timeout seconds" 2
gdb_expect {
-re ".*Kill it?.*y or n.*" {
send_gdb "y\n";
exp_continue
}
-re ".*$gdb_prompt $" {
verbose "Set remote target to [target_info serial]" 2
}
timeout {
perror "Couldn't set remote target."
set timeout 10
verbose "Timeout is now $timeout seconds" 2
return -1
}
}
 
if [info exists expect_out(buffer)] then {
send_log $expect_out(buffer)
}
return 0
}
/m32r.exp
0,0 → 1,23
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
set timeout 120
verbose "Timeout is now $timeout seconds" 2
 
/vxworks.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/vx.exp
/mips-idt.exp
0,0 → 1,22
# Copyright (C) 1993, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
load_lib ../config/monitor.exp
 
 
/proelf.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/monitor.exp
0,0 → 1,239
# Test Framework Driver for GDB driving a ROM monitor (via monitor.c).
# Copyright 1995, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
load_lib gdb.exp
puts "***** DID USE MONITOR ******"
#
# gdb_target_monitor
# Set gdb to target the monitor
#
proc gdb_target_monitor { exec_file } {
global gdb_prompt
global exit_status
global timeout
 
if [target_info exists gdb_protocol] {
set targetname "[target_info gdb_protocol]"
} else {
perror "No protocol specified for [target_info name].";
return -1;
}
if [target_info exists baud] {
gdb_test "set remotebaud [target_info baud]" "" ""
}
if [target_info exists binarydownload] {
gdb_test "set remotebinarydownload [target_info binarydownload]" "" ""
}
if { [ target_info exists disable_x_packet ] } {
gdb_test "set remote X-packet disable" ""
}
if { [ target_info exists disable_z_packet ] } {
gdb_test "set remote Z-packet disable" ""
}
if [target_info exists gdb_serial] {
set serialport "[target_info gdb_serial]";
} elseif [target_info exists netport] {
set serialport "[target_info netport]"
} else {
set serialport "[target_info serial]"
}
 
for {set j 1} {$j <= 2} {incr j} {
if [gdb_file_cmd $exec_file] { return -1; }
 
for {set i 1} {$i <= 3} {incr i} {
send_gdb "target $targetname $serialport\n"
gdb_expect 60 {
-re "A program is being debugged already.*ill it.*y or n. $" {
send_gdb "y\n";
exp_continue;
}
-re "Couldn't establish connection to remote.*$gdb_prompt" {
verbose "Connection failed";
}
-re "Remote MIPS debugging.*$gdb_prompt" {
verbose "Set target to $targetname";
return 0;
}
-re "Remote debugging using .*$serialport.*$gdb_prompt" {
verbose "Set target to $targetname";
return 0;
}
-re "Remote target $targetname connected to.*$gdb_prompt" {
verbose "Set target to $targetname";
return 0;
}
-re "Connected to.*$gdb_prompt" {
verbose "Set target to $targetname";
return 0;
}
-re "Ending remote.*$gdb_prompt" { }
-re "Connection refused.*$gdb_prompt" {
verbose "Connection refused by remote target. Pausing, and trying again."
sleep 30
continue
}
-re "Timeout reading from remote system.*$gdb_prompt" {
verbose "Got timeout error from gdb.";
}
timeout {
send_gdb "";
break
}
}
}
 
gdb_target_exec;
 
if { $j == 1 && ![reboot_target] } {
break;
}
}
 
perror "Couldn't set target for $targetname, port is $serialport.";
return -1;
}
 
proc gdb_target_exec { } {
gdb_test "target exec" "No executable file now." "" ".*Kill it.*y or n.*" "y"
}
#
# gdb_load -- load a file into the debugger.
# return a -1 if anything goes wrong.
#
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global GDB
global gdb_prompt
global timeout
global last_gdb_file;
 
if { $arg == "" } {
if [info exists last_gdb_file] {
set arg $last_gdb_file;
} else {
send_gdb "info files\n";
gdb_expect 30 {
-re "Symbols from \"(\[^\"\]+)\"" {
set arg $expect_out(1,string);
exp_continue;
}
-re "Local exec file:\[\r\n\]+\[ \t\]*`(\[^'\]+)'," {
set arg $expect_out(1,string);
exp_continue;
}
-re "$gdb_prompt $" { }
}
}
}
 
set last_gdb_file $arg;
 
for { set j 1; } { $j <= 2 } {incr j; } {
if [target_info exists gdb,use_standard_load] {
gdb_target_exec;
if ![target_info exists gdb,no_push_conn] {
remote_push_conn host;
}
set state [remote_ld target $arg];
if ![target_info exists gdb,no_push_conn] {
remote_close target;
remote_pop_conn host;
}
if { $state == "pass" } {
if [gdb_target_monitor $arg] { return -1; }
gdb_test "list main" ".*" ""
verbose "Loaded $arg into $GDB\n";
return 0;
}
} else {
 
if [gdb_target_monitor $arg] { return -1 }
 
if [is_remote host] {
# FIXME: Multiple downloads. bleah.
set farg [remote_download host $arg];
} else {
set farg $arg;
}
 
if { $arg != "" && [target_info exists gdb_sect_offset] } {
set textoff [target_info gdb_sect_offset];
send_gdb "sect .text $textoff\n";
gdb_expect 30 {
-re "(0x\[0-9a-z]+) - 0x\[0-9a-z\]+ is \\.data" {
set dataoff $expect_out(1,string);
exp_continue;
}
-re "(0x\[0-9a-z\]+) - 0x\[0-9a-z\]+ is \\.bss" {
set bssoff $expect_out(1,string);
exp_continue;
}
-re "$gdb_prompt" { }
}
set dataoff [format 0x%x [expr $dataoff + $textoff]];
set bssoff [format 0x%x [expr $bssoff + $textoff]];
send_gdb "sect .data $dataoff\n";
gdb_expect 30 {
-re "$gdb_prompt" { }
}
send_gdb "sect .bss $bssoff\n";
gdb_expect 30 {
-re "$gdb_prompt" { }
}
}
 
verbose "Loading $farg"
if [target_info exists gdb_load_offset] {
set command "load $farg [target_info gdb_load_offset]\n";
} else {
set command "load $farg\n";
}
send_gdb $command;
gdb_expect 1600 {
-re "\[Ff\]ailed.*$gdb_prompt $" {
verbose "load failed";
}
-re "Timeout reading from remote.*$gdb_prompt" {
}
-re "$gdb_prompt $" {
verbose "Loaded $farg into $GDB\n"
return 0;
}
timeout {
if { $verbose > 1 } {
perror "Timed out trying to load $farg."
}
}
}
}
 
# Make sure we don't have an open connection to the target.
gdb_target_exec;
 
if { $j == 1 } {
if { ![reboot_target] } {
break;
}
}
}
perror "Couldn't load file into GDB.";
return -1;
}
/i960.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/sim.exp
0,0 → 1,85
# Test Framework Driver for GDB driving a builtin simulator
# Copyright 1994, 1997, 1998 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
load_lib gdb.exp
 
#
# gdb_target_sim
# Set gdb to target the simulator
#
proc gdb_target_sim { } {
global gdb_prompt
global exit_status
set target_sim_options "[board_info target gdb,target_sim_options]";
 
send_gdb "target sim $target_sim_options\n"
set timeout 60
verbose "Timeout is now $timeout seconds" 2
gdb_expect {
-re "Connected to the simulator.*$gdb_prompt $" {
verbose "Set target to sim"
}
timeout {
perror "Couldn't set target for simulator."
cleanup
exit $exit_status
}
}
set timeout 10
verbose "Timeout is now $timeout seconds" 2
}
 
#
# gdb_load -- load a file into the debugger.
# return a -1 if anything goes wrong.
#
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global GDB
global gdb_prompt
 
if [gdb_file_cmd $arg] then { return -1 }
 
gdb_target_sim
 
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."
}
}
}
}
/nind.exp
0,0 → 1,49
# Test Framework Driver
# Copyright (C) 1988, 1990, 1991, 1992, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
# This file was written by Rob Savoye. (rob@cygnus.com)
 
load_lib gdb.exp
 
#
# gdb_load -- load a file into the debugger.
#
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global gdb_prompt
global GDB
set loadfile [file tail $arg]
set loadpath [file dirname $arg]
send_user "Not implememted yet\n" ; return -1
}
 
#
# gdb_start -- start GDB running
#
proc gdb_start { } {
global GDB
global GDBFLAGS
global spawn_id
global gdb_prompt
global verbose
send_user "Not implememted yet\n" ; return -1
}
/hppro.exp
0,0 → 1,24
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
 
# Hppro monitor is very slow...
set timeout 540
verbose "Timeout is now $timeout seconds" 2
/cfdbug.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib "../config/monitor.exp"
/est.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/cygmon.exp
0,0 → 1,20
load_lib "../config/monitor.exp";
/vx.exp
0,0 → 1,130
# Copyright (C) 1988, 1990, 1991, 1992, 1995, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
# This file was written by Rob Savoye. (rob@cygnus.com)
 
#
# load support libraries
#
load_lib remote.exp
load_lib gdb.exp
 
set shell_prompt "->"
set gdb_prompt "\\(vxgdb\\)"
 
#
# gdb_version -- extract and print the version number of gcc
#
proc gdb_version {} {
default_gdb_version
}
 
#
# gdb_load -- load a file into the debugger.
# We have to stop and start gdb each time we do this, because when
# vxgdb loads two files in a row, the symbols in the first file loaded
# take precedence. Returns -1 on error, else 0.
#
proc gdb_load { arg } {
set result 0
 
if { [remote_ld target $arg] != 0 } {
perror "Couldn't load $arg"
return -1
}
 
return [gdb_file_cmd $arg]
}
 
#
# gdb_start -- start gdb running
#
proc gdb_start { } {
global gdb_prompt
global verbose
global connectmode
global reboot
 
# get a connection to the board
for { set x 0; } { $x < 3 } { incr x } {
set shell_id [remote_open target]
if { $shell_id > 0 } {
verbose "Spawn id for remote shell is $shell_id"
 
set timeout 10
verbose "Timeout is now $timeout seconds" 2
 
set state [spawn_vxgdb];
if { $state == "pass" } {
return 0;
}
if { $state == "fail" } {
return -1;
}
}
remote_reboot target;
}
}
 
proc spawn_vxgdb { } {
global gdb_prompt
 
default_gdb_start
 
# set the default arguments to "main", so that "run" with no
# arguments will work correctly.
send_gdb "set args main\n"
gdb_expect -re ".*$gdb_prompt $" {}
 
verbose "Setting up target, Please wait..."
# set targets hostname
send_gdb "target vxworks [target_info hostname]\n"
set timeout 60
verbose "Timeout is now $timeout seconds" 2
gdb_expect {
-re "Done\..*$gdb_prompt $" {
verbose "Set target to [target_info hostname]" 1
set timeout 10;
return "pass";
}
-re "net_connect: RPC: (Program not registered|.*Timed out).*$" {
warning "Couldn't set GDB to target [target_info netport]."
}
timeout {
warning "Couldn't set target for vxworks."
}
}
return "retry";
}
 
proc gdb_exit { } {
remote_close target;
catch default_gdb_exit
}
 
#expect_after {
# "<return>" { send "\n"; perror "Window too small." }
# -re "\(y or n\) " { send "n\n"; perror "Got interactive prompt." }
# buffer_full { perror "internal buffer is full." }
# eof { perror "eof -- pty is hosed." }
# timeout { perror "timeout." }
# "virtual memory exhausted" { perror "virtual memory exhausted." }
# "Undefined command" { perror "send string probably wrong." }
#}
 
/vr4300.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/unknown.exp
0,0 → 1,21
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
perror "Sorry, there is no support for this target"
exit 1
/h8300.exp
0,0 → 1,21
load_lib "../config/monitor.exp";
/netware.exp
0,0 → 1,218
# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
# This file was written by J.T. Conklin. (jtc@cygnus.com)
 
load_lib gdb.exp
load_lib remote.exp
 
global shell_id
 
global LD
if ![info exists LD] then {
set LD [findfile "$base_dir/../../ld/ld.new"]
}
 
global NLMCONV
if ![info exists NLMCONV] then {
set NLMCONV [findfile "$base_dir/../../binutils/nlmconv"]
}
 
#
# gdb_version -- extract and print the version number of gcc
#
proc gdb_version {} {
default_gdb_version
}
 
#
# gdb_unload -- unload a file if one is loaded
#
 
#
# gdb_load -- load a file into the debugger.
# return a -1 if anything goes wrong.
#
proc gdb_load { arg } {
global gdb_prompt
global LD
global NLMCONV
global errorCode
global shell_id
 
# FIXME: this is wrong.
set targetname [target_info name];
 
set obj [file tail $arg]
set nlm "$obj.nlm"
set lnk "$obj.lnk"
 
# build *.lnk file
set fd [open $lnk w]
puts $fd "description \"[file tail $nlm]\""
puts $fd "screenname \"System Console\""
puts $fd "module clib.nlm"
puts $fd "module mathlib.nlm"
puts $fd "stack 32768"
# puts $fd "stack 64512"
puts $fd "debug"
# FIXME: don't hardcode location of prelude.o
puts $fd "input /s1/cygnus/dejagnu/i386-netware/lib/prelude.o"
puts $fd "input $arg"
puts $fd "output $nlm"
close $fd
 
# run nlmconv
verbose "Executing: $NLMCONV -l$LD -T$lnk" 1
catch "exec $NLMCONV -l$LD -T$lnk" output
if ![string match "" $output] then {
verbose $output 1
}
if ![string match "NONE" $errorCode] {
warning "Can't link $arg"
 
return -1
}
catch "exec rm -f $lnk"
 
# download
verbose "Downloading $nlm" 1
catch "exec cp $nlm /.NetWare/$targetname.nws/sys.nwv/tmp/x.nlm" output
if ![string match "" $output] then {
verbose $output 1
return -1
}
 
gdb_file_cmd $nlm
}
 
proc gdb_run_cmd { } {
global shell_id
global gdb_prompt
global timeout
 
set connhost [target_info name];
if [board_info $connhost exists serial] {
set serialport [board_info $connhost serial];
} else {
set serialport [board_info $connhost netport];
}
 
if [board_info $connhost exists baud] {
set baud [board_info $connhost baud];
} else {
set baud 9600;
}
# FIXME: This is wrong.
send "kill\n"
gdb_expect {
-re ".*Kill the program being debugged.*y or n. $" {
send "y\n"
exp_continue
}
-re ".*$gdb_prompt $" {}
}
 
verbose "Starting GDB stub on [target_info name]" 1
send -i $shell_id "load nlmstub BAUD=$baud x.nlm\r\n"
 
send "set remotebaud $baud\n"
gdb_expect {
-re "$gdb_prompt" {}
timeout {
perror "Couldn't set remote baud rate"
return
}
}
 
set otimeout $timeout
set timeout 60
verbose "Timeout is now $timeout seconds" 2
send "target remote $serialport\n"
gdb_expect {
-re "Couldn't establish connection to remote target" {
send "target remote $serialport\n"
exp_continue
}
-re "$gdb_prompt" {}
timeout {
set timeout $otimeout
verbose "Timeout restored to $timeout seconds" 2
perror "Couldn't set remote target"
return
}
}
set timeout $otimeout
verbose "Timeout restored to $timeout seconds" 2
 
send "continue\n"
gdb_expect {
"Continuing.$" {}
}
 
return
}
 
 
 
#
# start the remote shell
#
 
set shell_prompt "Password:"
set shell_id [remote_open target]
 
if $shell_id<0 then {
warning "Couldn't connect to target"
return -1
}
 
if [string match "" $passwd] then {
stty -echo
send_user "Password: "
expect_user -re "(.*)\n"
send_user "\n"
set passwd "$expect_out(1,string)"
stty echo
}
 
send -i $shell_id "$passwd\n"
gdb_expect {
-i $shell_id ":" {
verbose "Got termtype prompt" 0
}
 
-i $shell_id timeout {
warning "Connection timed out"
return -1
}
}
 
 
# FIXME: this is wrong.
set shell_prompt "[string toupper [target_info name]]:"
send -i $shell_id "1\n"
 
gdb_expect {
-i $shell_id -re "$shell_prompt" {}
-i $shell_id timeout {
warning "Connection timed out"
return -1
}
}
/sh.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
/d10v.exp
0,0 → 1,20
# Copyright (C) 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib "../config/monitor.exp"
/dve.exp
0,0 → 1,23
# Copyright (C) 1998 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
set timeout 1000
verbose "Timeout is now $timeout seconds" 2
 
/udi.exp
0,0 → 1,112
# Test Framework Driver for GDB driving Universal Debug Interface on 29K
# Copyright 1988, 1990, 1991, 1992, 1993, 1994, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# DejaGnu@cygnus.com
 
# This file was written by Rob Savoye. (rob@cygnus.com)
 
load_lib gdb.exp
 
#
# gdb_target_udi
# Set gdb to the desired UDI target
#
proc gdb_target_udi { } {
global gdb_prompt
global verbose
global exit_status
 
set targetname [target_info mondfe,name];
# set targets hostname
send_gdb "target udi $targetname\n"
set timeout 60
verbose "Timeout is now $timeout seconds" 2
gdb_expect {
-re "target udi $targetname\[\r\n\]+" {
exp_continue
}
-re "TIP UDI 1.2 Conformant.*$gdb_prompt $" {
verbose "Set target to $targetname"
}
-re "TIP-ipc WARNING,.*failed:" {
warning "$expect_out(buffer)"
}
-re "TIP-ipc ERROR,.*failed:" {
perror "$expect_out(buffer)"
}
-re "A program is being debugged already. Kill it\? \(y or n\)" {
send "y\n"
exp_continue
}
timeout {
perror "Couldn't set target for UDI."
cleanup
exit $exit_status
}
}
set timeout 10
verbose "Timeout is now $timeout seconds" 2
}
 
#
# gdb_load -- load a file into the debugger.
# return a -1 if anything goes wrong.
#
 
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global GDB
global gdb_prompt
 
if [gdb_file_cmd $arg] {
return -1
}
 
gdb_target_udi
}
 
#
# gdb_start -- start GDB running. This assumes that there the
# UDICONF enviroment variable is set.
#
proc gdb_start { } {
global env;
 
set env(UDICONF) [target_info mondfe,udi_soc];
default_gdb_start
verbose "Setting up target, Please wait..."
gdb_target_udi
}
 
#
# gdb_exit -- exit gdb
#
proc gdb_exit { } {
catch default_gdb_exit
set in [open [concat "|ls -F"] r]
while {[gets $in line]>-1} {
if [regexp "=$" $line] then {
set line [string trimright $line "="]
verbose "Removing the $line named socket"
exec rm -f $line
}
}
close $in
}
/unix.exp
0,0 → 1,29
# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
# This file was written by Rob Savoye. (rob@cygnus.com)
 
# Set a default timeout to be used for the tests under UNIX, rather than
# accepting whatever default dejagnu gives us (apparently 10 seconds).
# When running the tests over NFS, under somewhat heavy load, 10 seconds
# does not seem to be enough. Try starting with 60.
set timeout 60
verbose "Timeout is now $timeout seconds" 2
 
load_lib gdb.exp
/mn10300-eval.exp
0,0 → 1,23
# Copyright (C) 1998 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
 
load_lib ../config/monitor.exp
set timeout 1000
verbose "Timeout is now $timeout seconds" 2
 
/gdbserver.exp
0,0 → 1,104
# Test Framework Driver for GDB using the extended gdb remote protocol
# Copyright 1995, 1997 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
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# For this to function correctly, you need to set a number of variables
# in your gdb/site.exp file
#
# set noargs 1 -- we can't pass arguments (yet)
# set noinferiorio 1 -- we can't get io to/from the inferior
# set targethost <host> -- name of the remote system (runs gdbserver)
# set debughost <host> -- name of the system running gdb
# set port <number> -- starting port number for communication
# set gdbserver <path> -- path (on the remote side) to find
# gdbserver
# set rsh <path> -- path (on debughost side) to rsh
# set rcp <path> -- path (on debughost side) to rcp
#
# You will need to be able to spawn processes from gdbhost to run on
# targethost via rsh (this is how we start gdbserver); similarly
# you need to be able to rcp files from gdbhost to targethost.
#
# We don't do much error checking, if something goes wrong, you'll probably
# just get a tcl error and everything will die. FIXME
#
 
# Load the basic gdb testing library
load_lib gdb.exp
load_lib monitor.exp
 
#
# gdb_load -- load a file into the debugger.
# return a -1 if anything goes wrong.
#
# Loading a file in the gdbsrever framework is a little strange in that
# we also create the inferior (which is stopped at the first instruction
# in the program when we get control).
#
proc gdb_load { arg } {
global verbose
global loadpath
global loadfile
global GDB
global gdb_prompt
global debughost
global port
 
# bump the port number to avoid conflicts with hung ports
set targethost [target_info gdb_server_host];
set debughost [target_info gdb_debug_host];
if [target_info exists gdb_server_prog] {
set gdbserver [target_info gdb_server_prog];
} else {
set gdbserver "gdbserver";
}
incr port
set serialport $targethost:$port
# Copy the file down to the remote host.
set file [remote_download host $arg];
 
# now start gdbserver on the remote side
remote_spawn host "$gdbserver $debughost:$port $file >& /dev/null < /dev/null"
# give it plenty of time to get going (lynx)
sleep 30
 
# tell gdb we are remote debugging
if [gdb_target_monitor $arg] {
return -1;
}
 
return 1
}
 
#
# gdb_start -- start GDB running.
#
proc gdb_start { } {
global gdb_prompt
 
# do the usual stuff
catch default_gdb_start
 
# FIXME: This shouldn't be necessary, but lots of PA tests fail
# without it.
send "set remotecache 0\n"
expect {
-re "set remotecache 0\[\r\n\]+.*$gdb_prompt $" {}
default { fail "gdb_start"}
}
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.