/lisa/test/rob/progressive/gdb/testsuite for these fixes.
+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,
"INSTALL_DATA=$(INSTALL_DATA)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBS=$(LIBS)" \
- "EXPECT=${EXPECT}" \
"RUNTEST=$(RUNTEST)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
"BISON=$(BISON)"
@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
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" }
-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=
-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=
-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=
-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=
# 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
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
}
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 { } {
# 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
# 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
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
#
# 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
}
}
}
-
-#
-# 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