those tests as `unsupported'.
* gdb.base/structs.exp (call_struct_func): New function.
(do_function_calls): Use call_struct_func to call the functions
returning structs.
From 2001-11-12 Jackie Smith Cashion <jsmith@redhat.com>:
* gdb.base/callfuncs.c (t_structs_a): Do not return a pointer
to a local (non-static) variable. Copy tstruct.a to a static buffer
and return a pointer to that buffer.
* gdb.base/callfwmall.c (t_structs_a): Ditto.
* gdb.base/code-exprs.exp: New file. Tests use of the "@code"
qualifier in a type cast expression, to designate an address
in the instruction space (Harvard architecture).
* gdb.base/callfuncs.c (t_float_values): This function must
_not_ be prototyped, and the following function (t_float_values2)
must be prototyped (if the compiler supports it), so that GDB
can be tested against both cases. Usually one case involves
promotion of float to double, while the other does not.
* gdb.base/callfwmall.c: Ditto.
symbol `STORAGE' to allow to choose the storage class of
the local datastructures.
* gdb.base/miscexprs.exp: Handle setting a `-DSTORAGE=...'
compiler directive.
with new double_array size.
(main): Change storage class of all local variables to static.
Reduce size of double_array to 9.
* gdb.base/call-ar-st.exp: Increase timeout value.
Change expected output for double array to match new size in
call-ar-st.c.
* lib/gdb.exp (test_debug_format): New proc.
(setup_xfail_format): Use new proc test_debug_format.
* gdb.base/constvars.exp (local_compiler_xfail_check): New
proc; use new service proc test_debug_format.
Replace all other "gcc_compiled" tests with this test.
* gdb.base/volatile.exp (local_compiler_xfail_check): New
proc; use new service proc test_debug_format.
Replace all other "gcc_compiled" tests with this test.
and defined to 1K for m68hc11.
(random_data): Reduce table to 1K for embedded platforms (68hc11).
* gdb.base/remote.exp (get_sizeof): New function from sizeof.exp.
(sizeof_random_data): New variable to tell the size of the data table;
don't test past this size; always run to main.
* gdb.base/exprs.exp ("print unsigned short == (~0)"): Don't
assume that shorts are smaller than ints. On a 16-bit machine,
this isn't true.
("print unsigned char == (~0)"): Add test that verifies that ~0,
an int, is not equal to ~0 stored in an unsigned char. This tests
the same thing that the previous test meant to, but works on
16-bit machines, too.
("print unsigned char != (~0)"): Same test, complemented.
* gdb.base/callfuncs.exp: Make all test names unique.
* gdb.base/commands.exp: Make all test names unique.
* gdb.base/condbreak.exp: Make all test names unique.
* gdb.base/dbx.exp: Make all test names unique.
* gdb.base/default.exp: Make all test names unique.
* gdb.base/define.exp: Make all test names unique. Conform some FAIL
and TIMEOUT messages to their corresponding PASS message.
* gdb.base/ending-run.exp: Make all test names unique.
* gdb.base/long_long.exp: Remove duplicate test.
file -- to prevent failing when the compile fails but we have no
intention of running the tests anyway.
* gdb.base/long_long.exp: Test target_info for no_long_long, skip
tests if set.
* gdb.base/maint.exp: Support 2 byte integers as well as 4 byte
integers.
* gdb.c++/ctti.exp: Skip tests if skip_cplus_tests returns true.
* gdb.c++/namespace.exp: Ditto.
Fix PR gdb/16.
* gdb.base/commands.exp (infrun_breakpoint_command_test):
Converted HPUX fix for non-expected items following multiple
step commands into general solution for all platforms.
* gdb.base/break.exp (test_clear_command): Use a marker function
rather than 'main' for the test function. Also move this
test to an execution point where the marker function names are
guaranteed to be bound to functions. (Executing tests after a
'finish' from main runs into name conflicts with local names
in __libc_start_main).
* gdb.base/finish.exp: New test for gdb's "finish" command.
* gdb.base/return2.exp: New test for gdb's "return" command.
* gdb.base/return2.c: New source file for above.
* mips_pro.exp: Accept either "middle -> top -> main" or
"middle -> main" in the backtrace, because gcc can optimize
tail calls to jumps. Remove setup_xfail for the hppa case.
Add a comment with the original warning messages from PR 3016,
which was filed in 1993, to preserve them for posterity.
* gdb.base/a2-run.exp: Use gdb_skip_stdio_test.
* gdb.base/corefile.exp: Expect the message "Program is being
debugged already" when we send the "corefile" command, since
the preceeding gdb_load may have connected gdb to a remote target.
* gdb.base/display.exp: Disable hardware watchpoints if new
board info variable "no_hardware_watchpoints" is true.
Replace single-letter commands with more readable ones.
* gdb.base/recurse.exp (recurse_tests): Disable hardware watchpoints
if new board info variable "no_hardware_watchpoints" is true.
* gdb.base/restore.exp (restore_tests): Call gdb_skip_stdio_tests
to see if stdio (printf) testing is possible.
* gdb.base/watchpoint.exp: Disable hardware watchpoints if new
board info variable "no_hardware_watchpoints" is true. Use new
proc "gdb_skip_stdio_tests" to see if printf tests are possible.
t_double_values to initialize the FPU before inferior calls are made.
* gdb.base/callfuncs.exp: Test for register preservation after calling
inferior functions. Add tests for continuining, finishing and
returning from a stop in a call dummy.
* lib/gdb.exp (gdb_skip_float_test): New proc. Skip test if
no floating point support.
(gdb_skip_stdio_test): New proc. Skip test if no stdio support.
* gdb.base/call-ar-st.exp: Use above procs to skip tests.
* gdb.base/call-rt-st.exp: Ditto.
* gdb.base/call-strs.exp: Ditto.
* gdb.base/sizeof.exp (check_sizeof): Skip if no printf support.
* gdb.base/varargs.exp: Skip entire test if no printf support.
* gdb.base/ending-run.exp (Step to return): Skip if no printf supt.
* gdb.base/shlib-call.exp: Skip several tests if no printf support.
* gdb.base/recurse.exp: Run tests for all targets.
* gdb.base/so-impl-ld.exp: Added wildcard to handle the
gnu-oldld case on ARM.
* gdb.base/watchpoint.exp (test_stepping): Clear xfail
for ARM targets.
* gdb.base/annota1.exp (run until main breakpoint): Loosen up
the regular expression: accept an (almost) arbitrary sequence of
"frames-invalid" and "breakpoints-invalid" messages both before
and after the "starting" message.
* gdb.base/break.exp (bp on small function, optimized file):
Add a second pass pattern. The behavior differs here between stabs
and dwarf for one-line functions. Stabs preserves two line symbols
(one before the prologue and one after) with the same line number,
but dwarf regards these as duplicates and discards one of them.
Therefore the address after the prologue (where the breakpoint is)
has no exactly matching line symbol, and GDB reports the breakpoint
as if it were in the middle of a line rather than at the beginning.
* gdb.base/call-ar-st.exp: Bail out if target is sparclet.
This test depends on parsing the printf output from the target.
Since the sparclet stub doesn't do stdio, this will never work.
* gdb.base/call-rt-st.exp: ditto.
* gdb.base/call-strs: ditto.
* gdb.base/miscexprs.exp: make sizeof long array test portable.
* gdb.base/ending-run.exp: After connecting to a remote target,
but before running, the target will appear to be in a random
location. Specify both a file and a line for breakpoints.
Also, the function that calls main may be called 'init'
rather than 'start'.
values that can be represented exactly.
* gdb.base/call-ar-st.exp (print print_small_structs): Fixed to match
above change, and to not check against the directory part of the source
file name.
(step into print_long_arg_list): Likewise.
(print print_small_structs from print_long_arg_list): Likewise.
(print print_long_arg_list): Likewise.
* eval.c (evaluate_subexp_with_coercion): Add call to
check_typedef, to handle typedeffed vars correctly.
* gdb.base/printcmds.c: Add typedeffed arrays.
* gdb.base/printcmds.exp (test_print_typedef_arrays): New
procedure to test arrays that are typedef'd.
* 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.
* 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.
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.
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.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
* 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.
(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.
(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.
* gdb.base/help.exp: update help msg for INFO ADDR; add help test
for INFO SYMBOL; add help tests for OVERLAY commands.
* gdb.base/default.exp: add tests for INFO SYMBOL command;
add tests for OVERLAY commands
* gdb.base/overlays.c overlays.exp foo.c bar.c baz.c grbx.c ovlymgr.h
d10v.ld m32r.ld d10vovly.c m32rovly.c: add test case for overlays.
* gdb.base/sigall.c: add usestubs code frag
* gdb.base/watchpoint.c: turn on complex watchpoint test for M32R.
or netport.
* lib/gdb.exp: Set GDB to [transform gdb] if we're using a remote host
and it's not already set.
* gdb.base/setshow.exp: Only test the run command if the target
isn't using a stub and if it supports argument passing.
* gdb.base/ptype.exp: Don't call "gdb_exit; gdb_start" if we're
aborting; the testsuite driver will do that for us (see
gdb_finish). Also, use gdb_test in a few more places.
exit status and/or results from the target.
* gdb.base/watchpoint.exp, gdb.base/langs.exp: Likewise.
* lib/gdb.exp: Remove old (now bogus) initialization of
noinferior, noargs, noresults and nosignals.
More cleanups for new testing framework.
* config/slite.exp: Try to connect multiple times to the board
before rebooting. Only send a "monitor run" if need_monitor_run
is set.
* gdb.base/break.exp: Don't do the "stub continue" test if
the target has gdb_stub set.
* gdb.base/callfuncs.exp: Increase the timeout.
* gdb.base/interrupt.exp: Don't even try to compile the testcase
if the target has gdb,noinferiorio set.
* gdb.base/list.exp: Increase match_max to 10000 characters.
* gdb.base/sigall.exp: Check for gdb,nosignals on the target.
* gdb.base/watchpoint.exp: Check for gdb,noinferiorio on the
target.
* lib/gdb.exp(gdb_run_cmd): Fix for targets that use stubs.
Misc fixes for sparclite and SH.
trying to delete the copy of gdb. Catch the file delete so we
don't die if the delete fails; also, the file should be copied to
the host, not to the build.
Fixes problems when gdb isn't built with debugging.
parenthesis in case it contains multiple regexps separated
with |.
Fixes last nights native failures.
* gdb.base/watchpoint.exp: Use gdb_test.
* gdb.base/default.exp: Ditto.
More improvements.
* gdb.base/signals.exp: Check for a gdb,nosignals feature of
the target.
* gdb.base/watchpoint.exp: Fix regexp.
Random miscellaneous fixes. Gotta dig up all these global variables someday..
use new i*86-pc-linux*-gnu quads.
* gdb.base/corefile.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* gdb.base/sigall.exp: Ditto.
* gdb.base/interrupt.exp: Ditto.
* gdb.base/signals.exp (signal_tests_1): Remove setup_xfail
"i*86-*-linux" for "signal SIGUSR1". Now works, at least with
RedHat 4.0.
* gdb.threads/pthreads.c (_MIT_POSIX_THREADS): Define if target is
linux. This allows the test case to at least compile on latest
linux, but still not run due to missing the threads runtime library.
directory to search gdb directory. Accept and step over conditional
stack alignment code. Consume $prompt in failure cases.
Reset timeout to $oldtimeout instead of some arbitrary value.
* gdb.base/nodebug.exp: Limit backtrace to 10 frames to avoid
timeout problems with infinite stack backtraces.
* gdb.base/ptype.exp (ptype struct link, union tu_link):
Accept function parameters for linkfunc member.
* gdb.base/setshow.c: New file, tests show and set.
* gdb.base/help.exp: Add test for help set|show annotate.
* gdb.base/default.exp: Add test for set|show annotate.
PR 8511
errors unique.
* testsuite/gdb.base/nodebug.exp: Whack out all -g options
explicitly.
* v850-tdep.c (v850_init_extra_frame_info v850_frame_chain): Fix
sign bugs with scanning prologues. Get a little smarter about
calculating the length of uninteresting instructions.
"p func1 ()" and note that rests of tests are skipped.
* gdb.base/corefile.exp: Add i*86-*-linux* and m68*-*-hpux*
setup_xfails for "print func2::coremaker_local".
Add i*86-*-linux* setup_xfail for "backtrace in corefile.exp".
* gdb.base/mips_pro.exp: Restart gdb in this test so it isn't
affected by the previous run test.
* gdb.chill/misc.exp: Add m68*-*-hpux* setup_xfails for
"print array () ubyte (foo)" and "print/x array () byte (\$i)"
* gdb.chill/pr-8742.exp: Add m68*-*-hpux* setup_xfails for
"pass int powerset tuple" and "pass modeless int powerset tuple".
* gdb.chill/tests2.exp: Add m68*-*-hpux* setup xfails for
"real write 4" and "real write 8".
* gdb.shill/tuples.exp: Add i*86-*-linux* and m68*-*-hpux*
setup_xfails for "print vs1 after tuple assign 2",
"print \$i after tuple assign 2", and
"print vs2 after tuple assign 2".
* lib/gdb.exp (gdb_test): When a gdb aborts, print a more
meaningful error message and return -1 so the caller can
suppress further tests and avoid a cascade of errors.
format for printing version.
* gdb.base/default.exp: Ditto.
* gdb.base/interrupt.exp: Fix problem with cascade of
errors if child process dies while calling a function.
encapsulate all the steps/nexts done during self test, starting
at main, and makes them less sensitive to optimization issues.
Add "hppa*-*-hpux*" to setup_xfail for "backtrace through
signal handler" test.
* gdb.threads/pthreads.exp: Only run this for native configs.
* gdb.base/signals.exp (test_handle_all_print): Remove code that
increased timeouts, it now makes no difference.
* gdb.base/structs.exp (do_function_calls): Add hppa*-*-hpux9*"
setup_xfails for "p fun5()", "p fun6()", "p fun7()", and "p fun8"
tests.
gdb.c++/virtfunc.exp (do_tests): Add "mips-*-irix5*" setup_xfail
for "runto test_calls(void)" test.
structures.
* gdb.base/structs.c: C source for test.
Sanitized away until we've got a valid copyright assignment from
Michael Snyder.
Only tested on the PA. I assume other ports will needs some xfails
and other possible testsuite tweakage.
each signal's status in the output of "handle all print".
* lib/gdb.exp (gdb_test): Document that the pattern must NOT include
the \r\n sequence that immediately precedes the gdb prompt.
* gdb.base/a1-selftest.exp: Save original timeout and restore
after test.
attempting to regenerate it. Eliminate use of a temporary file
and just generate the info file directly. Source it immediately,
for consistency of use.
* gdb.base/corefile.exp: Ditto
* gdb.base/exprs.exp: Ditto.
* gdb.base/funcargs.exp: Ditto.
* gdb.base/langs.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/mips_pro.exp: Ditto.
* gdb.base/nodebug.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/ptype.exp: Ditto.
* gdb.base/scope.exp: Ditto.
* gdb.base/setvar.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* gdb.base/whatis.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
* gdb.c++/virtfunc.exp: Use contents of gcc_compiled to decide
whether or not to add -lstdc++ to the compile command line args.
we always regenerate the coremaker program. Detect special case
where registers cannot be read from core file. Change setup_xfail
for "print func2:coremaker_local" and "backtrace in corefile.exp"
to fail for all i*86 targets.
breakpoints (y or n) ". Add "mips-dec-ultrix*" to
setup_xfail for deleting all breakpoints test. Fix various
timeout messages to include "(timeout)".
* gdb.base/callfuncs.exp: Add "i*86-*-sysv4*" to setup_xfail
for "p t_float_values2(3.14159,float_val2)".
* gdb.base/funcargs.exp: Remove "mips-sgi-irix4*" setup_xfail
for "continue to call2g" when gcc compiled.
* gdb.base/langs.exp: Remove "i*86-*-sysv4*" setup_xfail for
"up to foo in langs.exp", "show language at foo 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/list.exp: Remove "*-*-sysv4*" setup_xfail for
"list line 1 in include file", "list message for lines past EOF",
"list function in include file", "list list0.h:foo", and
"list filename:function; nonexistant function".
* gdb.base/ptype.exp: Change "i*86-*-sysv4*" setup_xfail for
"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)"
and "ptype t_char_array" to be for native cc only.
to "alpha-*-osf2*" and add comment.
* gdb.base/a1-selftest.exp (test_with_self): Remove "alpha-dec-osf2*"
setup_xfail for "step over execarg initialization" and
"step over corearg initialization".
* gdb.base/callfuncs.exp (do_function_calls): Restore setup_xfail
for "hppa*-*-*", "sparc-*-*", "mips*-*-*", and "alpha-dec-osf2*".
* gdb.base/corefile.exp: Add "alpha-dec-osf2*" setup_xfail when not
gcc compiled for "print coremaker_bss", "print coremaker_ro",
"print func2::coremaker_local", and "backtrace in corefile.exp".
* gdb.base/signals.exp: Build and source signals.ci.
(test_handle_all_print): Add setup_xfail for "alpha-dec-osf2*".
Change "alpha-dec-osf2*" setup_xfail for "bt in signals.exp"
to be for gcc only.
* lib/gdb.exp: Move verbose statements outside conditionals.
if $noresults if nonzero.
* gdb.base/langs.exp: Likewise.
* gdb.base/watchpoint.exp: Likewise.
For proelf targets were we can't even tell if a process exits.
* gdb.base/corefile.exp: Allow "Core was generated by ..."
messages to not include the full program name that caused
the core dump since some systems (such as solaris) apparently
truncate this path to about 80 characters.
When generating a core file first try increasing the core file
size limit to unlimited since some systems may default it to
zero, and it is harmless to try it. Move the test for failing
to generate a core file to where it will actually get executed.
* gdb.c++/templates.exp (test_ptype_of_templates): Accept
new gdb result from g++ debug info improvements and make old
pattern obsolescent. Also account for size_t differences
(may be int or long).
* gdb.base/a1-selftest.exp (test_with_self): Check for case where
initialization before function call is placed in the delay slot
and thus appears to be skipped over by commands such as "next".