"backtrace through signal handler" to "i*86-*-sysv4*".
* gdb.base/signals.exp: Add xfail for "'next' behaved as
continue" case. Add "known SVR4 bug" to fail message.
Add "i*86-*-bsdi2.0" xfail for "handle all print".
Add "i*86-*-bsdi2.0" xfail for "backtrace in signals_tests_1".
* gdb.base/ptype.exp: Add "i*86-*-sysv4*" xfail for
"whatis unnamed typedef'd enum..." and "ptype t_char_array".
* gdb.base/langs.exp: Add "i*86-*-sysv4*" xfail for
"up to foo in langs.exp", "show language at foo in
langs.exp", "up to cppsub_ in langs.exp", "show
language at cppsub_ in langs.exp", "up to fsub in
langs.exp", and "show language at fsub in langs.exp".
* gdb.base/corefile.exp: Add "i*86-*-sysv4*" to xfail for
"bactrace in corefile.exp".
* gdb.base/callfuncs.exp: Change xfail to "i*86-*-*" for
"call inferior function with struct - returns float" and
"call inferior function with struct - returns double".
* gdb.disasm/sh3.exp: Run the sh3 disassembler tests.
* gdb.disasm/configure.in (sh-*-*): Use sh3.mt makefile fragment.
* gdb.disasm/sh3.mt: Makefile fragment for sh3 ests.
sh3e disassembler tests. Sanitized out for now.
corefile.exp from linuxaout to all linux.
* gdb.base/sigall.exp (test_one_sig): Specifically deal with
cases where we miss the breakpoint at the signal handler
for some reason. Setup xfail for linuxoldld/linuxaout and
getting SIGIO. Setup xfail for linuxoldld/linuxaout for
hitting SIGURG breakpoint.
* gdb.base/signals.exp: Setup xfail for "next" acting like
continue to add linuxoldld. Setup xfail for all linux for
"next to handler in signals_tests_1", "backtrace in
signals_tests_1", "continue to func1", "pass SIGUSR1",
and continue to handler".
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.
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.
-DNO_PROTOTYPES.
* gdb.base/callfuncs.c: Control use of prototypes based on
NO_PROTOTYPES, not __STDC.
* gdb.base/callfuncs.exp (do_function_calls): xfail one of the
t_float_values2 tests if prototypes in use.
* gdb.base/callfuncs.c (t_float_values, t_float_values2,
t_double_values): When checking differences against DELTA, check
that difference is within the range (-DELTA,DELTA), not just
(-infinity,DELTA).
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.
2.
* gdb.base/list1.c (long_line): Add additional statement at start
of function.
* gdb.base/list.exp (test_forward_search): Update line number to
reflect new statement.
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.
configuration didn't use the ".if alpha" code in weird.def.
* gdb.stabs/weird.def (v_comb): Use type attribute to specify 32
bit pointer, so the 32 bit version works even on the alpha.
* gdb.stabs/{alpha.mt,ecoff.mt,aout.sed,hppa.sed,xcoff.sed,weird.def}:
Remove the stuff which allowed us to have separate versions for
alpha and everything else.
regexp which "info func operator\[\](" is supposed to match. Fix
string to send to GDB. Note that GDB still doesn't work right. Add a
new test for "info func .perator\[\](" which GDB does handle correctly.
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.
* gdb.c++/templ-info.cc: New file to test for template
debugging capability of the compiler.
* gdb.c++/Makefile.in: Add rule to build templ-info.exp from
templ-info.cc.
* gdb.c++/templates.cc: Add explicit template instantiations
to enable compiling with -fno-implicit-templates. Add destructor
and 'value' method to T5 class for template tests.
* gdb.c++/templates.exp: Add testcases for printing of template
types, setting breakpoints on template methods and calling a
template method.
* config/mt-netware: New file.
* config/mt-i386-netware: Removed, separate configs for different
netware architectures are no longer needed now that we have
--with-headers.
breakpoints.
* gdb.base/bitfields.exp: restart between tests on netware targets
because breakpoints aren't relocated after target death. Run
processes to completion.
* gdb.base/{opaque,watchpoint}.exp: Use gdb_run_cmd.
from optimizing them away.
* gdb.c++/classes.exp, gdb.c++/inherit.exp: Update ptype expect
patterns to include default constructors and assignment operators,
to match gcc versions beyond 2.5.8.
included file to run under newer versions of expect.
* gdb.c++/demangle.exp: Add spaces to the expect patterns between
consecutive >'s in templates to accomodate recent cplus-dem.c change.
Remove xfail for the virtual table of BDDHookV.
* 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.
directory. (E.g. add extra ../ where needed.)
Also, add .exe to executables, so we can use suffix rules.
* chexp.exp (test_print_reject): Update syntax error message.
* chillvars.ch (module PR_5020): Moved from here ...
* pr-5022.ch: ... to this new file.
* chillvars.exp, pr-5020.exp (binfile): Add .exe extension.
* chillvars.exp, pr-5020.exp: Don't check all_flag.
* pr-5020.exp: Add more tests; fix "print y pretty" output.
(which was basically just a local version of the same thing). In
addition to avoiding duplication, gdb_test_exact is faster.
* lib/gdb.exp (gdb_test_exact): Fix typo.
Reorganization of the GDB Test Suite.
* gdb.base: New directory, contains all the basic tests.
* gdb.c++: New directory, tests specific to C++.
* gdb.chill: New directory, tests specific to Chill.
* gdb.t00, gdb.t01, gdb.t02, gdb.t03, gdb.t04, gdb.t05, gdb.t06,
gdb.t07, gdb.t08, gdb.t09, gdb.t10, gdb.t11, gdb.t12, gdb.t13,
gdb.t15, gdb.t16, gdb.t17, gdb.t20, gdb.t21, gdb.t22, gdb.t23,
gdb.t24, gdb.t30, gdb.t31: Removed directories, contents moved
into appropriate new directories (t00-t17 to base, t20-t23 to c++,
t30-31 to chill).
* */gdbme.*: Rename to match appropriate expect scripts.
* gdb.base/bitfields.c, gdb.base/break.c, gdb.base/callfuncs.c,
gdb.base/coremaker.c, gdb.base/exprs.c, gdb.base/funcargs.c,
gdb.base/interrupt.c, gdb.base/list0.c, gdb.base/list0.h,
gdb.base/list1.c, gdb.base/mips_pro.c, gdb.base/nodebug.c,
gdb.base/opaque-info.c, gdb.base/opaque0.c, gdb.base/opaque1.c,
gdb.base/printcmds.c, gdb.base/ptype.c, gdb.base/recurse.c,
gdb.base/return.c, gdb.base/run.c, gdb.base/scope0.c,
gdb.base/scope1.c, gdb.base/setvar.c, gdb.base/signals.c,
gdb.base/types.c, gdb.base/twice.c, gdb.base/watchpoint.c,
gdb.base/whatis-info.c, gdb.base/whatis.c: New names of C files.
* gdb.c++/cplusfuncs.cc, gdb.c++/templates.cc, gdb.c++/misc.cc,
gdb.c++/virtfunc.cc: New names of C++ files.
* gdb.chill/chillvars.ch: New name of Chill file.
* gdb.base/configure.in, gdb.c++/configure.in,
gdb.chill/configure.in: Merge in contents of gdb.t*/configure.in.
* gdb.base/Makefile.in, gdb.c++/Makefile.in,
gdb.chill/Makefile.in: Merge in contents of gdb.t*/Makefile.in.
* configure.in (configdirs): Update to reflect directory changes.
(target_abbrev): No longer define for any configuration.
* Makefile.in: Cosmetic improvements to header comments.
* gdb.t00/teststrategy.exp: Reorder so that AIX gdb can print the
version also, match on casted version strings, and match on
gdb startup case where the line numbers might be messed up.
unless keep-chill was specified on the command line.
* Makefile.in: Add comment lines to Sanitize out CHILL
references unless keep-chill was specified.