inferior functions and return various types.
* gdb.base/callfuncs.c: Add functions to receive a struct
and return a member of the struct, in various types.
"call function when asleep" and "send end of file".
* gdb.base/corefile.exp: Add "i*86-*-linuxaout" to xfail list
for "backtrace in corefile.exp".
* gdb.base/a1-selftest.exp: Add "i*86-*-linux*" to xfail list
for "backtrace through signal handler".
* gdb.base/corefile.exp: Make sure we actually generate a core file
before trying the core tests. Some systems allow the user to suppress
generation of core files and default to that (linux for example).
* gdb.base/signals.exp: Change xfail for "next" acting like "continue"
from "i*86-*-linux" to "i*86-*-linuxaout". Works with ELF beta.
gdb tests (step.exp and step2.exp).
* config/mt-lynx (STEP_EXECUTABLE): Define.
(THREADFLAGS): Define.
Hiro's test for 6100 and a crude test of my own. They both need some
major cleanup for non-lynx hosts; both are also a little too loose in
their checks. But I'm too burnt out on lynx to address either concern.
further notice.
Looks like a bug in the lynx2.2.2 kernel scroggs the stack pointer in
these tests leading to massive failures. I've sent a nice small concise
example to Mark Rome @ lynx. Severe braindamage.
typo in setting up configdirs for native builds.
* gdb.base/return.exp: Fix typo in return double test.
* gdb.base/return.c (tmp2, tmp3): Made global to inhibit the
compiler from optimizing them away.
after the inferior gdb has started.
'cuz lynx may take a couple minutes to start the inferior gdb...
* gdb.base/a2-run.exp: Handle gdb echoing more than one cr-lf
after each command.
* gdb.base/funcargs.exp: Likewise.
* gdb.base/gdbvars.exp: Likewise.
* gdb.base/interrupt.exp: Likewise.
* gdb.base/list.exp: Likewise.
* gdb.base/watchpoint.exp: Likewise.
* gdb.c++/demangle.exp: Likewise.
* gdb.c++/inherit.exp: Likewise.
* gdb.chill/chexp.exp: Likewise.
* gdb.fortran/exprs.exp: Likewise.
Just in case we can't get a version of expect that sets the tty modes
right on lynx to avoid this problem.
started after sending a "run" command to gdb.
(text_next_with_recursion): Don't check the output from the
program's printf statement. Instead just make sure the program
exited.
* gdb.base/{sigall.c signals.c}: Define away signal() and alarm()
for sh-hms targets, allowing these tests to link, with no other
changes. Testing is suppressed by setting "nosignals" in site.exp.
targets except some specific ones that are known to not support signals.
Also clean up formatting.
* gdb.base/Makefile.in (EXECUTABLES): Remove sigall and signals.
(signals, sigall): Remove rules to build.
* gdb.base/{sigall.c, sigall.exp, signals.c, signals.exp}:
Moved to new gdb.signals directory.
* gdb.signals: New test directory.
* gdb.signals/{Makefile.in, configure.in, sigall.c, sigall.exp,
signals.c signals.exp}: New or moved files.
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).
* 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.
printing of '\'' (which is what the comment says we are testing,
even though we were not), not '''.
(test_integer_literals_rejected): Test that printing ''' is an error.
* gdb.fortran/exprs.exp, gdb.fortran/types.exp,
gdb.chill/chexp.exp, gdb.base/printcmds.exp,
gdb.c++/cplusfuncs.exp, gdb.chill/callch.exp, gdb.chill/misc.exp,
gdb.chill/pr-6292.exp, gdb.chill/string.exp, gdb.chill/tuples.exp:
Use gdb_test not test_print_accept.
* lib/gdb.exp: Remove test_print_accept.
unsigned char; the bug (PR 1821) is fixed.
* gdb.base/scope.exp: Remove xfails for PRs 1843 and 1868.
* gdb.base/scope.exp (test_at_localscopes): Call pass for
successful tests--makes xfailing them work right.