Add support for a variable object that tries to evaluate itself in
the currently selected frame, rather than in a fixed frame.
* wrapper.c,h (gdb_parse_exp_1): Added a wrapper for
gdb_parse_exp_1.
* varobj.h: Added USE_CURRENT_FRAME to varobj_type & changed def'n
of varobj_create.
* varobj.c (varobj_list): Return type indicates whether the
variable's type has changed (for current frame variables).
(varobj_update): Handle the case where the variable's type has
changed.
(delete_variable_1): Allow for deletion of variables that have not
been installed yet.
(new_root_variable): Initialize use_selected_frame variable.
(value_of_root): This is where most of the work to handle "current
frame" variables was added. Most of the complexity involves
handling the case where the type of the variable has changed.
(varobj_create): Add a "type" argument, to tell if the
variable is one of these "current frame" variables. Also protect
call to parse_exp_1 from long jumping.
* mi-var-block.exp: The error report from varobj_create changed
since I am now trapping parse_exp_1 errors. Change the tests to
match the new error message.
* mi-var-child.exp: Ditto.
* mi-var-cmd.exp: Ditto.
* lib/gdb.exp: Fix the gdbtk_start routine to correctly find all
the library directories.
* gdbtk-varobj.c (variable_create): Pass the correct
"how_specified" flag to the varobj_create routine.
* gdb.base/long_long.exp: Correct test suite failure when printing
a long long value as a double on ARM platforms.
ARM doubles use a hybrid endian format. It is not strictly little or big
endian. It is little endian with the words swapped.
* mi-disassemble.exp: Don't assume numbers for the offset
values. They can be different depending on the architecture.
* mi-watch.exp (test_watchpoint_triggering): In same cases the
type can be 'hw wathcpoint' not just 'watchpoint'. Adjust for that.
* basics.c (callee4): Make the function return something,
otherwise the return value is undefined.
* gdb/config/i386/windows.mh,
gdb/doc/GDBvn.texi, gdb/doc/remote.texi,
gdb/testsuite/gdb.base/README, gdb/testsuite/gdb.base/crossload.exp,
gdb/testsuite/gdb.base/i486-elf.u, gdb/testsuite/gdb.base/i860-elf.u,
gdb/testsuite/gdb.base/m68k-aout.u,
gdb/testsuite/gdb.base/m68k-aout2.u,
gdb/testsuite/gdb.base/m68k-elf.u, gdb/testsuite/gdb.base/mips-ecoff.u,
gdb/testsuite/gdb.base/sparc-aout.u,
gdb/testsuite/gdb.base/sparc-elf.u,
gdb/tui/Makefile,
readline/ChangeLog: These files have been removed over the course
of the last year, but weren't cvs removed from the old GDB repository
on sourceware.
* gdb.base/miscexprs.exp: Change patterns to match GDB's
actual output formatting.
* gdb.base/smoke.exp: GDB removes leading 0's.
* gdb.base/volatile.exp: Don't check type of remuneration;
that variable is no longer defined in constvars.c.
* gdb.base/step-test.c (main): Exit with explicit exit code.
* gdb.base/step-test.exp: Remove two nexti checks--they are
not portable.
* gdb.base/help.exp ("help delete display"): Fix test to match
gdb's output.
* gdb.base/long_long.c (known_types): Initialize values to zero.
* gdb.base/long_long.exp: Step one more line
so 'dec' is initialized in "get to known place". GDB doesn't
prepend unnecessary zeros to the front of numbers. Explicitly
ask for hex formatting. Use unique test case names.
* srcwin.test (click): New function that generates an event
at a location.
(srcwin-4.4): New test. Simulate a click on a line and
check for breakpoint set.
(srcwin-4.5): New test. Right-click on a line and select "Continue
to Here" from popup.
* srcwin.exp: Source srcwin3.test, which will test source window
assembly debugging on executables built without "-g".
so-thresh.linkopts, so-thresh.mk: Move to gdb.hp from gdb.base
(shortening names from solib_threshold.exp etc), won't run on
anything but HP-UX for the foreseeable future.
* gdb.hp/Makefile.in, gdb.base/Makefile.in (clean): Adjust to
reflect move.
* gdbtk.c (gdbtk_init): Create tcl warp_pointer command
for use with testing.
* gdbtk-cmds.c (gdb_loc): Fix for case where there are only
minimal symbols. Also make gdb_loc return the shared library
the location is in, if it is in one.
scope.exp, langs.exp, list.exp -- compile one file at a time, then link.
default.exp -- change expected messages for catch and info catch tests to
reflect hp merge changes.
to delete on clean.
(EXECUTABLES): update to reflect new additions.
* gdb.base/commands.exp: update message expected.
* gdb.base/default.exp: add copyright notice.
* gdb.base/funcargs.exp (timeout): if hpux, increase timeout.
* gdb.base/help.exp: update messages to reflect current text.
* gdb.base/recurse.exp: add hpppa*-*-bsd* to 'list' of enabled
targets for recurse tests.
* gdb.base/watchpoint.exp: if on hpux and not gcc compiled, then
skip this file.
* gdb.c++/classes.exp: Change all regular expressions to match
arbitrary combinations of newline/carriage-return, so that they
will work equally well on Unix and Windows.
* gdb.c++/inherit.exp: ditto.
* gdb.c++/virtfunc.exp: ditto.
* configure.in: Add options for gdbtk testsuite.
* configure: Regenerate.
* gdb.gdbtk: New directory to hold gdbtk tests.
* gdb.gdbtk/console.{exp, test}: New console window tests.
* gdb.c++/virtfunc.cc: Declare extern "C" printf to return int,
not void.
fche says he vaguely remembers a problem with returning int instead of
void, but ISO C sez printf returns int, so let's see what happens.
* gdb.base/branches.c: Code with lots of loops and
subroutines. Used to test gdbs ability to single step through PC
changes, especially to test mips-tdep.c:mips_next_pc
zap one group of persistent gdb testomat failures.
Mon Apr 13 22:32:51 1998 Frank Ch. Eigler <fche@cygnus.com>
* gdb.c++/virtfunc.cc: Make extern "C" printf declaration pass
more rigorous EGCS C++ error checking.
* gdb.base/help.exp: Clean up `help set args' and `help show args'
tests.
* gdb.base/interrupt.exp: Add "i*86-*-solaris2*" xfail for calling
function when asleep.
* gdb.base/signals.exp: Add "i*86-*-solaris2*" xfails. Add comment
for i*86 Linux and SVR4 signal handling problems.
Remove linux xfail for `next to handler in signals_tests_1', fixed
by recent infrun.c change.
Limit backtrace to 10 frames to avoid timeout problems with infinite
stack backtraces.
Adjust expect pattern in `handle all print' test to match Apr 28 1997
target.[ch] change.
* config/d10v/d10v.mt config/d30v/d30v.mt config/m32r/m32r.mt
config/mn10200/mn10200.mt config/mn10300/mn10300.mt : Remove -lm
from SIM. This prevents dependency checking of -lm (under NT
native builds). (It is automatically added by configure if it
exists.)
* doc/configure mswin/configure nlm/configure
testsuite/gdb.base/configure testsuite/gdb.c++/configure
testsuite/gdb.chill/configure testsuite/gdb.disasm/configure
testsuite/gdb.stabs/configure testsuite/gdb.threads/configure:
Regenerate with autoconf 2.12.1 to fix shell issues for NT native
builds.
define vxworks when building the testcase.
* gdb.base/ptype.exp: Fix testnames to be unique.
* gdb.base/radix.exp: Ditto.
* gdb.base/term.exp: Ditto.
* gdb.base/whatis.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
More misc fixes.
* lib/gdb.exp(gdb_expect): Set remote_suppress_flag if
suppress_flag has been set.
(gdb_step_for_stub): Check for gdb,use_breakpoint_for_stub
target feature.
(gdb_run_cmd): Look for gdb,do_reload_on_run target feature--if it
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
* gdb.base/commands.exp: Ditto.
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
* config/monitor.exp: Keep track of the last file we saw, rather
than trying to get the info from gdb.
* gdb.fortran/types.exp: Move comment to previous line.
Fixes for TCL8 miscellaneous problems, plus other changes.
(gdb_run_cmd): Look for gdb,do_reload_on_run target feature--if it
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
* gdb.base/commands.exp: Ditto.
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
* config/monitor.exp: Keep track of the last file we saw, rather
than trying to get the info from gdb.
* gdb.fortran/types.exp: Move comment to previous line.
Fixes for TCL8 miscellaneous problems.
if we can't get a debug format from GDB (we may be testing an
older GDB). Use a 10 second timeout when checking for the format.
* gdb.stabs/weird.exp: Fix quoting.
until it has been modified to work with the new testsuite.
* gdb.*/*.exp: Instead of causing 1 unresolved test when the
testcase won't compile, cause all of the testcases in the file to
fail instead.
* lib/gdb.exp(gdb_suppress_entire_file): New procedure.
(gdb_clear_suppressed): New procedure.
(gdb_stop_suppressing_tests): Only clear suppress_flag if
it contains a positive value.
(get_debug_format): New function to get debug format.
(debug_format): New global variable to hold last value set
by get_debug_format.
* gdb.base/list.exp: Call get_debug_format and expect some
tests to fail for DWARF 1 and COFF formats.
* gdb.c++/ptype.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
* gdb.c++/cplusfuncs.exp: Ditto.
* gdb.c++/inherit.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
host doesn't have a currently-open connection.
* config/sparclet.exp: Cleanups and fixes to make it generic for
any gdb stub target. Handle cases where gdb doesn't respond when
interrupted in a sane fashion.
* config/m32r.exp: Load sparclet.exp instead of trying to do the
same thing in a totally different way.
* config/monitor.exp: Pass in timeouts to gdb_expect instead of
setting "timeout".
(gdb_start): We set the global gdb_prompt variable in
default_gdb_init now.
initialize.
(default_gdb_init): New procedure; allow gdb_init to be overridden
by a target configuration file.
(gdb_expect): Pass the timeout to remote_expect.
* config/dos.exp(dos_wait): Add timeout parameter.
* lib/remote.exp(remote_expect): Add timeout parameter.
(remote_wait): Ditto.
(standard_wait): Ditto. Also give up if the program outputs
more than 512,000 bytes.
* config/vxworks.exp: Use timeout parameter instead of setting
timeout variable.
* config/dos.exp: Ditto.
* config/ddb.exp: Ditto.
* lib/mondfe.exp: Ditto.
* lib/rlogin.exp: Ditto.
* lib/telnet.exp: Ditto.
* config/base68k.exp: Ditto.
* config/i386-bozo.exp: Ditto.
* config/gdb-comm.exp: Ditto.
* config/gdb_stub.exp: Ditto.
* config/i960.exp: Ditto.
* config/ddb-ether.exp: Ditto.
* config/sim.exp: Ditto.
* lib/g++.exp(g++_init): Use g++_include_flags instead of making
up the includes ourselves.
here. Call gdb_target_exec before rebooting the target, to make
sure the connection to the target is closed.
(gdb_load): Pass the name of the executable to gdb_target_monitor.
Don't call gdb_file_cmd here; let gdb_target_monitor do it.
* config/gdbserver.exp: Pass the executable being loaded to
gdb_target_monitor. Don't call gdb_file_cmd here; let
gdb_target_monitor do it.
* gdb.disasm/hppa.exp: Don't use exec_output.
test_calls after restarting.
* lib/gdb.exp(gdb_run_cmd): Send jump command again after
reloading.
* gdb.base/watchpoint.exp: Fix typo.
* gdb.base/setshow.exp: Check for use_gdb_stub.
* gdb.base/break.exp: Fix continue until exit test for the gdb
stub case.
* gdb.base/langs.exp: Ditto.
* config/monitor.exp(gdb_load): Handle gdb_sect_offset and
gdb_load_offset. If we weren't given a file to load, figure out
what the current file is and use it.
does not require a command line arg, since most simulators
don't currently support passing such an arg into the simulated
program.
* gdb.base/commands.exp: Change tests to insert the proper
value as the arg to the first recursive factorial call. Change
compilation line to define FAKEARGV at compile time.