config/rom68k.exp: New tcl glue for the appropriate monitors.
These all just end up calling monitor.exp.
* config/monitor.exp (gdb_target_monitor): Handle `Connection
refused' by retrying. Cleanup some timeout issues.
* (gdb_load): Reduce timeout. Cleanup some timeout issues.
* lib/gdb.exp (gdb_test gdb_test_exact): Upvar timeout so that
callers don't have to set/restore global timeout variable.
* The following set of changes centralizes management of the global
timeout variable. This way, it can be set in one target dependent
place instead of dozens of places scattered throughout the test suite.
If you need to lengthen a timeout, then you should either set timeout
in one of the config/{target}.exp files, or multiply it by a factor.
Setting it to an absolute value is always going to lose for some
targets.
* gdb.base/a1-selftest.exp (test_with_self): Only use local timeout.
* gdb.base/callfuncs.exp (do_function_calls): Don't set timeout.
* gdb.base/funcargs.exp: Don't set timeout.
* gdb.base/list.exp (test_forward_search): Only use local timeout.
* gdb.base/printcmds.exp (test_print_string_constants
test_print_array_constants): Don't set timeout.
* gdb.base/ptype.exp: Don't set timeout.
* gdb.base/recurse.exp: Don't set timeout.
* gdb.base/return.exp: Don't set timeout.
* gdb.base/watchpoint.exp: Don't set timeout.
* gdb.c++/classes.exp (do_tests): Don't set timeout.
* gdb.c++/virtfunc.exp (test_virtual_calls): Don't set timeout.
Use targetname, serialport and baud variables instead of fixed
constants.
* config/rom68k.exp: Fix copyright and comments. Remove dead code.
* config/cpu32bug.exp: New file to support cpu32bug monitors.
* TODO: Remove item about printing variables in nodebug.exp. Add
item about enabling tests which are only run on some targets.
* gdb.base/watchpoint.exp: Various cleanups (make each test pass or
fail, make test names unique, use new gdb_test convention
regarding pattern, use gdb_test more, etc.).
short.
* gdb.base/nodebug.exp: Remove xfails for ecoff systems, they
are fixed by the recent mdebugread.c changes. Allow `short ()'
as type for top and middle.
nearly as I can tell, the whole thing was an accident in Stu's
change of 24 Mar 1995 (logged in ../ChangeLog), in which he meant
to replace a send/expect pair with gdb_test, but ended up only
adding the gdb_test. My change of 24 Mar 1995 and Kung's change
of 30 Mar 1995 took care of it, but left this vestigial comment
which I am now nuking.
reason for skipping the warning was that configure.in sometimes
intentionally skipped building the executables but the tcl code
had no way of knowing. That (a) was always bogus with respect to
error handling, (b) is no longer true (right now there is no way
to skip C++ tests).
* gdb.c++/demangle.exp: Remove unused binfile and srcfile variables.
number (we are already testing that the correct source line text
gets printed).
* gdb.base/break.exp: Make one test if $usestubs. I'm not sure
that is what is intended, but something needed to be done to get
sunos4 native working again.
* gdb.c++/misc.cc (main): Fix typo (#iffef -> #ifdef).
* findvar.c: Move default def of CANNOT_STORE_REGISTER closer to
the beginning of the code.
* (write_register_gen): New routine. Analogous to
read_register_gen.
* (write_register_bytes): Another rewrite! Make it smarter about
not updating regs with the same value.
* monitor.c (printf_monitor readchar): Use stderr instead of
stdout to output debug info. Also cleanup readchar a little.
* (expect): Make sure that excessive responses are null
terminated.
* (monitor_open): Check for magic number in monitor_ops struct.
Allow multiple commands as init strings. Also, clear all
breakpoints.
* (monitor_resume monitor_wait): Send a command to dump all the
regs for those targets which don't do so when waking up after a
continue command.
* (monitor_wait): Handle excessive response output better.
* (monitor_write_memory): Use block fill, word, and long word
commands (if they exist) to write memory more efficiently.
* General cleanups to use flag bits instead of individual flag
words in monitor_ops struct.
* (monitor_command): Return output from command.
* (monitor_load_srec): Allocate buffer only once. Use alloca.
Wait for load response string instead of using a timeout to start
sending S-records. Fix bug where value of srec_frame shrinks. If
hashmark is set, print `-' for retransmissions. General cleanups.
* (monitor_make_srec): Get rid of S-record default type kludge.
* monitor.h: Use seperate struct for memory and register
read/write commands. Memory commands can come in byte, word,
long, and longlong forms.
* (monitor_ops): Change lots of fields. Generalize some stuff.
Put all flags into flags word. Allow init to be a list of commands.
Add command for clearing all breakpoints, block fill, dumping all
registers.
* remote-est.c: Rewrite to use new monitor conventions.
* config/m68k/est.mt (TDEPFILES): Add monitor.o.
* config/m68k/tm-est.h: Set NUM_REGS to 18.
* testsuite/gdb.base/break.exp: Lots of cleanups. Use gdb_test
more thoroughly.
runto_main is a proc in gdb.exp that will do 'step' for target use
stubs.
* gdb.base/exprs.exp: ditto.
* gdb.base/interrupt.exp: ditto.
* gdb.base/opaque.exp: ditto.
* gdb.base/printcmds.exp: ditto.
* gdb.base/ptype.exp: ditto.
* gdb.base/scope.exp: ditto.
* gdb.base/setvar.exp: ditto.
* gdb.base/signals.exp: ditto.
* gdb.base/twice.exp: ditto.
* gdb.base/break.exp: no run and hit main for stubs. Change line
numbers for breakpoints and info breakpoint.
* gdb.base/break.c: Add #ifdef usestubs for set_debug_traps() and
breakpoint().
* gdb.base/callfuncs.c: ditto.
* gdb.base/exprs: ditto.
* gdb.base/interrupt.c: ditto.
* gdb.base/opaque0.c: ditto.
* gdb.base/printcmds.c: ditto.
* gdb.base/ptype.c: ditto.
* gdb.base/scope0.c: ditto.
* gdb.base/setvar.c: ditto.
* gdb.base/signals.c: ditto.
* gdb.base/twice.c: ditto.
somewhere between `read' and `main.c'. I'm pretty sure the
pattern ".*#\[0-9\].*" was slowing down pattern matching a lot,
and it isn't particularly useful.
* TODO: Remove "handle all print". Also remove item about
checking copyright date (I don't like the idea of a spurious FAIL
based on when we run the tests).