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).
* gdb.base/a2-run.exp: Skip this file if noargs is set.
* gdb.base/break.c: Change things around so that this program
doesn't depend upon args. This is necessary to make remote
targets work (in general, they can't take args).
* gdb.base/break.exp: Don't try to send args to program. Don't
expect output. Also, replace lots of code with gdb_test.
only \r\n, not .*. The test can pass .* as the last thing in
$pattern if that is what it wants. In addition to providing this
flexibility, this change should speed up pattern matching in cases
where the pattern already ended with .* (there were a number of
them). This change also helps catch bad patterns--in the old
scheme the typo "char \*" instead of "char \\*" would pass. Now
it is caught.
* Many .exp files: Update callers.
"p '\'", which is the same as "p ''" once tcl gets done with
quoting, to "p '\\'", which I suspect is what is intended (one
backslash gets sent to GDB).
* gdb.base/printcmds.exp (test_artificial_arrays): New tests.
test, it causes stepping out of call_after_alloca_subr with
optimizing compilers.
(localvars_in_indirect_call): Consume GDB prompt if `finish'
fails.
* gdb.c++/misc.cc (class Contains_static_instance,
class Contains_nested_static_instance),
gdb.c++/classes.exp (test_static_members): Test printing of
a class that contains a static instance of the class.
remove them.
* gdb.base/nodebug.exp: Accept "function" in addition to "text
variable and "variable" in addition to "data variable".
* gdb.base/nodebug.exp: xfail datalocal and bsslocal tests for AIX.
restart GDB for h8300 after a continue.
(return): Add pattern to match a29k-udi behavior.
* gdb.base/nodebug.exp: Remove obsolete comment.
* gdb.base/regs.exp: New file, testing of register displays.
* gdb.base/return.exp: Fix typo in reference to $objdir.
* gdb.base/whatis.exp: Always start with a fresh GDB.
code following the catch silently ignored some errors; without the
catch they should be thrown like any other tcl error. Also, the
catch used "" instead of {} which meant all the callers who wanted
to include one of the characters "[]$ had to quote it an extra time.
* gdb.base/{callfuncs.exp,commands.exp,gdbvars.exp,printcmds.exp,
ptype.exp,signals.exp,watchpoint.exp}, gdb.c++/{cplusfuncs.exp,
demangle.exp}, gdb.chill/chexp.exp, gdb.fortran/exprs.exp:
Remove extra quoting.
gdb.c++/inherit.exp, gdb.c++/templates.exp, gdb.c++/virtfunc.exp,
gdb.fortran/exprs.exp, gdb.fortran/types.exp, gdb.chill/chexp.exp,
gdb.base/printcmds.exp: Remove passcount, failcount, etc., stuff;
it makes the tests harder to understand and confuses test-o-matic.
The preferred style is that each test provides a PASS or a FAIL,
and has a unique message (e.g. "continue #54" not just "continue")
which is the same for the pass and the fail.
* gdb.fortran/exprs.exp, gdb.fortran/types.exp,
gdb.chill/chexp.exp: Move test_print_accept and test_print_reject
to lib/gdb.exp.
* gdb.base/printcmds.exp: Use test_print_accept. Remove
prt_accept which was basically the same thing. Likewise for
test_print_reject and prt_reject.
* lib/gdb.exp (test_print_reject): Add some more error message
patterns to match from the former printcmds.exp (prt_reject).
* gdb.c++/classes.exp, gdb.base/scope.exp: Remove spurious xfails.
One defect of the passcount stuff is that some of it failed to
report XPASS where appropriate.
* gdb.c++/cplusfuncs.exp (print_addr_of): No longer accept extra
stuff before and after arg in expected pattern.
(test_paddr_operator_functions): Re-do test without print_addr_of;
this is the only test which seems to want extra stuff there.
compiler warning with dec alpha compiler.
* gdb.base/commands.exp (if_while_breakpoint_command_test): Remove
extra \n from gdb_test call (this explains why the prompt test
that I removed yesterday was there).
(user_defined_command_test): Remove extra \n and prompt test.
* gdb.base/sigall.c: If SIGABRT == SIGLOST, just act as if SIGLOST
doesn't exist. Likewise if SIGIO == SIGPOLL, pretend SIGPOLL
doesn't exist.
* gdb.base/sigall.exp: Remove special handling for SIGIO and SIGPOLL.
Also remove alpha workaround, which turns out to be because
SIGABRT == SIGLOST.
was a vestige of the manual TESTSTRATEGY, and the purpose of it
was to make sure that gdb can read a core file. But (a) the "read
the corefile" part didn't make it to a1-selftest.exp, we just
delete the corefile after creating it, and (b) we test reading
corefiles in corefile.exp anyway. Also, this test left around a
xgdb process on Solaris.
* gdb.base/corefile.exp: Also test backtrace.
when we'll be getting lots of output from gdb.
* gdb.base/a1-selftest.exp: Move code that was inside expect -re
"init_malloc" to after the expect statement. Run it if that
regexp is taken, but also for two others which happen if source
cannot be found.
* Makefile.in (site.exp): Don't insert host_os, etc.
(just-check): Just use RUNTEST with RUNTESTFLAGS only.
(distclean): Check existence of subdir.
* gdb.base/configure.in (hppa*-*-hpux*): Recognize.
* gdb.base/Makefile.in: General cleanup and simplification.
Use CC, CFLAGS, and LDFLAGS instead of ..._FOR_TARGET versions
to build executables. Use default rule to build .o files.
(EXPECT, RUNTEST, CC): Fix relative pathname.
(site.exp): Don't insert host_os, etc.
* gdb.base/signals.c (main): Don't call signal unless SIGALRM
and/or SIGUSR1 defined.
* gdb.base/watchpoint.c: Don't include stdio.h a second time.
* gdb.c++/Makefile.in: General cleanup and simplification.
Use CC, CFLAGS, and LDFLAGS instead of ..._FOR_TARGET versions
(CFLAGS): Remove.
(EXPECT, RUNTEST_FOR_TARGET, CXX): Fix relative pathname.