From 2f1099839992840fbf5c913c7e56d98d750a3398 Mon Sep 17 00:00:00 2001 From: Bill Cox Date: Thu, 19 May 1994 19:58:04 +0000 Subject: * Makefile.in, configure.in, config/mips-gdb.exp, config/mt-a29k-udi, config/mt-i386-aout, config/mt-i960-nindy, config/mt-sparc-aout, config/udi-gdb.exp, config/unix-gdb.exp, config/unknown.exp, gdb.t00/default.exp, gdb.t00/help.exp,, gdb.t00/teststrategy.exp, gdb.t01/Makefile.in, gdb.t02/Makefile.in, gdb.t02/whatis.exp, gdb.t03/Makefile.in, gdb.t03/gdbme.c, gdb.t04/Makefile.in, gdb.t05/Makefile.in, gdb.t06/Makefile.in, gdb.t06/break.exp, gdb.t06/signals.c, gdb.t06/signals.exp, gdb.t08/Makefile.in, gdb.t08/opaque.exp, gdb.t09/Makefile.in, gdb.t10/Makefile.in, gdb.t11/Makefile.in, gdb.t12/Makefile.in, gdb.t13/Makefile.in, gdb.t15/Makefile.in, gdb.t15/funcargs.exp, gdb.t15/gdbme.c, gdb.t15/return.exp, gdb.t16/Makefile.in, gdb.t17/Makefile.in, gdb.t17/callfuncs.exp, gdb.t17/gdbme.c, gdb.t20/Makefile.in, gdb.t21/Makefile.in, gdb.t21/cplusfuncs.exp, gdb.t22/Makefile.in, gdb.t22/virtfunc.exp, gdb.t23/Makefile.in, gdb.t24/demangle.exp, lib/gdb.exp: Check in Rob's testing changes from 94Q1. --- gdb/testsuite/ChangeLog | 29 +++++++++++- 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/config/unknown.exp | 2 + gdb/testsuite/configure.in | 33 ++++---------- gdb/testsuite/lib/gdb.exp | 93 ++++++++++++++++++++++++++++++++------ 12 files changed, 127 insertions(+), 393 deletions(-) create mode 100644 gdb/testsuite/config/unknown.exp diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 4012397..f0cd3a5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,4 +1,24 @@ -Wed May 18 17:04:03 1994 Bill Cox (bill@rtl.cygnus.com) +Thu May 19 12:51:00 1994 Bill Cox (bill@rtl.cygnus.com) + + * Makefile.in, configure.in, config/mips-gdb.exp, + config/mt-a29k-udi, config/mt-i386-aout, config/mt-i960-nindy, + config/mt-sparc-aout, config/udi-gdb.exp, config/unix-gdb.exp, + config/unknown.exp, gdb.t00/default.exp, gdb.t00/help.exp,, + gdb.t00/teststrategy.exp, gdb.t01/Makefile.in, gdb.t02/Makefile.in, + gdb.t02/whatis.exp, gdb.t03/Makefile.in, gdb.t03/gdbme.c, + gdb.t04/Makefile.in, gdb.t05/Makefile.in, gdb.t06/Makefile.in, + gdb.t06/break.exp, gdb.t06/signals.c, gdb.t06/signals.exp, + gdb.t08/Makefile.in, gdb.t08/opaque.exp, gdb.t09/Makefile.in, + gdb.t10/Makefile.in, gdb.t11/Makefile.in, gdb.t12/Makefile.in, + gdb.t13/Makefile.in, gdb.t15/Makefile.in, gdb.t15/funcargs.exp, + gdb.t15/gdbme.c, gdb.t15/return.exp, gdb.t16/Makefile.in, + gdb.t17/Makefile.in, gdb.t17/callfuncs.exp, gdb.t17/gdbme.c, + gdb.t20/Makefile.in, gdb.t21/Makefile.in, gdb.t21/cplusfuncs.exp, + gdb.t22/Makefile.in, gdb.t22/virtfunc.exp, gdb.t23/Makefile.in, + gdb.t24/demangle.exp, lib/gdb.exp: Check in Rob's testing + changes from 94Q1. + +Wed May 18 17:04:03 1994 Bill Cox (bill@rtl.cygnus.com), * config/mt-lynx, config/mt-m68k, config/mt-mips-ecoff, config/mt-slite, config/mt-unix, config/mt-vxworks: Add @@ -185,6 +205,13 @@ Wed Mar 2 10:08:01 1994 Jim Kingdon (kingdon@deneb.cygnus.com) operator[] test with gdb_test because the old code didn't seem to be getting the quoting right with the new dejagnu. +Thu Feb 24 19:49:25 1994 Rob Savoye (rob@poseidon.cygnus.com) + + * lib/gdb.exp: Set GDB to a fresh gdb if there is one, else use + one from the path. + * Makefile.in: Use a fresh expect if there is one, use runtest + from the src tree if there is one. + Thu Feb 24 18:49:37 1994 Jim Kingdon (kingdon@deneb.cygnus.com) * gdb.t06/break.exp (test_next_with_recursion): Remove xfail for diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in index 41d4035..fae95a4 100644 --- a/gdb/testsuite/Makefile.in +++ b/gdb/testsuite/Makefile.in @@ -164,6 +164,7 @@ TARGET_FLAGS_TO_PASS = \ "INSTALL_DATA=$(INSTALL_DATA)" \ "LDFLAGS=$(LDFLAGS)" \ "LIBS=$(LIBS)" \ + "EXPECT=${EXPECT}" \ "RUNTEST=$(RUNTEST)" \ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ "BISON=$(BISON)" @@ -189,18 +190,9 @@ 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 3fce30e..c9c711e 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" - exp_continue + continue -expect } -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 b3b4e4d..d81f592 100644 --- a/gdb/testsuite/config/mt-a29k-udi +++ b/gdb/testsuite/config/mt-a29k-udi @@ -1,59 +1 @@ -# 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= +CFLAGS_FOR_TARGET = diff --git a/gdb/testsuite/config/mt-i386-aout b/gdb/testsuite/config/mt-i386-aout index 19b1cab..48ef7f7 100644 --- a/gdb/testsuite/config/mt-i386-aout +++ b/gdb/testsuite/config/mt-i386-aout @@ -1,59 +1 @@ -# 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= +CFLAGS_FOR_TARGET = \ No newline at end of file diff --git a/gdb/testsuite/config/mt-i960-nindy b/gdb/testsuite/config/mt-i960-nindy index bf5e486..a6ae4b6 100644 --- a/gdb/testsuite/config/mt-i960-nindy +++ b/gdb/testsuite/config/mt-i960-nindy @@ -1,59 +1 @@ -# 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= +CFLAGS_FOR_TARGET = -nostartfiles diff --git a/gdb/testsuite/config/mt-sparc-aout b/gdb/testsuite/config/mt-sparc-aout index c3abe65..f88f208 100644 --- a/gdb/testsuite/config/mt-sparc-aout +++ b/gdb/testsuite/config/mt-sparc-aout @@ -1,59 +1 @@ -# 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= +CFLAGS_FOR_TARGET = diff --git a/gdb/testsuite/config/udi-gdb.exp b/gdb/testsuite/config/udi-gdb.exp index 5d44efc..8bad181 100644 --- a/gdb/testsuite/config/udi-gdb.exp +++ b/gdb/testsuite/config/udi-gdb.exp @@ -24,13 +24,6 @@ # 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 @@ -96,47 +89,9 @@ 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 { } { - 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 $" {} - + default_gdb_start 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 1edda20..aec80a3 100644 --- a/gdb/testsuite/config/unix-gdb.exp +++ b/gdb/testsuite/config/unix-gdb.exp @@ -60,70 +60,8 @@ proc gdb_load { arg } { return [gdb_file_cmd $arg] } -# -# start gdb -- start gdb running -# - proc 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." - } - } + default_gdb_start } proc gdb_exit { } { diff --git a/gdb/testsuite/config/unknown.exp b/gdb/testsuite/config/unknown.exp new file mode 100644 index 0000000..ab746fa --- /dev/null +++ b/gdb/testsuite/config/unknown.exp @@ -0,0 +1,2 @@ +unsupported "Sorry, there is no support for this architecture.\n" +exit 1 diff --git a/gdb/testsuite/configure.in b/gdb/testsuite/configure.in index ab08d3a..032c790 100644 --- a/gdb/testsuite/configure.in +++ b/gdb/testsuite/configure.in @@ -26,30 +26,15 @@ target_makefile_frag=config/mt-unix # this section is for all targets case "${target}" in -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 ;; + 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 ;; esac case "${target}" in diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index cf754f9..38cc31c 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -19,13 +19,19 @@ # 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 [transform gdb] + set GDB [findfile $base_dir/../gdb "gdb" [transform gdb ]] } global GDBFLAGS @@ -33,12 +39,6 @@ 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,12 +301,13 @@ proc default_gdb_exit {} { # This used to be 1 for unix-gdb.exp set timeout 5 - # 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. + # 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). wait } @@ -373,6 +374,72 @@ 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 -- cgit v1.1