From 90fba5fa0f58e5c439414041a1679166b0eb2efe Mon Sep 17 00:00:00 2001 From: Bill Cox Date: Sat, 21 May 1994 17:24:22 +0000 Subject: [PATCH] * Revert the previous changes. Please see Rob's directory /lisa/test/rob/progressive/gdb/testsuite for these fixes. --- gdb/testsuite/ChangeLog | 5 ++ gdb/testsuite/Makefile.in | 10 +++- gdb/testsuite/config/mips-gdb.exp | 2 +- gdb/testsuite/config/mt-a29k-udi | 60 ++++++++++++++++++- gdb/testsuite/config/mt-i386-aout | 60 ++++++++++++++++++- gdb/testsuite/config/mt-i960-nindy | 60 ++++++++++++++++++- gdb/testsuite/config/mt-sparc-aout | 60 ++++++++++++++++++- gdb/testsuite/config/udi-gdb.exp | 47 ++++++++++++++- gdb/testsuite/config/unix-gdb.exp | 64 +++++++++++++++++++- gdb/testsuite/configure.in | 33 ++++++++--- gdb/testsuite/lib/gdb.exp | 93 +++++------------------------- 11 files changed, 397 insertions(+), 97 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f0cd3a56e4d..6b2e7650a95 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +Sat May 21 10:05:08 1994 Bill Cox (bill@rtl.cygnus.com) + + * Revert the previous changes. Please see Rob's directory + /lisa/test/rob/progressive/gdb/testsuite for these fixes. + Thu May 19 12:51:00 1994 Bill Cox (bill@rtl.cygnus.com) * Makefile.in, configure.in, config/mips-gdb.exp, diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in index fae95a47ac0..41d4035f12f 100644 --- a/gdb/testsuite/Makefile.in +++ b/gdb/testsuite/Makefile.in @@ -164,7 +164,6 @@ TARGET_FLAGS_TO_PASS = \ "INSTALL_DATA=$(INSTALL_DATA)" \ "LDFLAGS=$(LDFLAGS)" \ "LIBS=$(LIBS)" \ - "EXPECT=${EXPECT}" \ "RUNTEST=$(RUNTEST)" \ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ "BISON=$(BISON)" @@ -190,9 +189,18 @@ site.exp: ./config.status Makefile @echo "# Do not edit here. If you wish to override these values" >> ./tmp0 @echo "# add them to the last section" >> ./tmp0 @echo "set GDBFLAGS \"${GDBFLAGS}\"" >> ./tmp0 + @echo "set host_os ${host_os}" >> ./tmp0 + @echo "set host_alias ${host_alias}" >> ./tmp0 + @echo "set host_cpu ${host_cpu}" >> ./tmp0 + @echo "set host_vendor ${host_vendor}" >> ./tmp0 + @echo "set target_os ${target_os}" >> ./tmp0 + @echo "set target_alias ${target_alias}" >> ./tmp0 + @echo "set target_cpu ${target_cpu}" >> ./tmp0 + @echo "set target_vendor ${target_vendor}" >> ./tmp0 @echo "set host_triplet ${host_canonical}" >> ./tmp0 @echo "set target_triplet ${target_canonical}" >> ./tmp0 @echo "set srcdir ${srcdir}" >> ./tmp0 + @echo "set objdir `pwd`" >> ./tmp0 @echo "set tool gdb" >> ./tmp0 @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 @cat ./tmp0 > site.exp diff --git a/gdb/testsuite/config/mips-gdb.exp b/gdb/testsuite/config/mips-gdb.exp index c9c711e92fb..3fce30ed865 100644 --- a/gdb/testsuite/config/mips-gdb.exp +++ b/gdb/testsuite/config/mips-gdb.exp @@ -69,7 +69,7 @@ proc gdb_load { arg } { expect { -re "A program is being debugged already. Kill it\? \(y or n\)" { send "y\n" - continue -expect + exp_continue } -re "Reading symbols from.*done..*$prompt $" { } -re "$prompt $" { perror "GDB couldn't read file" } diff --git a/gdb/testsuite/config/mt-a29k-udi b/gdb/testsuite/config/mt-a29k-udi index d81f5928e1c..b3b4e4d9318 100644 --- a/gdb/testsuite/config/mt-a29k-udi +++ b/gdb/testsuite/config/mt-a29k-udi @@ -1 +1,59 @@ -CFLAGS_FOR_TARGET = +# compilers and assemblers +CC = a29k-amd-udi-gcc +CFLAGS = -g -D${target_os} +C++ = ${CC} +C++FLAGS = ${CFLAGS} +CXX = ${CC} +CXXFLAGS = ${CFLAGS} +AS = a29k-amd-udi-as +ASFLAGS = +FC = +FCFLAGS = +LD = ld +LDFLAGS = +LIBS = + +# binutils + +RANLIB = a29k-amd-udi-ranlib +RANLIBFLAGS = + +NM = a29k-amd-udi-nm +NMFLAGS = + +SIZE = a29k-amd-udi-size +SIZEFLAGS = + +STRIP = a29k-amd-udi-strip +STRIPFLAGS = + +OBJDUMP = a29k-amd-udi-objdump +OBJDUMPFLAGS = + +DEMANGLE = a29k-amd-udi-demangle +DEMANGLEFLAGS = + +COPY = a29k-amd-udi-copy +COPYFLAGS = + +# other utils +LEX = flex +LEXFLAGS = + +YACC = byacc +YACCFLAGS = + +AR = a29k-amd-udi-ar +ARFLAGS = + +CPP = ${CC} -E +CPPFLAGS = + +GDB = a29k-amd-udi-gdb +GDBFLAGS = -nx + +DIFF = diff +DIFFFLAGS = + +RUNTEST=a29k-amd-udi-runtest +RUNTESTFLAGS= diff --git a/gdb/testsuite/config/mt-i386-aout b/gdb/testsuite/config/mt-i386-aout index 48ef7f73735..19b1cabe5e7 100644 --- a/gdb/testsuite/config/mt-i386-aout +++ b/gdb/testsuite/config/mt-i386-aout @@ -1 +1,59 @@ -CFLAGS_FOR_TARGET = \ No newline at end of file +# compilers and assemblers +CC = i386-aout-gcc +CFLAGS = -g -D${target_os} +C++ = ${CC} +C++FLAGS = ${CFLAGS} +CXX = ${CC} +CXXFLAGS = ${CFLAGS} +AS = i386-aout-as +ASFLAGS = +FC = +FCFLAGS = +LD = ld +LDFLAGS = +LIBS = + +# binutils + +RANLIB = i386-aout-ranlib +RANLIBFLAGS = + +NM = i386-aout-nm +NMFLAGS = + +SIZE = i386-aout-size +SIZEFLAGS = + +STRIP = i386-aout-strip +STRIPFLAGS = + +OBJDUMP = i386-aout-objdump +OBJDUMPFLAGS = + +DEMANGLE = i386-aout-demangle +DEMANGLEFLAGS = + +COPY = i386-aout-copy +COPYFLAGS = + +# other utils +LEX = flex +LEXFLAGS = + +YACC = byacc +YACCFLAGS = + +AR = i386-aout-ar +ARFLAGS = + +CPP = ${CC} -E +CPPFLAGS = + +GDB = i386-aout-gdb +GDBFLAGS = -nx + +DIFF = diff +DIFFFLAGS = + +RUNTEST=i386-aout-runtest +RUNTESTFLAGS= diff --git a/gdb/testsuite/config/mt-i960-nindy b/gdb/testsuite/config/mt-i960-nindy index a6ae4b615d9..bf5e4860d77 100644 --- a/gdb/testsuite/config/mt-i960-nindy +++ b/gdb/testsuite/config/mt-i960-nindy @@ -1 +1,59 @@ -CFLAGS_FOR_TARGET = -nostartfiles +# compilers and assemblers +CC = i960-intel-nindy-gcc +CFLAGS = -g -D${target_os} +C++ = ${CC} +C++FLAGS = ${CFLAGS} +CXX = ${CC} +CXXFLAGS = ${CFLAGS} +AS = i960-intel-nindy-as +ASFLAGS = +FC = +FCFLAGS = +LD = ld +LDFLAGS = +LIBS = + +# binutils + +RANLIB = i960-intel-nindy-ranlib +RANLIBFLAGS = + +NM = i960-intel-nindy-nm +NMFLAGS = + +SIZE = i960-intel-nindy-size +SIZEFLAGS = + +STRIP = i960-intel-nindy-strip +STRIPFLAGS = + +OBJDUMP = i960-intel-nindy-objdump +OBJDUMPFLAGS = + +DEMANGLE = i960-intel-nindy-demangle +DEMANGLEFLAGS = + +COPY = i960-intel-nindy-copy +COPYFLAGS = + +# other utils +LEX = flex +LEXFLAGS = + +YACC = byacc +YACCFLAGS = + +AR = i960-intel-nindy-ar +ARFLAGS = + +CPP = ${CC} -E +CPPFLAGS = + +GDB = i960-intel-nindy-gdb +GDBFLAGS = -nx + +DIFF = diff +DIFFFLAGS = + +RUNTEST=i960-intel-nindy-runtest +RUNTESTFLAGS= diff --git a/gdb/testsuite/config/mt-sparc-aout b/gdb/testsuite/config/mt-sparc-aout index f88f2085c27..c3abe6504e2 100644 --- a/gdb/testsuite/config/mt-sparc-aout +++ b/gdb/testsuite/config/mt-sparc-aout @@ -1 +1,59 @@ -CFLAGS_FOR_TARGET = +# compilers and assemblers +CC = sparc-aout-gcc +CFLAGS = -g -D${target_os} +C++ = ${CC} +C++FLAGS = ${CFLAGS} +CXX = ${CC} +CXXFLAGS = ${CFLAGS} +AS = sparc-aout-as +ASFLAGS = +FC = +FCFLAGS = +LD = ld +LDFLAGS = +LIBS = + +# binutils + +RANLIB = sparc-aout-ranlib +RANLIBFLAGS = + +NM = sparc-aout-nm +NMFLAGS = + +SIZE = sparc-aout-size +SIZEFLAGS = + +STRIP = sparc-aout-strip +STRIPFLAGS = + +OBJDUMP = sparc-aout-objdump +OBJDUMPFLAGS = + +DEMANGLE = sparc-aout-demangle +DEMANGLEFLAGS = + +COPY = sparc-aout-copy +COPYFLAGS = + +# other utils +LEX = flex +LEXFLAGS = + +YACC = byacc +YACCFLAGS = + +AR = sparc-aout-ar +ARFLAGS = + +CPP = ${CC} -E +CPPFLAGS = + +GDB = sparc-aout-gdb +GDBFLAGS = -nx + +DIFF = diff +DIFFFLAGS = + +RUNTESTFLAGS=sparc-aout-runtest +RUNTESTFLAGS= diff --git a/gdb/testsuite/config/udi-gdb.exp b/gdb/testsuite/config/udi-gdb.exp index 8bad1810e1a..5d44efcb383 100644 --- a/gdb/testsuite/config/udi-gdb.exp +++ b/gdb/testsuite/config/udi-gdb.exp @@ -24,6 +24,13 @@ # NOTE: these test assume that there is a udi_soc file in th # +# these need to be initialized only if site.exp doesn't set them +set prompt "\(gdb\)" + +if ![info exists prompt] then { + set prompt "\(gdb\)" +} + load_lib gdb.exp load_lib udi.exp @@ -89,9 +96,47 @@ proc gdb_load { arg } { gdb_target_udi } +# +# gdb_start -- start GDB running. This assumes that there the +# UDICONF enviroment variable is set. +# proc gdb_start { } { - default_gdb_start + global GDB + global GDBFLAGS + global spawn_id + global prompt + global verbose + + set GDB [which $GDB] + # start GDB + if [ llength $GDBFLAGS ] then { + spawn $GDB $GDBFLAGS + } else { + spawn $GDB + } + expect { + -re "GDB.*$prompt $" { + verbose "$GDB initialized for cross mode\n" + } + -re "$prompt $" { + perror "GDB never initialized." + return -1 + } + timeout { + perror "(timeout) GDB never initialized." + return -1 + } + } + + # force the height to "unlimited", so no pagers get used + send "set height 0\n" + expect -re ".*$prompt $" {} + # force the width to "unlimited", so no wraparound occurs + send "set width 0\n" + expect -re ".*$prompt $" {} + verbose "Setting up target, Please wait..." + gdb_target_udi } diff --git a/gdb/testsuite/config/unix-gdb.exp b/gdb/testsuite/config/unix-gdb.exp index aec80a3087b..1edda205831 100644 --- a/gdb/testsuite/config/unix-gdb.exp +++ b/gdb/testsuite/config/unix-gdb.exp @@ -60,8 +60,70 @@ proc gdb_load { arg } { return [gdb_file_cmd $arg] } +# +# start gdb -- start gdb running +# + proc gdb_start {} { - default_gdb_start + global verbose + global GDB + global GDBFLAGS + global prompt + global spawn_id + global timeout + verbose "Spawning $GDB $GDBFLAGS" + + set oldtimeout $timeout + set timeout [expr "$timeout + 60"] + if [ llength $GDBFLAGS ] then { + if {[which $GDB] != 0} then { + spawn $GDB $GDBFLAGS + } else { + perror "$GDB does not exist." + exit 1 + } + } else { + if {[which $GDB] != 0} then { + spawn $GDB + } else { + perror "$GDB does not exist." + exit 1 + } + } + expect { + -re ".*\r\n$prompt $" { + verbose "GDB initialized for native mode" + } + -re "$prompt $" { + perror "GDB never initialized." + return -1 + } + timeout { + perror "(timeout) GDB never initialized." + return -1 + } + } + set timeout $oldtimeout + # force the height to "unlimited", so no pagers get used + send "set height 0\n" + expect { + -re ".*$prompt $" { + verbose "Setting height to 0." 2 + } + timeout { + warning "Couldn't set the height to 0." + } + } + # force the width to "unlimited", so no wraparound occurs + send "set width 0\n" + expect { + -re ".*$prompt $" { + verbose "Seting width to 0." 2 + } + timeout { + warning "Couldn't set the width to 0." + } + } } proc gdb_exit { } { diff --git a/gdb/testsuite/configure.in b/gdb/testsuite/configure.in index 032c7902804..ab08d3a8d32 100644 --- a/gdb/testsuite/configure.in +++ b/gdb/testsuite/configure.in @@ -26,15 +26,30 @@ target_makefile_frag=config/mt-unix # this section is for all targets case "${target}" in - i386-*-aout) target_makefile_frag=config/mt-i386-aout ;; - *-*-lynx) target_makefile_frag=config/mt-lynx ;; - *-*-vxworks) target_makefile_frag=config/mt-vxworks ;; - m68k-*-*) target_makefile_frag=config/mt-m68k ;; - i960-*-nindy) target_makefile_frag=config/mt-i960-nindy ;; - a29k-*-udi) target_makefile_frag=config/mt-a29k-udi ;; - sparclite-*-*) target_makefile_frag=config/mt-slite ;; - sparc-*-aout) target_makefile_frag=config/mt-sparc-aout ;; - mips-*-ecoff) target_makefile_frag=config/mt-mips-ecoff ;; +i386-*-aout) target_abbrev=aout ; + target_makefile_frag=config/mt-i386-aout ;; +m68*-abug-aout) target_abbrev=abug ; + target_makefile_frag=config/mt-m68k-abug-aout ;; +m68*-abug-coff) target_abbrev=abug ; + target_makefile_frag=config/mt-m68k-abug-coff ;; +m68*-*-abug) target_abbrev=abug ; + target_makefile_frag=config/mt-m68k-abug-aout ;; +m68k-*-coff) target_abbrev=coff ; + target_makefile_frag=config/mt-m68k-coff ;; +m68k-*-aout) target_abbrev=aout ; + target_makefile_frag=config/mt-m68k-aout ;; +i960-*-nindy) target_abbrev=nind ; + target_makefile_frag=config/mt-i960-nindy ;; +m68k-*-vxworks) target_abbrev=vx ; + target_makefile_frag=config/mt-m68k-vx ;; +i960-*-vxworks) target_abbrev=vx ; + target_makefile_frag=config/mt-i960-vx ;; +a29k-*-udi) target_abbrev=udi ; + target_makefile_frag=config/mt-a29k-udi ;; +a29k-isstip-*) target_abbrev=itip ; + target_makefile_frag=config/mt-a29k-isstip ;; +mips-idt-ecoff*) target_abbrev=mips ; + target_makefile_frag=config/mt-mips ;; esac case "${target}" in diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 38cc31c387a..cf754f9723e 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -19,19 +19,13 @@ # This file was written by Fred Fish. (fnf@cygnus.com) -# set the prompt if it doesn't exist -global prompt -if ![info exists prompt] then { - set prompt "\[(\]gdb\[)\]" -} - # Generic gdb subroutines that should work for any target. If these # need to be modified for any target, it can be done with a variable # or by passing arguments. global GDB if ![info exists GDB] then { - set GDB [findfile $base_dir/../gdb "gdb" [transform gdb ]] + set GDB [transform gdb] } global GDBFLAGS @@ -39,6 +33,12 @@ if ![info exists GDBFLAGS] then { set GDBFLAGS "" } +# set the prompt if it doesn't exist +global prompt +if ![info exists prompt] then { + set prompt "\[(\]gdb\[)\]" +} + # # gdb_version -- extract and print the version number of gcc # @@ -301,13 +301,12 @@ proc default_gdb_exit {} { # This used to be 1 for unix-gdb.exp set timeout 5 - # this will kill the gdb process, it's cleaner than sending a quit. - close - - # Before this was here sometimes "uit" would get sent to the next GDB - # (assuming this is immediately followed by gdb_start), which would - # cause a loss of syncronization (i.e. all the stuff that swallows a - # prompt would swallow the wrong one). + # We used to try to send "quit" to GDB, and wait for it to die. + # Dealing with all the cases and errors got pretty hairy. Just close it, + # that is simpler. + close + + # Omitting this probably would cause strange timing-dependent failures. wait } @@ -374,72 +373,6 @@ oaded." } } - -# -# start gdb -- start gdb running -# -proc default_gdb_start { } { - global verbose - global GDB - global GDBFLAGS - global prompt - global spawn_id - global timeout - verbose "Spawning $GDB $GDBFLAGS" - - set oldtimeout $timeout - set timeout [expr "$timeout + 60"] - if [ llength $GDBFLAGS ] then { - if {[which $GDB] != 0} then { - spawn $GDB $GDBFLAGS - } else { - perror "$GDB does not exist." - exit 1 - } - } else { - if {[which $GDB] != 0} then { - spawn $GDB - } else { - perror "$GDB does not exist." - exit 1 - } - } - expect { - -re ".*\r\n$prompt $" { - verbose "GDB initialized for native mode" - } - -re "$prompt $" { - perror "GDB never initialized." - return -1 - } - timeout { - perror "(timeout) GDB never initialized." - return -1 - } - } - set timeout $oldtimeout - # force the height to "unlimited", so no pagers get used - send "set height 0\n" - expect { - -re ".*$prompt $" { - verbose "Setting height to 0." 2 - } - timeout { - warning "Couldn't set the height to 0." - } - } - # force the width to "unlimited", so no wraparound occurs - send "set width 0\n" - expect { - -re ".*$prompt $" { - verbose "Setting width to 0." 2 - } - timeout { - warning "Couldn't set the width to 0." - } - } -} - # # FIXME: this is a copy of the new library procedure, but it's here too # till the new dejagnu gets installed everywhere. I'd hate to break the -- 2.30.2